siemens / siemens/standard-bom-python

Add Python 3.15 to the supported versions (target 2026-10-15)

Open
#159 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement github_actions
Dominant language
Python
Stars
12
Forks
1
Avg merge
3d 5h
Merged PRs (30d)
4

Description

Python 3.15 is not generally available yet. Per PEP 790: rc1 shipped 2026-08-04, rc2 is expected 2026-09-01, and 3.15.0 final is expected 2026-10-01.

Target: 2026-10-15 (final + 2 weeks).

Current state
  • requires-python already permits 3.15, so the package installs on it today. Only the advertised support matrix is missing.
  • All runtime dependencies are pure-Python with no upper bound below 3.15: cyclonedx-python-lib >=3.9,<4.0, py-serializable >=3.8,<4.0, license-expression >=3.9, packageurl-python >=3.8, plus unconstrained sortedcontainers and boolean.py.
  • Compiled dev tooling is ready: coverage 7.15.4 publishes 30 cp315 wheels and mypy 2.3.1 publishes 13, so no source builds are needed.
  • GitHub runners already offer 3.15.0-rc.1, but it is flagged stable = false, so it only resolves with allow-prereleases until GA.

A pre-GA canary job was considered and deliberately rejected: it needs an allow-prereleases passthrough in the composite action plus continue-on-error matrix plumbing, which is not worth the CI complexity for a six-week window.

To do once 3.15.0 final ships
  • Add the Programming Language :: Python :: 3.15 classifier in pyproject.toml
  • Add "3.15" to env_list in tox.toml
  • Add 3.15 to the build and tests matrices in .github/workflows/build-and-test.yml
  • Decide whether the lint job and the coverage-badge artifact move from 3.14 to 3.15
  • Verify locally with a real 3.15 interpreter via poetry run tox run
  • Release as a minor version bump, since adding a supported runtime is a feature
Notes
  • tox.toml sets skip_missing_interpreters = False, so adding 3.15 to env_list will make poetry run tox run fail for any contributor who has not installed 3.15. Call that out in the release notes.
  • #158 edits the same classifier block, env_list line, and CI matrices. That PR should land first to avoid conflicts.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

After Python 3.15 final is available, inspect the classifier and env_list in pyproject.toml and tox.toml, then the build and tests matrices in .github/workflows/build-and-test.yml. Check #158 first because it touches the same locations, and run poetry run tox run with a real 3.15 interpreter. Done means the support metadata and CI coverage are updated, the lint and coverage-badge choice is settled, and release notes cover the interpreter requirement.

Written by the indexing model from the issue text.

Assessment

Tech stack
github-actions, python
Domain
build-system, ci-cd, release
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
68/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.