Skip to content

Commit 6e46f1d

Browse files
committed
Support Python 3.12...3.14; add tox config
1 parent 538f715 commit 6e46f1d

4 files changed

Lines changed: 37 additions & 17 deletions

File tree

.github/workflows/ci.yml

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ concurrency:
1414
cancel-in-progress: true
1515

1616
env:
17-
FORCE_COLOR: "1" # Make tool output pretty.
1817
PIP_DISABLE_PIP_VERSION_CHECK: "1"
1918
PIP_PROGRESS_BAR: "off"
2019

@@ -26,9 +25,9 @@ jobs:
2625
strategy:
2726
matrix:
2827
python-version:
29-
- '3.10'
30-
- '3.11'
3128
- '3.12'
29+
- '3.13'
30+
- '3.14'
3231

3332
steps:
3433
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd

.github/workflows/pypi-publish.yml

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ jobs:
2222
- name: Set up Python
2323
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405
2424
with:
25-
python-version: 3.12
25+
python-version: '3.14'
2626

2727
- name: Install uv
2828
run: pipx install uv
@@ -63,9 +63,3 @@ jobs:
6363
uses: pypa/gh-action-pypi-publish@ed0c53931b1dc9bd32cbe73a98c7f6766f8a527e
6464

6565
# [1] https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#filter-pattern-cheat-sheet
66-
# Used actions: (updates managed by dependabot)
67-
# - https://github.com/actions/checkout
68-
# - https://github.com/actions/setup-python
69-
# - https://github.com/actions/upload-artifact
70-
# - https://github.com/actions/download-artifact
71-
# - https://github.com/pypa/gh-action-pypi-publish/

pyproject.toml

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
[build-system]
2+
requires = ["hatchling", "hatch-vcs"]
3+
build-backend = "hatchling.build"
4+
15
[project]
26
# Storing project metadata in pyproject.toml https://peps.python.org/pep-0621/
37
name = "cared-cli"
@@ -11,7 +15,7 @@ maintainers = [
1115
]
1216
license = {text = "Apache 2.0"}
1317
readme = "README.md"
14-
requires-python = ">=3.10"
18+
requires-python = ">=3.12"
1519
keywords = ["CaReD", "RDM", "ELN", "LIMS"]
1620
# https://pypi.org/classifiers/
1721
classifiers = [
@@ -21,9 +25,9 @@ classifiers = [
2125
"Intended Audience :: Science/Research",
2226
"License :: OSI Approved :: Apache Software License",
2327
"Operating System :: OS Independent",
24-
"Programming Language :: Python :: 3.10",
25-
"Programming Language :: Python :: 3.11",
2628
"Programming Language :: Python :: 3.12",
29+
"Programming Language :: Python :: 3.13",
30+
"Programming Language :: Python :: 3.14",
2731
]
2832
dependencies = [
2933
"click>=8.1.7",
@@ -52,10 +56,6 @@ dev = [
5256
[project.scripts]
5357
cared = "cared_cli._cli:app"
5458

55-
[build-system]
56-
requires = ["hatchling", "hatch-vcs"]
57-
build-backend = "hatchling.build"
58-
5959
[tool.hatch.metadata]
6060
# Hatch disallows direct references for dependencies by default.
6161
# Enable them to allow installing dependencies from github repositories.

tox.ini

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
[tox]
2+
requires = tox>=4.32
3+
env_list = clean, py{312,313,314}, report
4+
skip_missing_interpreters = true
5+
6+
[testenv]
7+
# Use coverage run for proper parallel data file handling
8+
commands = coverage run -m pytest
9+
deps =
10+
pytest
11+
coverage
12+
depends =
13+
py{312,313,314}: clean
14+
15+
[testenv:report]
16+
deps = coverage
17+
skip_install = true
18+
depends = py{312,313,314}
19+
commands =
20+
coverage combine
21+
coverage report
22+
coverage html
23+
24+
[testenv:clean]
25+
deps = coverage
26+
skip_install = true
27+
commands = coverage erase

0 commit comments

Comments
 (0)