Skip to content

Supported Python Versions

Casper van Elteren edited this page Jan 22, 2025 · 2 revisions

Python Version Support Policy

Overview

To maintain code quality and prevent technical debt, we follow a proactive approach in supporting Python versions. Our policy is designed to balance stability with modern development practices.

Support Policy

We maintain support for the major Python versions that are not end of life yet.

Current Supported Status

Please see pyproject.toml

Rationale

  • Prevents code bloat from maintaining compatibility with older versions
  • Ensures access to modern Python features and optimizations
  • Reduces technical debt and maintenance overhead
  • Aligns with security best practices

Version Transition

  • New version support is added when it reaches stable release
  • Oldest supported version is dropped when adding support for a new version
  • Deprecation notices are provided 6 months before dropping support

Implementation

# pyproject.toml example
# ...
classifiers = [
    "License :: OSI Approved :: MIT License",
    "Operating System :: OS Independent",
    "Intended Audience :: Science/Research",
    "Programming Language :: Python :: 3 :: Only",
    "Programming Language :: Python :: 3.9",
    "Programming Language :: Python :: 3.10",
    "Programming Language :: Python :: 3.11",
    "Programming Language :: Python :: 3.12",
]

# environment-dev.yml
dependencies:
  - python >=3.9, <3.13

Migration Guidelines

  1. Keep dependencies updated
  2. Monitor