finos / finos/rune-python-generator
Upgrade minimum Python version to 3.12
- Dominant language
- Java
- Stars
- 1
- Forks
- 6
- Avg merge
- 3d 1h
- Merged PRs (30d)
- 13
Description
## Feature Request
### Description of Problem
The generator should target a well-supported, widely-adopted Python baseline, so that generated code can rely on language features and library compatibility that are standard in current Python deployments without carrying the maintenance cost of supporting an end-of-life version.
Python 3.11 was released in October 2022 and is now in security-fixes-only status. It is no longer the active supported release, and its presence as the declared minimum creates friction for consumers who have already moved to newer runtimes.
### Potential Solutions
Raise the minimum supported Python version from 3.11 to 3.12 across the generator and its CI pipeline. Python 3.12 (released October 2023) is widely adopted, well past the adoption curve, and continues to receive security support. This affects:
- The `requires-python` constraint emitted in generated `pyproject.toml` files (`PythonCodeGeneratorUtil.java`).
- The minimum version check in `run_python_unit_tests.sh`.
- The `python-version` in GitHub Actions workflows (`build-and-test.yml`, `release.yml`).
**Drawback**: consumers still running Python 3.11 would need to upgrade their runtime before using generator output that declares `requires-python = ">= 3.12"`.
**Alternative considered**: raise to 3.13 (the current active release). This is more forward-looking but increases the risk of breaking consumers who have not yet moved past 3.12. 3.12 is the safer choice for a financial industry tool where runtime environments tend to lag the latest release.
Contributor guide
Research direction
Start with PythonCodeGeneratorUtil.java, run_python_unit_tests.sh, and the build-and-test.yml and release.yml workflows to locate each Python 3.11 minimum. Update the generator constraint, script check, and workflow versions consistently to 3.12, then run the Python unit tests and confirm the generated pyproject.toml declares requires-python >= 3.12.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- github-actions, java, python, shell
- Domain
- build-system, ci-cd, tooling
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Clearly specified
- Newbie friendliness
- 75/100