Skip to content

Commit 56da686

Browse files
authored
Merge pull request #922 from flexion/copilot/update-python-versions
Update supported Python versions to 3.10–3.13, set 3.12 as primary
2 parents b48249e + a038b88 commit 56da686

12 files changed

Lines changed: 32 additions & 23 deletions

File tree

.github/workflows/benchmark.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ jobs:
3939
- name: Setup Python
4040
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6
4141
with:
42-
python-version: "3.14"
42+
python-version: "3.12"
4343

4444
- name: Upgrade pip
4545
run: |

.github/workflows/release.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ jobs:
3232
- name: Set up Python
3333
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
3434
with:
35-
python-version: "3.14"
35+
python-version: "3.12"
3636

3737
- name: Upgrade pip
3838
run: |

.github/workflows/tests.yml

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -23,17 +23,18 @@ jobs:
2323
fail-fast: false
2424
matrix:
2525
include:
26-
- { python: "3.9", os: "ubuntu-latest", session: "tests" }
2726
- { python: "3.10", os: "ubuntu-latest", session: "tests" }
28-
- { python: "3.11", os: "ubuntu-latest", session: "pre-commit" }
29-
- { python: "3.11", os: "ubuntu-latest", session: "xdoctest" }
30-
- { python: "3.11", os: "ubuntu-latest", session: "docs-build" }
3127
- { python: "3.11", os: "ubuntu-latest", session: "tests" }
32-
- { python: "3.11", os: "windows-latest", session: "tests" }
33-
- { python: "3.11", os: "ubuntu-latest", session: "pip-audit" }
28+
- { python: "3.12", os: "ubuntu-latest", session: "pre-commit" }
29+
- { python: "3.12", os: "ubuntu-latest", session: "xdoctest" }
30+
- { python: "3.12", os: "ubuntu-latest", session: "docs-build" }
31+
- { python: "3.12", os: "ubuntu-latest", session: "tests" }
32+
- { python: "3.12", os: "windows-latest", session: "tests" }
33+
- { python: "3.12", os: "ubuntu-latest", session: "pip-audit" }
34+
- { python: "3.13", os: "ubuntu-latest", session: "tests" }
3435

3536
# - { python: "3.10", os: "ubuntu-latest", session: "mypy" }
36-
# - { python: "3.9", os: "ubuntu-latest", session: "mypy" }
37+
# - { python: "3.12", os: "ubuntu-latest", session: "mypy" }
3738
# - { python: "3.10", os: "ubuntu-latest", session: "typeguard" }
3839

3940
env:
@@ -141,7 +142,7 @@ jobs:
141142
- name: Set up Python
142143
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
143144
with:
144-
python-version: "3.14"
145+
python-version: "3.12"
145146

146147
- name: Upgrade pip
147148
run: |

.pre-commit-config.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ repos:
4141
- id: pyupgrade
4242
description: Automatically upgrade syntax for newer versions.
4343
types: [python]
44-
args: [--py37-plus]
44+
args: [--py310-plus]
4545

4646
# Prettier is failing in CI for Markdown files, so we disable it for now. It does not do much for us anyway.
4747
# - repo: https://github.com/pre-commit/mirrors-prettier

.readthedocs.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ version: 2
22
build:
33
os: ubuntu-20.04
44
tools:
5-
python: "3.10"
5+
python: "3.12"
66
sphinx:
77
configuration: docs/conf.py
88
formats: all

CONTRIBUTING.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ Indicate you are working on a task by adding your GitHub @name after the task in
4646
Definition of Done items are often a great starting point for contributing in a meaningful way while getting integrated into team practices.
4747
Using SSH keys to check out the repository is ideal, as we require contributors to sign their commits.
4848

49-
You need Python 3.9+ and the following tools:
49+
You need Python 3.10, 3.11, 3.12, or 3.13 and the following tools:
5050

5151
- [uv]
5252
- [Nox]

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ metric is reported in hours.
4646

4747
## Requirements
4848

49-
- Python 3.9+
49+
- Python 3.10, 3.11, 3.12, or 3.13
5050
- uv (installation instructions provided [here](https://github.com/astral-sh/uv?tab=readme-ov-file#installation))
5151
- Supported OS: Windows 10, Windows 11, Linux, MacOS
5252

docs/architectural_decision_records/007-python-for-app-fuctionality.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ Our project includes data analysis.
1515
## Decision
1616

1717
We will use Python for the main application functionality, Python for tests, and Poetry for build and dependency automation.
18-
We are supporting Python 3.9 and 3.10 in order to use modern type hinting.
18+
We are supporting Python 3.10, 3.11, 3.12, and 3.13 in order to use modern type hinting.
1919

2020
## Rationale
2121

noxfile.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
PYPROJECT = nox.project.load_toml("pyproject.toml")
1616

1717
package = "devops_deployment_metrics"
18-
python_versions = ["3.11", "3.9", "3.10"]
18+
python_versions = ["3.12", "3.10", "3.11", "3.13"]
1919
nox.needs_version = ">= 2024.4.15"
2020
nox.options.sessions = (
2121
"pre-commit",

pyproject.toml

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,17 @@ name = "devops-deployment-metrics"
33
version = "0.0.1"
44
description = "DevOps Deployment Metrics"
55
authors = [{ name = "Flexion, Inc.", email = "noreply@flexion.us" }]
6-
requires-python = "~=3.9"
6+
requires-python = ">=3.10"
77
readme = "README.md"
88
license = "MIT"
9-
classifiers = ["Development Status :: 1 - Planning"]
9+
classifiers = [
10+
"Development Status :: 1 - Planning",
11+
"Programming Language :: Python :: 3",
12+
"Programming Language :: Python :: 3.10",
13+
"Programming Language :: Python :: 3.11",
14+
"Programming Language :: Python :: 3.12",
15+
"Programming Language :: Python :: 3.13",
16+
]
1017
dependencies = [
1118
"click>=8.0.1",
1219
"pandas>=2.0.0,<3",
@@ -110,8 +117,8 @@ exclude = [
110117
line-length = 88
111118
indent-width = 4
112119

113-
# Assume Python 3.8
114-
target-version = "py38"
120+
# Assume Python 3.12
121+
target-version = "py312"
115122

116123
[tool.ruff.lint]
117124
# Enable Pyflakes (`F`)

0 commit comments

Comments
 (0)