Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ runs:
steps:
# The local wheel installation and single environment would have made using tox-system_tests.ini difficult.
# To keep things simple, we just use pip and pytest directly for a single Python version.
- run: py -3.12 -m venv --clear .venv
- run: py -3.13 -m venv --clear .venv
shell: powershell
- run: |
.venv\Scripts\Activate.ps1
Expand Down
8 changes: 6 additions & 2 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,15 @@ language: python
dist: focal
matrix:
include:
# We run tests on the latest supported version of Python first.
# Historically, we've run tests on the latest supported version of Python first.
# For now, we're running Python 3.12 first, because it's the version currently used for codegen.
# This is where additional tests are run so we give it more time.
# When the version used for codegen changes, the version that runs first should change to match.
- python: "3.12"
- python: "3.9"
- python: "3.10"
- python: "3.11"
- python: "3.13"

install:
- travis_retry sudo apt-get -y install python3-pip
Expand All @@ -18,7 +21,8 @@ install:
- travis_retry pip install --upgrade tox==3.* tox-travis

before_script:
- python tools/ensure_codegen_up_to_date.py
# Python 3.13 is only supported by grpcio-tools >= 1.67.0, a later version than what we use in the tox.ini
- if [[ "$TRAVIS_PYTHON_VERSION" != "3.13" ]]; then python tools/ensure_codegen_up_to_date.py; fi

