Skip to content

[FEATURE] Add support for Python 3.14 #36

@osinjoku

Description

@osinjoku

Goal

Add official support for Python 3.14 in the Autodesk/moldflow-api project. This issue tracks what needs to be changed in the codebase, CI, and documentation to ensure tests and packaging succeed on Python 3.14.

Background

Current status: the project lists support for multiple Python 3.x versions in CI and packaging, but Python 3.14 introduces language and stdlib changes which may cause runtime or test failures. Upgrading the project support requires changes in CI matrix, dependency constraints, and possibly code fixes for deprecations or behavioral changes.

Scope

  • Update CI (GitHub Actions) test matrix to include 3.14.
  • Run the full test suite against CPython 3.14 and fix failures.
  • Update pyproject.toml / packaging metadata and setup.cfg if explicit Python requires need bumping.
  • Run linting and static checks under 3.14 and address any issues.
  • Validate wheel build and verify installation on 3.14.

Note: This issue focuses on CPython 3.14 support; supporting alternative interpreters (PyPy, Jython) is out of scope unless CI already covers them.

Checklist

  • Add 3.14 to GitHub Actions test matrix (or workflow that runs tests).
  • Run tests locally and in CI on 3.14, capture failures.
  • Fix failing tests and code incompatibilities (list root causes in PR).
  • Update package metadata (pyproject.toml, setup.cfg) if python_requires needs change.
  • Build a wheel and sdist under 3.14 and verify installation in a clean virtualenv.
  • Update README.md or support matrix to mention Python 3.14.
  • Create PR with changes, link back to this issue.

Acceptance criteria

  • All tests pass on Python 3.14 in CI.
  • A build (wheel and sdist) completes without errors on 3.14.
  • Package metadata advertises Python 3.14 support where appropriate.
  • PR includes notes about code changes and test results.

Investigation notes / likely problem areas

  • Check requirements.txt and pyproject.toml for pinned dependencies that don't support 3.14.
  • Look for uses of deprecated stdlib APIs or changed behaviors (e.g., typing changes, async/await behavior, stdlib function signature changes).
  • If tests use unittest.mock or runtime introspection, confirm no changes in object representations break assertions.

Suggested PR template content

PR title: "Add Python 3.14 support"

PR body should include:

  • Summary of changes
  • CI matrix update
  • Test results summary (local + CI)
  • Any dependency upgrades with rationale and compatibility notes
  • Migration notes if any runtime behavior changed

Labels

Recommend: enhancement, python-compat, ci


If you'd like I can submit a draft PR that updates the CI matrix to include 3.14 and run the tests in CI to find failures—tell me if you'd prefer I open that PR or just update this issue text.

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions