finos / finos/rune-python-generator

Upgrade minimum Python version to 3.12

Open
#283 1 comment 0 reactions 0 assignees View on GitHub
enhancement
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.