script:
- tox -c tox-travis.ini
Expand Down
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ All notable changes to this project will be documented in this file.
## Unreleased
* ### ALL
* #### Added
* Support for Python 3.13
* #### Changed
* Fix [#2069](https://github.com/ni/nimi-python/issues/2069)
* #### Removed
Expand Down
3 changes: 2 additions & 1 deletion build/templates/setup.py.mako
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ setup(
extras_require={
'grpc': [
'grpcio>=1.59.0,<2.0',
'protobuf>=4.21.6,<5.0'
'protobuf>=4.21.6'
],
},
% endif
Expand All @@ -63,6 +63,7 @@ setup(
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: Implementation :: CPython",
"Topic :: System :: Hardware :: Hardware Drivers"
],
Expand Down
6 changes: 3 additions & 3 deletions build/templates/tox-system_tests.ini.mako
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
wheel_env_no_py = '{}-wheel_dep'.format(module_name)
# We only actually need to build it once, but we specify multiple versions here
# to prevent tox from trying to build the wheel with an unsupported (earlier) Python version
wheel_env = 'py{39,310,311,312}-' + wheel_env_no_py + ','
wheel_env = 'py{39,310,311,312,313}-' + wheel_env_no_py + ','
uses_other_wheel = True
if module_name == 'nitclk':
# nitclk system tests use niscope
Expand All @@ -28,7 +28,7 @@
# test suite on all supported python versions. To use it, "pip install tox"
# and then run "tox -c tox-system_tests.ini" from the driver directory. (generated/${module_name})
[tox]
envlist = ${wheel_env}py{39,310,311,312}-${module_name}-system_tests, py312-${module_name}-coverage
envlist = ${wheel_env}py{39,310,311,312,313}-${module_name}-system_tests, py313-${module_name}-coverage
skip_missing_interpreters=True
ignore_basepython_conflict=True
# We put the .tox directory outside of the Jenkins workspace so that it isn't wiped with the rest of the repo
Expand Down Expand Up @@ -87,7 +87,7 @@ deps =
${module_name}-coverage: coverage

depends =
${module_name}-coverage: py{39,310,311,312}-${module_name}-system_tests
${module_name}-coverage: py{39,310,311,312,313}-${module_name}-system_tests
% if uses_other_wheel:
${module_name}-system_tests: ${wheel_env}
% endif
Expand Down
3 changes: 2 additions & 1 deletion generated/nidcpower/setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ def read_contents(file_to_read):
extras_require={
'grpc': [
'grpcio>=1.59.0,<2.0',
'protobuf>=4.21.6,<5.0'
'protobuf>=4.21.6'
],
},
classifiers=[
Expand All @@ -52,6 +52,7 @@ def read_contents(file_to_read):
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: Implementation :: CPython",
"Topic :: System :: Hardware :: Hardware Drivers"
],
Expand Down
4 changes: 2 additions & 2 deletions generated/nidcpower/tox-system_tests.ini
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
# test suite on all supported python versions. To use it, "pip install tox"
# and then run "tox -c tox-system_tests.ini" from the driver directory. (generated/nidcpower)
[tox]
envlist = py{39,310,311,312}-nidcpower-system_tests, py312-nidcpower-coverage
envlist = py{39,310,311,312,313}-nidcpower-system_tests, py313-nidcpower-coverage
skip_missing_interpreters=True
ignore_basepython_conflict=True
# We put the .tox directory outside of the Jenkins workspace so that it isn't wiped with the rest of the repo
Expand Down Expand Up @@ -43,7 +43,7 @@ deps =
nidcpower-coverage: coverage

depends =
nidcpower-coverage: py{39,310,311,312}-nidcpower-system_tests
nidcpower-coverage: py{39,310,311,312,313}-nidcpower-system_tests

passenv =
GIT_BRANCH
Expand Down
3 changes: 2 additions & 1 deletion generated/nidigital/setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ def read_contents(file_to_read):
extras_require={
'grpc': [
'grpcio>=1.59.0,<2.0',
'protobuf>=4.21.6,<5.0'
'protobuf>=4.21.6'
],
},
classifiers=[
Expand All @@ -53,6 +53,7 @@ def read_contents(file_to_read):
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: Implementation :: CPython",
"Topic :: System :: Hardware :: Hardware Drivers"
],
Expand Down
6 changes: 3 additions & 3 deletions generated/nidigital/tox-system_tests.ini
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
# test suite on all supported python versions. To use it, "pip install tox"
# and then run "tox -c tox-system_tests.ini" from the driver directory. (generated/nidigital)
[tox]
envlist = py{39,310,311,312}-nidigital-wheel_dep,py{39,310,311,312}-nidigital-system_tests, py312-nidigital-coverage
envlist = py{39,310,311,312,313}-nidigital-wheel_dep,py{39,310,311,312,313}-nidigital-system_tests, py313-nidigital-coverage
skip_missing_interpreters=True
ignore_basepython_conflict=True
# We put the .tox directory outside of the Jenkins workspace so that it isn't wiped with the rest of the repo
Expand Down Expand Up @@ -50,8 +50,8 @@ deps =
nidigital-coverage: coverage

depends =
nidigital-coverage: py{39,310,311,312}-nidigital-system_tests
nidigital-system_tests: py{39,310,311,312}-nidigital-wheel_dep,
nidigital-coverage: py{39,310,311,312,313}-nidigital-system_tests
nidigital-system_tests: py{39,310,311,312,313}-nidigital-wheel_dep,

passenv =
GIT_BRANCH
Expand Down
3 changes: 2 additions & 1 deletion generated/nidmm/setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ def read_contents(file_to_read):
extras_require={
'grpc': [
'grpcio>=1.59.0,<2.0',
'protobuf>=4.21.6,<5.0'
'protobuf>=4.21.6'
],
},
classifiers=[
Expand All @@ -52,6 +52,7 @@ def read_contents(file_to_read):
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: Implementation :: CPython",
"Topic :: System :: Hardware :: Hardware Drivers"
],
Expand Down
4 changes: 2 additions & 2 deletions generated/nidmm/tox-system_tests.ini
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
# test suite on all supported python versions. To use it, "pip install tox"
# and then run "tox -c tox-system_tests.ini" from the driver directory. (generated/nidmm)
[tox]
envlist = py{39,310,311,312}-nidmm-system_tests, py312-nidmm-coverage
envlist = py{39,310,311,312,313}-nidmm-system_tests, py313-nidmm-coverage
skip_missing_interpreters=True
ignore_basepython_conflict=True
# We put the .tox directory outside of the Jenkins workspace so that it isn't wiped with the rest of the repo
Expand Down Expand Up @@ -43,7 +43,7 @@ deps =
nidmm-coverage: coverage

depends =
nidmm-coverage: py{39,310,311,312}-nidmm-system_tests
nidmm-coverage: py{39,310,311,312,313}-nidmm-system_tests

passenv =
GIT_BRANCH
Expand Down
3 changes: 2 additions & 1 deletion generated/nifake/setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ def read_contents(file_to_read):
extras_require={
'grpc': [
'grpcio>=1.59.0,<2.0',
'protobuf>=4.21.6,<5.0'
'protobuf>=4.21.6'
],
},
classifiers=[
Expand All @@ -53,6 +53,7 @@ def read_contents(file_to_read):
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: Implementation :: CPython",
"Topic :: System :: Hardware :: Hardware Drivers"
],
Expand Down
6 changes: 3 additions & 3 deletions generated/nifake/tox-system_tests.ini
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
# test suite on all supported python versions. To use it, "pip install tox"
# and then run "tox -c tox-system_tests.ini" from the driver directory. (generated/nifake)
[tox]
envlist = py{39,310,311,312}-nifake-wheel_dep,py{39,310,311,312}-nifake-system_tests, py312-nifake-coverage
envlist = py{39,310,311,312,313}-nifake-wheel_dep,py{39,310,311,312,313}-nifake-system_tests, py313-nifake-coverage
skip_missing_interpreters=True
ignore_basepython_conflict=True
# We put the .tox directory outside of the Jenkins workspace so that it isn't wiped with the rest of the repo
Expand Down Expand Up @@ -50,8 +50,8 @@ deps =
nifake-coverage: coverage

depends =
nifake-coverage: py{39,310,311,312}-nifake-system_tests
nifake-system_tests: py{39,310,311,312}-nifake-wheel_dep,
nifake-coverage: py{39,310,311,312,313}-nifake-system_tests
nifake-system_tests: py{39,310,311,312,313}-nifake-wheel_dep,

passenv =
GIT_BRANCH
Expand Down
3 changes: 2 additions & 1 deletion generated/nifgen/setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ def read_contents(file_to_read):
extras_require={
'grpc': [
'grpcio>=1.59.0,<2.0',
'protobuf>=4.21.6,<5.0'
'protobuf>=4.21.6'
],
},
classifiers=[
Expand All @@ -53,6 +53,7 @@ def read_contents(file_to_read):
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: Implementation :: CPython",
"Topic :: System :: Hardware :: Hardware Drivers"
],
Expand Down
6 changes: 3 additions & 3 deletions generated/nifgen/tox-system_tests.ini
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
# test suite on all supported python versions. To use it, "pip install tox"
# and then run "tox -c tox-system_tests.ini" from the driver directory. (generated/nifgen)
[tox]
envlist = py{39,310,311,312}-nifgen-wheel_dep,py{39,310,311,312}-nifgen-system_tests, py312-nifgen-coverage
envlist = py{39,310,311,312,313}-nifgen-wheel_dep,py{39,310,311,312,313}-nifgen-system_tests, py313-nifgen-coverage
skip_missing_interpreters=True
ignore_basepython_conflict=True
# We put the .tox directory outside of the Jenkins workspace so that it isn't wiped with the rest of the repo
Expand Down Expand Up @@ -50,8 +50,8 @@ deps =
nifgen-coverage: coverage

depends =
nifgen-coverage: py{39,310,311,312}-nifgen-system_tests
nifgen-system_tests: py{39,310,311,312}-nifgen-wheel_dep,
nifgen-coverage: py{39,310,311,312,313}-nifgen-system_tests
nifgen-system_tests: py{39,310,311,312,313}-nifgen-wheel_dep,

passenv =
GIT_BRANCH
Expand Down
1 change: 1 addition & 0 deletions generated/nimodinst/setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ def read_contents(file_to_read):
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: Implementation :: CPython",
"Topic :: System :: Hardware :: Hardware Drivers"
],
Expand Down
4 changes: 2 additions & 2 deletions generated/nimodinst/tox-system_tests.ini
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
# test suite on all supported python versions. To use it, "pip install tox"
# and then run "tox -c tox-system_tests.ini" from the driver directory. (generated/nimodinst)
[tox]
envlist = py{39,310,311,312}-nimodinst-system_tests, py312-nimodinst-coverage
envlist = py{39,310,311,312,313}-nimodinst-system_tests, py313-nimodinst-coverage
skip_missing_interpreters=True
ignore_basepython_conflict=True
# We put the .tox directory outside of the Jenkins workspace so that it isn't wiped with the rest of the repo
Expand Down Expand Up @@ -42,7 +42,7 @@ deps =
nimodinst-coverage: coverage

depends =
nimodinst-coverage: py{39,310,311,312}-nimodinst-system_tests
nimodinst-coverage: py{39,310,311,312,313}-nimodinst-system_tests

passenv =
GIT_BRANCH
Expand Down
3 changes: 2 additions & 1 deletion generated/niscope/setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ def read_contents(file_to_read):
extras_require={
'grpc': [
'grpcio>=1.59.0,<2.0',
'protobuf>=4.21.6,<5.0'
'protobuf>=4.21.6'
],
},
classifiers=[
Expand All @@ -53,6 +53,7 @@ def read_contents(file_to_read):
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: Implementation :: CPython",
"Topic :: System :: Hardware :: Hardware Drivers"
],
Expand Down
6 changes: 3 additions & 3 deletions generated/niscope/tox-system_tests.ini
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
# test suite on all supported python versions. To use it, "pip install tox"
# and then run "tox -c tox-system_tests.ini" from the driver directory. (generated/niscope)
[tox]
envlist = py{39,310,311,312}-niscope-wheel_dep,py{39,310,311,312}-niscope-system_tests, py312-niscope-coverage
envlist = py{39,310,311,312,313}-niscope-wheel_dep,py{39,310,311,312,313}-niscope-system_tests, py313-niscope-coverage
skip_missing_interpreters=True
ignore_basepython_conflict=True
# We put the .tox directory outside of the Jenkins workspace so that it isn't wiped with the rest of the repo
Expand Down Expand Up @@ -50,8 +50,8 @@ deps =
niscope-coverage: coverage

depends =
niscope-coverage: py{39,310,311,312}-niscope-system_tests
niscope-system_tests: py{39,310,311,312}-niscope-wheel_dep,
niscope-coverage: py{39,310,311,312,313}-niscope-system_tests
niscope-system_tests: py{39,310,311,312,313}-niscope-wheel_dep,

passenv =
GIT_BRANCH
Expand Down
1 change: 1 addition & 0 deletions generated/nise/setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ def read_contents(file_to_read):
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: Implementation :: CPython",
"Topic :: System :: Hardware :: Hardware Drivers"
],
Expand Down
4 changes: 2 additions & 2 deletions generated/nise/tox-system_tests.ini
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
# test suite on all supported python versions. To use it, "pip install tox"
# and then run "tox -c tox-system_tests.ini" from the driver directory. (generated/nise)
[tox]
envlist = py{39,310,311,312}-nise-system_tests, py312-nise-coverage
envlist = py{39,310,311,312,313}-nise-system_tests, py313-nise-coverage
skip_missing_interpreters=True
ignore_basepython_conflict=True
# We put the .tox directory outside of the Jenkins workspace so that it isn't wiped with the rest of the repo
Expand Down Expand Up @@ -42,7 +42,7 @@ deps =
nise-coverage: coverage

