Skip to content

Commit dd57eae

Browse files
authored
Drop Python 3.8 Support (#2068)
* Drop Python 3.8 support - source changes * tox -e codegen * Update CHANGELOG * Enforce version support policy * Specify versions that we can build wheel_dep with
1 parent a817654 commit dd57eae

26 files changed

+46
-44
lines changed

.travis.yml

-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ matrix:
66
# We run tests on the latest supported version of Python first.
77
# This is where additional tests are run so we give it more time.
88
- python: "3.12"
9-
- python: "3.8"
109
- python: "3.9"
1110
- python: "3.10"
1211
- python: "3.11"

CHANGELOG.md

+1
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ All notable changes to this project will be documented in this file.
4141
* #### Changed
4242
* Fix [#2069](https://github.com/ni/nimi-python/issues/2069)
4343
* #### Removed
44+
* Support for Python 3.8
4445
* ### `nidcpower` (NI-DCPower)
4546
* #### Added
4647
* API parity with NI-DCPower 2025 Q1.

build/templates/setup.py.mako

+1-1
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ setup(
3535
license='MIT',
3636
include_package_data=True,
3737
packages=['${config['module_name']}'],
38+
python_requires='>=3.9',
3839
install_requires=[
3940
'hightime>=0.2.0',
4041
% if config['uses_nitclk']:
@@ -58,7 +59,6 @@ setup(
5859
"Operating System :: Microsoft :: Windows",
5960
"Operating System :: POSIX",
6061
"Programming Language :: Python :: 3",
61-
"Programming Language :: Python :: 3.8",
6262
"Programming Language :: Python :: 3.9",
6363
"Programming Language :: Python :: 3.10",
6464
"Programming Language :: Python :: 3.11",

build/templates/tox-system_tests.ini.mako

+5-3
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,9 @@
99
driver_name = config['driver_name']
1010
if config['uses_nitclk'] or module_name == 'nitclk':
1111
wheel_env_no_py = '{}-wheel_dep'.format(module_name)
12-
wheel_env = 'py3-' + wheel_env_no_py + ','
12+
# We only actually need to build it once, but we specify multiple versions here
13+
# to prevent tox from trying to build the wheel with an unsupported (earlier) Python version
14+
wheel_env = 'py{39,310,311,312}-' + wheel_env_no_py + ','
1315
uses_other_wheel = True
1416
if module_name == 'nitclk':
1517
# nitclk system tests use niscope
@@ -26,7 +28,7 @@
2628
# test suite on all supported python versions. To use it, "pip install tox"
2729
# and then run "tox -c tox-system_tests.ini" from the driver directory. (generated/${module_name})
2830
[tox]
29-
envlist = ${wheel_env}py{38,39,310,311,312}-${module_name}-system_tests, py312-${module_name}-coverage
31+
envlist = ${wheel_env}py{39,310,311,312}-${module_name}-system_tests, py312-${module_name}-coverage
3032
skip_missing_interpreters=True
3133
ignore_basepython_conflict=True
3234
# We put the .tox directory outside of the Jenkins workspace so that it isn't wiped with the rest of the repo
@@ -85,7 +87,7 @@ deps =
8587
${module_name}-coverage: coverage
8688

8789
depends =
88-
${module_name}-coverage: py{38,39,310,311,312}-${module_name}-system_tests
90+
${module_name}-coverage: py{39,310,311,312}-${module_name}-system_tests
8991
% if uses_other_wheel:
9092
${module_name}-system_tests: ${wheel_env}
9193
% endif

generated/nidcpower/setup.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ def read_contents(file_to_read):
2929
license='MIT',
3030
include_package_data=True,
3131
packages=['nidcpower'],
32+
python_requires='>=3.9',
3233
install_requires=[
3334
'hightime>=0.2.0',
3435
],
@@ -47,7 +48,6 @@ def read_contents(file_to_read):
4748
"Operating System :: Microsoft :: Windows",
4849
"Operating System :: POSIX",
4950
"Programming Language :: Python :: 3",
50-
"Programming Language :: Python :: 3.8",
5151
"Programming Language :: Python :: 3.9",
5252
"Programming Language :: Python :: 3.10",
5353
"Programming Language :: Python :: 3.11",

generated/nidcpower/tox-system_tests.ini

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
# test suite on all supported python versions. To use it, "pip install tox"
44
# and then run "tox -c tox-system_tests.ini" from the driver directory. (generated/nidcpower)
55
[tox]
6-
envlist = py{38,39,310,311,312}-nidcpower-system_tests, py312-nidcpower-coverage
6+
envlist = py{39,310,311,312}-nidcpower-system_tests, py312-nidcpower-coverage
77
skip_missing_interpreters=True
88
ignore_basepython_conflict=True
99
# We put the .tox directory outside of the Jenkins workspace so that it isn't wiped with the rest of the repo
@@ -43,7 +43,7 @@ deps =
4343
nidcpower-coverage: coverage
4444

4545
depends =
46-
nidcpower-coverage: py{38,39,310,311,312}-nidcpower-system_tests
46+
nidcpower-coverage: py{39,310,311,312}-nidcpower-system_tests
4747

4848
passenv =
4949
GIT_BRANCH

generated/nidigital/setup.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ def read_contents(file_to_read):
2929
license='MIT',
3030
include_package_data=True,
3131
packages=['nidigital'],
32+
python_requires='>=3.9',
3233
install_requires=[
3334
'hightime>=0.2.0',
3435
'nitclk',
@@ -48,7 +49,6 @@ def read_contents(file_to_read):
4849
"Operating System :: Microsoft :: Windows",
4950
"Operating System :: POSIX",
5051
"Programming Language :: Python :: 3",
51-
"Programming Language :: Python :: 3.8",
5252
"Programming Language :: Python :: 3.9",
5353
"Programming Language :: Python :: 3.10",
5454
"Programming Language :: Python :: 3.11",

generated/nidigital/tox-system_tests.ini

+3-3
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
# test suite on all supported python versions. To use it, "pip install tox"
44
# and then run "tox -c tox-system_tests.ini" from the driver directory. (generated/nidigital)
55
[tox]
6-
envlist = py3-nidigital-wheel_dep,py{38,39,310,311,312}-nidigital-system_tests, py312-nidigital-coverage
6+
envlist = py{39,310,311,312}-nidigital-wheel_dep,py{39,310,311,312}-nidigital-system_tests, py312-nidigital-coverage
77
skip_missing_interpreters=True
88
ignore_basepython_conflict=True
99
# We put the .tox directory outside of the Jenkins workspace so that it isn't wiped with the rest of the repo
@@ -50,8 +50,8 @@ deps =
5050
nidigital-coverage: coverage
5151

5252
depends =
53-
nidigital-coverage: py{38,39,310,311,312}-nidigital-system_tests
54-
nidigital-system_tests: py3-nidigital-wheel_dep,
53+
nidigital-coverage: py{39,310,311,312}-nidigital-system_tests
54+
nidigital-system_tests: py{39,310,311,312}-nidigital-wheel_dep,
5555

5656
passenv =
5757
GIT_BRANCH

generated/nidmm/setup.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ def read_contents(file_to_read):
2929
license='MIT',
3030
include_package_data=True,
3131
packages=['nidmm'],
32+
python_requires='>=3.9',
3233
install_requires=[
3334
'hightime>=0.2.0',
3435
],
@@ -47,7 +48,6 @@ def read_contents(file_to_read):
4748
"Operating System :: Microsoft :: Windows",
4849
"Operating System :: POSIX",
4950
"Programming Language :: Python :: 3",
50-
"Programming Language :: Python :: 3.8",
5151
"Programming Language :: Python :: 3.9",
5252
"Programming Language :: Python :: 3.10",
5353
"Programming Language :: Python :: 3.11",

generated/nidmm/tox-system_tests.ini

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
# test suite on all supported python versions. To use it, "pip install tox"
44
# and then run "tox -c tox-system_tests.ini" from the driver directory. (generated/nidmm)
55
[tox]
6-
envlist = py{38,39,310,311,312}-nidmm-system_tests, py312-nidmm-coverage
6+
envlist = py{39,310,311,312}-nidmm-system_tests, py312-nidmm-coverage
77
skip_missing_interpreters=True
88
ignore_basepython_conflict=True
99
# We put the .tox directory outside of the Jenkins workspace so that it isn't wiped with the rest of the repo
@@ -43,7 +43,7 @@ deps =
4343
nidmm-coverage: coverage
4444

4545
depends =
46-
nidmm-coverage: py{38,39,310,311,312}-nidmm-system_tests
46+
nidmm-coverage: py{39,310,311,312}-nidmm-system_tests
4747

4848
passenv =
4949
GIT_BRANCH

generated/nifake/setup.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ def read_contents(file_to_read):
2929
license='MIT',
3030
include_package_data=True,
3131
packages=['nifake'],
32+
python_requires='>=3.9',
3233
install_requires=[
3334
'hightime>=0.2.0',
3435
'nitclk',
@@ -48,7 +49,6 @@ def read_contents(file_to_read):
4849
"Operating System :: Microsoft :: Windows",
4950
"Operating System :: POSIX",
5051
"Programming Language :: Python :: 3",
51-
"Programming Language :: Python :: 3.8",
5252
"Programming Language :: Python :: 3.9",
5353
"Programming Language :: Python :: 3.10",
5454
"Programming Language :: Python :: 3.11",

generated/nifake/tox-system_tests.ini

+3-3
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
# test suite on all supported python versions. To use it, "pip install tox"
44
# and then run "tox -c tox-system_tests.ini" from the driver directory. (generated/nifake)
55
[tox]
6-
envlist = py3-nifake-wheel_dep,py{38,39,310,311,312}-nifake-system_tests, py312-nifake-coverage
6+
envlist = py{39,310,311,312}-nifake-wheel_dep,py{39,310,311,312}-nifake-system_tests, py312-nifake-coverage
77
skip_missing_interpreters=True
88
ignore_basepython_conflict=True
99
# We put the .tox directory outside of the Jenkins workspace so that it isn't wiped with the rest of the repo
@@ -50,8 +50,8 @@ deps =
5050
nifake-coverage: coverage
5151

5252
depends =
53-
nifake-coverage: py{38,39,310,311,312}-nifake-system_tests
54-
nifake-system_tests: py3-nifake-wheel_dep,
53+
nifake-coverage: py{39,310,311,312}-nifake-system_tests
54+
nifake-system_tests: py{39,310,311,312}-nifake-wheel_dep,
5555

5656
passenv =
5757
GIT_BRANCH

generated/nifgen/setup.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ def read_contents(file_to_read):
2929
license='MIT',
3030
include_package_data=True,
3131
packages=['nifgen'],
32+
python_requires='>=3.9',
3233
install_requires=[
3334
'hightime>=0.2.0',
3435
'nitclk',
@@ -48,7 +49,6 @@ def read_contents(file_to_read):
4849
"Operating System :: Microsoft :: Windows",
4950
"Operating System :: POSIX",
5051
"Programming Language :: Python :: 3",
51-
"Programming Language :: Python :: 3.8",
5252
"Programming Language :: Python :: 3.9",
5353
"Programming Language :: Python :: 3.10",
5454
"Programming Language :: Python :: 3.11",

generated/nifgen/tox-system_tests.ini

+3-3
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
# test suite on all supported python versions. To use it, "pip install tox"
44
# and then run "tox -c tox-system_tests.ini" from the driver directory. (generated/nifgen)
55
[tox]
6-
envlist = py3-nifgen-wheel_dep,py{38,39,310,311,312}-nifgen-system_tests, py312-nifgen-coverage
6+
envlist = py{39,310,311,312}-nifgen-wheel_dep,py{39,310,311,312}-nifgen-system_tests, py312-nifgen-coverage
77
skip_missing_interpreters=True
88
ignore_basepython_conflict=True
99
# We put the .tox directory outside of the Jenkins workspace so that it isn't wiped with the rest of the repo
@@ -50,8 +50,8 @@ deps =
5050
nifgen-coverage: coverage
5151

5252
depends =
53-
nifgen-coverage: py{38,39,310,311,312}-nifgen-system_tests
54-
nifgen-system_tests: py3-nifgen-wheel_dep,
53+
nifgen-coverage: py{39,310,311,312}-nifgen-system_tests
54+
nifgen-system_tests: py{39,310,311,312}-nifgen-wheel_dep,
5555

5656
passenv =
5757
GIT_BRANCH

generated/nimodinst/setup.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ def read_contents(file_to_read):
2929
license='MIT',
3030
include_package_data=True,
3131
packages=['nimodinst'],
32+
python_requires='>=3.9',
3233
install_requires=[
3334
'hightime>=0.2.0',
3435
],
@@ -41,7 +42,6 @@ def read_contents(file_to_read):
4142
"Operating System :: Microsoft :: Windows",
4243
"Operating System :: POSIX",
4344
"Programming Language :: Python :: 3",
44-
"Programming Language :: Python :: 3.8",
4545
"Programming Language :: Python :: 3.9",
4646
"Programming Language :: Python :: 3.10",
4747
"Programming Language :: Python :: 3.11",

generated/nimodinst/tox-system_tests.ini

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
# test suite on all supported python versions. To use it, "pip install tox"
44
# and then run "tox -c tox-system_tests.ini" from the driver directory. (generated/nimodinst)
55
[tox]
6-
envlist = py{38,39,310,311,312}-nimodinst-system_tests, py312-nimodinst-coverage
6+
envlist = py{39,310,311,312}-nimodinst-system_tests, py312-nimodinst-coverage
77
skip_missing_interpreters=True
88
ignore_basepython_conflict=True
99
# We put the .tox directory outside of the Jenkins workspace so that it isn't wiped with the rest of the repo
@@ -42,7 +42,7 @@ deps =
4242
nimodinst-coverage: coverage
4343

4444
depends =
45-
nimodinst-coverage: py{38,39,310,311,312}-nimodinst-system_tests
45+
nimodinst-coverage: py{39,310,311,312}-nimodinst-system_tests
4646

4747
passenv =
4848
GIT_BRANCH

generated/niscope/setup.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ def read_contents(file_to_read):
2929
license='MIT',
3030
include_package_data=True,
3131
packages=['niscope'],
32+
python_requires='>=3.9',
3233
install_requires=[
3334
'hightime>=0.2.0',
3435
'nitclk',
@@ -48,7 +49,6 @@ def read_contents(file_to_read):
4849
"Operating System :: Microsoft :: Windows",
4950
"Operating System :: POSIX",
5051
"Programming Language :: Python :: 3",
51-
"Programming Language :: Python :: 3.8",
5252
"Programming Language :: Python :: 3.9",
5353
"Programming Language :: Python :: 3.10",
5454
"Programming Language :: Python :: 3.11",

generated/niscope/tox-system_tests.ini

+3-3
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
# test suite on all supported python versions. To use it, "pip install tox"
44
# and then run "tox -c tox-system_tests.ini" from the driver directory. (generated/niscope)
55
[tox]
6-
envlist = py3-niscope-wheel_dep,py{38,39,310,311,312}-niscope-system_tests, py312-niscope-coverage
6+
envlist = py{39,310,311,312}-niscope-wheel_dep,py{39,310,311,312}-niscope-system_tests, py312-niscope-coverage
77
skip_missing_interpreters=True
88
ignore_basepython_conflict=True
99
# We put the .tox directory outside of the Jenkins workspace so that it isn't wiped with the rest of the repo
@@ -50,8 +50,8 @@ deps =
5050
niscope-coverage: coverage
5151

5252
depends =
53-
niscope-coverage: py{38,39,310,311,312}-niscope-system_tests
54-
niscope-system_tests: py3-niscope-wheel_dep,
53+
niscope-coverage: py{39,310,311,312}-niscope-system_tests
54+
niscope-system_tests: py{39,310,311,312}-niscope-wheel_dep,
5555

5656
passenv =
5757
GIT_BRANCH

generated/nise/setup.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ def read_contents(file_to_read):
2929
license='MIT',
3030
include_package_data=True,
3131
packages=['nise'],
32+
python_requires='>=3.9',
3233
install_requires=[
3334
'hightime>=0.2.0',
3435
],
@@ -41,7 +42,6 @@ def read_contents(file_to_read):
4142
"Operating System :: Microsoft :: Windows",
4243
"Operating System :: POSIX",
4344
"Programming Language :: Python :: 3",
44-
"Programming Language :: Python :: 3.8",
4545
"Programming Language :: Python :: 3.9",
4646
"Programming Language :: Python :: 3.10",
4747
"Programming Language :: Python :: 3.11",

generated/nise/tox-system_tests.ini

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
# test suite on all supported python versions. To use it, "pip install tox"
44
# and then run "tox -c tox-system_tests.ini" from the driver directory. (generated/nise)
55
[tox]
6-
envlist = py{38,39,310,311,312}-nise-system_tests, py312-nise-coverage
6+
envlist = py{39,310,311,312}-nise-system_tests, py312-nise-coverage
77
skip_missing_interpreters=True
88
ignore_basepython_conflict=True
99
# We put the .tox directory outside of the Jenkins workspace so that it isn't wiped with the rest of the repo
@@ -42,7 +42,7 @@ deps =
4242
nise-coverage: coverage
4343

4444
depends =
45-
nise-coverage: py{38,39,310,311,312}-nise-system_tests
45+
nise-coverage: py{39,310,311,312}-nise-system_tests
4646

4747
passenv =
4848
GIT_BRANCH

generated/niswitch/setup.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ def read_contents(file_to_read):
2929
license='MIT',
3030
include_package_data=True,
3131
packages=['niswitch'],
32+
python_requires='>=3.9',
3233
install_requires=[
3334
'hightime>=0.2.0',
3435
],
@@ -47,7 +48,6 @@ def read_contents(file_to_read):
4748
"Operating System :: Microsoft :: Windows",
4849
"Operating System :: POSIX",
4950
"Programming Language :: Python :: 3",
50-
"Programming Language :: Python :: 3.8",
5151
"Programming Language :: Python :: 3.9",
5252
"Programming Language :: Python :: 3.10",
5353
"Programming Language :: Python :: 3.11",

generated/niswitch/tox-system_tests.ini

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
# test suite on all supported python versions. To use it, "pip install tox"
44
# and then run "tox -c tox-system_tests.ini" from the driver directory. (generated/niswitch)
55
[tox]
6-
envlist = py{38,39,310,311,312}-niswitch-system_tests, py312-niswitch-coverage
6+
envlist = py{39,310,311,312}-niswitch-system_tests, py312-niswitch-coverage
77
skip_missing_interpreters=True
88
ignore_basepython_conflict=True
99
# We put the .tox directory outside of the Jenkins workspace so that it isn't wiped with the rest of the repo
@@ -43,7 +43,7 @@ deps =
4343
niswitch-coverage: coverage
4444

4545
depends =
46-
niswitch-coverage: py{38,39,310,311,312}-niswitch-system_tests
46+
niswitch-coverage: py{39,310,311,312}-niswitch-system_tests
4747

4848
passenv =
4949
GIT_BRANCH

generated/nitclk/setup.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ def read_contents(file_to_read):
2929
license='MIT',
3030
include_package_data=True,
3131
packages=['nitclk'],
32+
python_requires='>=3.9',
3233
install_requires=[
3334
'hightime>=0.2.0',
3435
],
@@ -41,7 +42,6 @@ def read_contents(file_to_read):
4142
"Operating System :: Microsoft :: Windows",
4243
"Operating System :: POSIX",
4344
"Programming Language :: Python :: 3",
44-
"Programming Language :: Python :: 3.8",
4545
"Programming Language :: Python :: 3.9",
4646
"Programming Language :: Python :: 3.10",
4747
"Programming Language :: Python :: 3.11",

0 commit comments

Comments
 (0)