Skip to content

Commit 837a018

Browse files
authored
nidaqmx: Remove support for Python 3.9 (#870)
* nidaqmx: Remove support for Python 3.9 * chore: Update poetry.lock
1 parent 868ccfc commit 837a018

File tree

9 files changed

+24
-670
lines changed

9 files changed

+24
-670
lines changed

.github/ISSUE_TEMPLATE/bug_report.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,4 +46,4 @@ Search open/closed issues before submitting. Someone may have reported the same
4646
* Operating system and version: [e.g. Windows 11 24H2, Ubuntu Linux 24.04]
4747
* NI-DAQmx version: [e.g. 2024 Q4]
4848
* `nidaqmx-python` version: [e.g. 1.0.1]
49-
* Python version [e.g. 3.9]
49+
* Python version [e.g. 3.11]

.github/workflows/build.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@ jobs:
1717
uses: ni/python-actions/setup-python@9768589f3e50672173dad75a6fc181e4a85d33fa # v0.7.0
1818
id: setup-python
1919
with:
20-
# The codegen scripts require Python 3.9 or later.
21-
python-version: "3.9"
20+
# The codegen scripts require Python 3.10 or later.
21+
python-version: "3.10"
2222
- name: Set up Poetry
2323
uses: ni/python-actions/setup-poetry@9768589f3e50672173dad75a6fc181e4a85d33fa # v0.7.0
2424
- name: Cache virtualenv (all extras)

.github/workflows/run_unit_tests.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ jobs:
1111
strategy:
1212
matrix:
1313
os: [ubuntu-latest, windows-latest]
14-
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13", "3.14", "3.14t", "pypy3.10", "pypy3.11"]
14+
python-version: ["3.10", "3.11", "3.12", "3.13", "3.14", "3.14t", "pypy3.10", "pypy3.11"]
1515
# Fail-fast skews the pass/fail ratio and seems to make pytest produce
1616
# incomplete JUnit XML results.
1717
fail-fast: false
@@ -51,7 +51,7 @@ jobs:
5151
strategy:
5252
matrix:
5353
os: [ubuntu-latest, windows-latest]
54-
python-version: ["3.9", "3.13", "pypy3.11"]
54+
python-version: ["3.10", "3.13", "pypy3.11"]
5555
steps:
5656
- name: Check out repo
5757
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0

CHANGELOG.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ All notable changes to this project will be documented in this file.
3333
* ...
3434

3535
* ### Major Changes
36-
* ...
36+
* Removed support for Python 3.9.
3737

3838
* ### Known Issues
3939
* ...

CONTRIBUTING.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ through our [GitHub issues page](http://github.com/ni/nidaqmx-python/issues).
2727
6. Make your change.
2828
7. Once the necessary changes are done, update the auto-generated code using `poetry run python src/codegen --dest generated/nidaqmx`. This will ensure that the latest files are present in the ``generated`` folder.
2929
> **Note**
30-
> The codegen scripts require Python 3.9 or later.
30+
> The codegen scripts require Python 3.10 or later.
3131
8. Run all the regression tests again (including the tests you just added), and confirm that they all
3232
pass.
3333
9. Run `poetry run ni-python-styleguide lint` to check that the updated code follows NI's Python coding
@@ -91,7 +91,7 @@ $ poetry run pytest -v tests/benchmark --device Dev1
9191

9292
Or you can use tox (which skips the gRPC variants):
9393
```
94-
poetry run -- tox -e py39-base-benchmark -- --device Dev1
94+
poetry run -- tox -e py310-base-benchmark -- --device Dev1
9595
```
9696

9797
The benchmarks are designed to run on a 6363 device. If you don't specify a specific

README.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ system.
5555
Python Version Support
5656
----------------------
5757

58-
**nidaqmx** supports CPython 3.9+.
58+
**nidaqmx** supports CPython 3.10+.
5959

6060
**nidaqmx** supports PyPy3 for non-gRPC use cases. For the status of PyPy support for gRPC,
6161
see `PyPy support (grpc/grpc#4221) <https://github.com/grpc/grpc/issues/4221>`_.

poetry.lock

Lines changed: 8 additions & 646 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pyproject.toml

Lines changed: 6 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ classifiers = [
1313
"Operating System :: Microsoft :: Windows",
1414
"Operating System :: POSIX",
1515
"Programming Language :: Python :: 3",
16-
"Programming Language :: Python :: 3.9",
1716
"Programming Language :: Python :: 3.10",
1817
"Programming Language :: Python :: 3.11",
1918
"Programming Language :: Python :: 3.12",
@@ -31,7 +30,7 @@ maintainers = [
3130
{name = "Maxx Boehme", email = "[email protected]"},
3231
{name = "Brad Keryan", email = "[email protected]"},
3332
]
34-
requires-python = '>=3.9,<4.0'
33+
requires-python = '>=3.10,<4.0'
3534

3635
[project.urls]
3736
repository = "https://github.com/ni/nidaqmx-python"
@@ -52,7 +51,7 @@ requires-poetry = '>=2.1,<3.0'
5251
[tool.poetry.dependencies]
5352
# NumPy 2.0.x is the last version that supports Python 3.9, but it crashes with Python 3.13.
5453
numpy = [
55-
{ version = ">=1.22", python = ">=3.9,<3.13" },
54+
{ version = ">=1.22", python = ">=3.10,<3.13" },
5655
{ version = ">=2.1", python = "^3.13" }
5756
]
5857
deprecation = ">=2.1"
@@ -68,7 +67,7 @@ nitypes = {version=">=0.1.0dev10", allow-prereleases=true}
6867
[tool.poetry.group.codegen.dependencies]
6968
Mako = "^1.2"
7069
grpcio-tools = [
71-
{ version = "1.49.1", python = ">=3.9,<3.12" },
70+
{ version = "1.49.1", python = ">=3.10,<3.12" },
7271
{ version = "1.59.0", python = ">=3.12,<3.13" },
7372
{ version = "1.67.0", python = ">=3.13,<3.14" },
7473
{ version = "1.75.1", python = "^3.14" },
@@ -81,7 +80,6 @@ optional = true
8180
[tool.poetry.group.docs.dependencies]
8281
# The latest Sphinx requires a recent Python version.
8382
Sphinx = [
84-
{ version = ">=7.4", python = ">=3.9,<3.10" },
8583
{ version = ">=8.1", python = ">=3.10,<3.11" },
8684
{ version = ">=8.2", python = "^3.11" },
8785
]
@@ -93,10 +91,7 @@ toml = ">=0.10.2"
9391
optional = true
9492

9593
[tool.poetry.group.examples.dependencies]
96-
matplotlib = [
97-
{ version = ">=3.9.0,<3.10.0", python = ">=3.9,<3.10" },
98-
{ version = ">=3.9.0", python = "^3.10" },
99-
]
94+
matplotlib = ">=3.9.0"
10095
nptdms = ">=1.9.0"
10196

10297
[tool.poetry.group.lint.dependencies]
@@ -114,13 +109,10 @@ pytest-cov = ">=4.0"
114109
pytest-mock = ">=3.0"
115110
pykka = ">=3.0"
116111
tox = ">=3.24"
117-
click = [
118-
{ version = ">=8.0.0,<8.2.0", python = ">=3.9,<3.10" },
119-
{ version = ">=8.0.0", python = "^3.10" },
120-
]
112+
click = ">=8.0.0"
121113
# Specify additional NumPy version constraints to speed up locking and test with binary wheels that support PyPy.
122114
numpy = [
123-
{ version = ">=1.22", python = ">=3.9,<3.12", markers = "implementation_name != 'pypy'" },
115+
{ version = ">=1.22", python = ">=3.10,<3.12", markers = "implementation_name != 'pypy'" },
124116
{ version = ">=1.26", python = ">=3.12,<3.13", markers = "implementation_name != 'pypy'" },
125117
{ version = ">=2.1", python = "^3.13", markers = "implementation_name != 'pypy'" },
126118
{ version = ">=2.1", python = ">=3.10,<3.11", markers = "implementation_name == 'pypy'" },

tox.ini

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ isolated_build = true
88
# grpcio does not have binary wheels for pypy or free-threading, as of version 1.75.1.
99
# nidaqmxbot does not have pypy yet.
1010
# TODO: Get system tests running on Python 3.14t (free-threaded) - https://github.com/ni/nidaqmx-python/issues/853
11-
envlist = clean, py{39,310,311,312,313,314,314}-base, py{39,310,311,312,313,314}-grpc, py39-base-nicaiu, py39-base-nicai_utf8, py39-base-benchmark, report, docs
11+
envlist = clean, py{310,311,312,313,314,314}-base, py{310,311,312,313,314}-grpc, py310-base-nicaiu, py310-base-nicai_utf8, py310-base-benchmark, report, docs
1212

1313
[testenv]
1414
skip_install = true

0 commit comments

Comments
 (0)