depends =
nise-coverage: py{39,310,311,312}-nise-system_tests
nise-coverage: py{39,310,311,312,313}-nise-system_tests

passenv =
GIT_BRANCH
Expand Down
3 changes: 2 additions & 1 deletion generated/niswitch/setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ def read_contents(file_to_read):
extras_require={
'grpc': [
'grpcio>=1.59.0,<2.0',
'protobuf>=4.21.6,<5.0'
'protobuf>=4.21.6'
],
},
classifiers=[
Expand All @@ -52,6 +52,7 @@ def read_contents(file_to_read):
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: Implementation :: CPython",
"Topic :: System :: Hardware :: Hardware Drivers"
],
Expand Down
4 changes: 2 additions & 2 deletions generated/niswitch/tox-system_tests.ini
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
# test suite on all supported python versions. To use it, "pip install tox"
# and then run "tox -c tox-system_tests.ini" from the driver directory. (generated/niswitch)
[tox]
envlist = py{39,310,311,312}-niswitch-system_tests, py312-niswitch-coverage
envlist = py{39,310,311,312,313}-niswitch-system_tests, py313-niswitch-coverage
skip_missing_interpreters=True
ignore_basepython_conflict=True
# We put the .tox directory outside of the Jenkins workspace so that it isn't wiped with the rest of the repo
Expand Down Expand Up @@ -43,7 +43,7 @@ deps =
niswitch-coverage: coverage

depends =
niswitch-coverage: py{39,310,311,312}-niswitch-system_tests
niswitch-coverage: py{39,310,311,312,313}-niswitch-system_tests

passenv =
GIT_BRANCH
Expand Down
Loading