finos / finos/rune-python-generator

NFR: Developer Friendly FQN Type Hints (Dots vs. Underscores)

Open
#146 0 comments 0 reactions 2 assignees Claimed by @plamen-neykov View on GitHub
enhancement
Dominant language
Java
Stars
1
Forks
6
Avg merge
3d 1h
Merged PRs (30d)
13

Description

## Feature Request

### Problem Description:
The current generator uses "bundle-mangled" names with underscores (e.g., `cdm_base_datetime_AdjustableDate`) in function and constructor signatures to avoid collisions. This makes the generated Python API feel non-standard compared to Rosetta.

### Steps to Reproduce:
Example Rune code: Standard Rosetta type definition.
```rosetta
namespace cdm.base.datetime

type AdjustableDate:
unadjustedDate date (1..1)
```

1. Generate code for a function taking a complex Rosetta type.
2. Inspect the generated Python function signature.

**Test Case:**
* Observation: Check generated `_bundle.py` for underscore-separated class names vs dotted FQNs.

### Expected Result:
Type hints should use fully qualified, period-delimited names (as strings) that match the Rosetta namespaces: `val: "cdm.base.datetime.AdjustableDate"`.

### Actual Result:
Function signature uses `val: cdm_base_datetime_AdjustableDate`.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.