Skip to content

Conversation

bkeryan
Copy link
Collaborator

@bkeryan bkeryan commented Oct 10, 2025

  • This contribution adheres to CONTRIBUTING.md.
  • [ ] I've updated CHANGELOG.md if applicable.
  • [ ] I've added tests applicable for this pull request

What does this Pull Request accomplish?

Add py314-base and py314-grpc Tox envs.

I tried adding py314t-base, but I ran into problems, so I filed #853 .

Change python --version to python -VV so it shows whether it's the free-threaded build or not.

Why should this Pull Request be merged?

Add test coverage for Python 3.14.

What testing has been done?

Ran PR workflow.

Copy link
Contributor

Test Results

    48 files  +    4      48 suites  +4   1h 14m 10s ⏱️ + 8m 41s
 3 094 tests ±    0   2 435 ✅ ±    0     659 💤 ±    0  0 ❌ ±0 
59 928 runs  +8 448  47 650 ✅ +6 604  12 278 💤 +1 844  0 ❌ ±0 

Results for commit d99befc. ± Comparison against base commit 72d09b9.

@bkeryan
Copy link
Collaborator Author

bkeryan commented Oct 10, 2025

win-10-py64

py314-base: freeze> python -m pip freeze --all
py314-base: pip==25.1.1
py314-base: commands[0]> poetry run python -VV
Python 3.14.0 (tags/v3.14.0:ebf955d, Oct  7 2025, 10:15:03) [MSC v.1944 64 bit (AMD64)]
py314-base: commands[1]> poetry install -v --only main,test
Using virtualenv: C:\ar\_work\nidaqmx-python\nidaqmx-python\.tox\py314-base
Checking keyring availability: Available
Installing dependencies from lock file

Finding the necessary packages for the current system

Package operations: 34 installs, 0 updates, 0 removals, 2 skipped

  - Installing colorama (0.4.6)
  - Installing distlib (0.4.0)
  - Installing filelock (3.18.0)
  - Installing iniconfig (2.1.0)
  - Installing packaging (25.0)
  - Installing platformdirs (4.3.8)
  - Installing pluggy (1.6.0)
  - Installing pygments (2.19.2)
  - Installing cachetools (6.1.0)
  - Installing certifi (2025.7.14)
  - Installing chardet (5.2.0)
  - Installing charset-normalizer (3.4.2)
  - Installing coverage (7.10.7)
  - Installing hightime (0.2.2)
  - Installing idna (3.10)
  - Installing numpy (2.3.2)
  - Installing py-cpuinfo (9.0.0)
  - Installing pyproject-api (1.9.1)
  - Installing pytest (8.4.2)
  - Installing typing-extensions (4.15.0)
  - Installing tzdata (2025.2)
  - Installing urllib3 (2.5.0)
  - Installing virtualenv (20.32.0)
  - Installing click (8.2.1)
  - Installing deprecation (2.1.0)
  - Installing grpcio (1.75.1): Skipped for the following reason: Not required
  - Installing protobuf (6.32.1): Skipped for the following reason: Not required
  - Installing pykka (4.2.0)
  - Installing pytest-benchmark (5.1.0)
  - Installing pytest-cov (7.0.0)
  - Installing nitypes (0.1.0.dev10)
  - Installing pytest-mock (3.15.1)
  - Installing python-decouple (3.8)
  - Installing requests (2.32.5)
  - Installing tox (4.30.2)
  - Installing tzlocal (5.3.1)

Installing the current project: nidaqmx (1.3.0-dev1)
py314-base: commands[2]> poetry run python -c "from nidaqmx._lib import lib_importer; print(f'Library: {lib_importer.windll._library._name}\nLibrary encoding: {lib_importer.encoding}')"
Library: nicai_utf8
Library encoding: utf-8
py314-base: commands[3]> poetry run pytest --quiet --cov=generated/nidaqmx --cov-append --cov-report= --junitxml=test_results/system-py314-base.xml -k library
sssssss.sssssssssssssssssssssssssssssss.ssssssssss...................... [  5%]
........................................................................ [ 10%]
..........................................................ssssssssssssss [ 16%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss.... [ 21%]
........................................................................ [ 26%]
........................................................................ [ 32%]
........................................................................ [ 37%]
.......................................................ssssss....s...... [ 42%]
........................................................................ [ 48%]
........................................................................ [ 53%]
........................................................................ [ 58%]
........................................................................ [ 64%]
........................................XXX.......x.x...x.x............. [ 69%]
......ssssssssssssssssssssssssssssssssssssssssssssssssssss.............. [ 74%]
........................................................................ [ 80%]
...........................................sssssssssssssssssssssssssssss [ 85%]
sssssss................sss.......s..s................................... [ 90%]
...s..............s.........ssssssssssssssss...............sssssssssssss [ 96%]
sssssssssssssssss.............................ssss                       [100%]
- generated xml file: C:\ar\_work\nidaqmx-python\nidaqmx-python\test_results\system-py314-base.xml -
1057 passed, 282 skipped, 1532 deselected, 4 xfailed, 3 xpassed in 62.79s (0:01:02)
py314-base: OK ✔ in 1 minute 45.11 seconds
py314-grpc: freeze> python -m pip freeze --all
py314-grpc: pip==25.1.1
py314-grpc: commands[0]> poetry run python -VV
Python 3.14.0 (tags/v3.14.0:ebf955d, Oct  7 2025, 10:15:03) [MSC v.1944 64 bit (AMD64)]
py314-grpc: commands[1]> poetry install -v --only main,test --extras grpc
Using virtualenv: C:\ar\_work\nidaqmx-python\nidaqmx-python\.tox\py314-grpc
Checking keyring availability: Available
Installing dependencies from lock file

Finding the necessary packages for the current system

Package operations: 36 installs, 0 updates, 0 removals

  - Installing colorama (0.4.6)
  - Installing distlib (0.4.0)
  - Installing filelock (3.18.0)
  - Installing iniconfig (2.1.0)
  - Installing packaging (25.0)
  - Installing platformdirs (4.3.8)
  - Installing pluggy (1.6.0)
  - Installing pygments (2.19.2)
  - Installing cachetools (6.1.0)
  - Installing certifi (2025.7.14)
  - Installing chardet (5.2.0)
  - Installing coverage (7.10.7)
  - Installing charset-normalizer (3.4.2)
  - Installing hightime (0.2.2)
  - Installing idna (3.10)
  - Installing numpy (2.3.2)
  - Installing py-cpuinfo (9.0.0)
  - Installing pyproject-api (1.9.1)
  - Installing pytest (8.4.2)
  - Installing typing-extensions (4.15.0)
  - Installing tzdata (2025.2)
  - Installing urllib3 (2.5.0)
  - Installing virtualenv (20.32.0)
  - Installing click (8.2.1)
  - Installing deprecation (2.1.0)
  - Installing grpcio (1.75.1)
  - Installing nitypes (0.1.0.dev10)
  - Installing protobuf (6.32.1)
  - Installing pykka (4.2.0)
  - Installing pytest-benchmark (5.1.0)
  - Installing pytest-cov (7.0.0)
  - Installing pytest-mock (3.15.1)
  - Installing python-decouple (3.8)
  - Installing requests (2.32.5)
  - Installing tox (4.30.2)
  - Installing tzlocal (5.3.1)

Installing the current project: nidaqmx (1.3.0-dev1)
py314-grpc: commands[2]> poetry run python -c "from nidaqmx._lib import lib_importer; print(f'Library: {lib_importer.windll._library._name}\nLibrary encoding: {lib_importer.encoding}')"
Library: nicai_utf8
Library encoding: utf-8
py314-grpc: commands[3]> poetry run pytest --quiet --cov=generated/nidaqmx --cov-append --cov-report= --junitxml=test_results/system-py314-grpc.xml
sssssss.sssssssssssssssssssssssssssssss.ssssssssss.......sss.......sss.. [  2%]
.....sss.......sss.....................s.s.s.s.s.s.s.s.s.s.s.........s.s [  5%]
.s.s.s.s.s.s.s.s.s.s.................................................... [  7%]
.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s...sss...........................s.s.s.s.s [ 10%]
.s.s.s.s.s.s.s.s.s.s.s.s.s...sss..................................ssssss [ 12%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 15%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 17%]
ssssssssssssss.......................................................... [ 20%]
........................................................................ [ 22%]
........................................................................ [ 25%]
........................................................................ [ 27%]
........................................................................ [ 30%]
........................................................................ [ 32%]
........................................................................ [ 35%]
.............................................................sssssssssss [ 37%]
s........ss............................................................. [ 40%]
........................................................................ [ 42%]
........................................................................ [ 45%]
........................................................................ [ 47%]
......x................................................................. [ 50%]
........................................................................ [ 52%]
.......................................xxXXXxXxXxxxxxxxxxxx............. [ 55%]
........................................................................ [ 57%]
........................................................................ [ 60%]
..............................XXXxXX..............xx..xx......xx..xx.s.s [ 62%]
.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.sssssssssssssssssssssssssssssssssssssss [ 65%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss...... [ 67%]
........................................................................ [ 70%]
........................................................................ [ 72%]
........................................................................ [ 75%]
......................................ssssssssssssssssssssssssssssssssss [ 77%]
ssssssssssssssssssssssssssssssssssssss...............................sss [ 80%]
sss.........x.x..ss....ss............................................... [ 82%]
...............................ss...............................ss...... [ 85%]
............ssssssssssssssssssssssssssssssss............................ [ 87%]
..ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss.......... [ 90%]
....................................................ssssssss............ [ 92%]
........................................................................ [ 95%]
........................................................................ [ 97%]
......................................................................   [100%]
- generated xml file: C:\ar\_work\nidaqmx-python\nidaqmx-python\test_results\system-py314-grpc.xml -
2232 passed, 609 skipped, 27 xfailed, 10 xpassed in 168.05s (0:02:48)
py314-grpc: OK ✔ in 3 minutes 10.38 seconds

@bkeryan
Copy link
Collaborator Author

bkeryan commented Oct 10, 2025

win-10-py32

py314-base: freeze> python -m pip freeze --all
py314-base: pip==25.1.1
py314-base: commands[0]> poetry run python -VV
Python 3.14.0 (tags/v3.14.0:ebf955d, Oct  7 2025, 10:06:33) [MSC v.1944 32 bit (Intel)]
py314-base: commands[1]> poetry install -v --only main,test
Using virtualenv: C:\ar\_work\nidaqmx-python\nidaqmx-python\.tox\py314-base
Checking keyring availability: Available
Installing dependencies from lock file

Finding the necessary packages for the current system

Package operations: 34 installs, 0 updates, 0 removals, 2 skipped

  - Installing colorama (0.4.6)
  - Installing distlib (0.4.0)
  - Installing filelock (3.18.0)
  - Installing iniconfig (2.1.0)
  - Installing packaging (25.0)
  - Installing platformdirs (4.3.8)
  - Installing pluggy (1.6.0)
  - Installing pygments (2.19.2)
  - Installing cachetools (6.1.0)
  - Installing certifi (2025.7.14)
  - Installing chardet (5.2.0)
  - Installing charset-normalizer (3.4.2)
  - Installing hightime (0.2.2)
  - Installing coverage (7.10.7)
  - Installing idna (3.10)
  - Installing numpy (2.3.2)
  - Installing py-cpuinfo (9.0.0)
  - Installing pyproject-api (1.9.1)
  - Installing pytest (8.4.2)
  - Installing typing-extensions (4.15.0)
  - Installing tzdata (2025.2)
  - Installing urllib3 (2.5.0)
  - Installing virtualenv (20.32.0)
  - Installing click (8.2.1)
  - Installing deprecation (2.1.0)
  - Installing grpcio (1.75.1): Skipped for the following reason: Not required
  - Installing protobuf (6.32.1): Skipped for the following reason: Not required
  - Installing nitypes (0.1.0.dev10)
  - Installing pykka (4.2.0)
  - Installing pytest-benchmark (5.1.0)
  - Installing pytest-cov (7.0.0)
  - Installing pytest-mock (3.15.1)
  - Installing python-decouple (3.8)
  - Installing requests (2.32.5)
  - Installing tox (4.30.2)
  - Installing tzlocal (5.3.1)

Installing the current project: nidaqmx (1.3.0-dev1)
py314-base: commands[2]> poetry run python -c "from nidaqmx._lib import lib_importer; print(f'Library: {lib_importer.windll._library._name}\nLibrary encoding: {lib_importer.encoding}')"
Library: nicai_utf8
Library encoding: utf-8
py314-base: commands[3]> poetry run pytest --quiet --cov=generated/nidaqmx --cov-append --cov-report= --junitxml=test_results/system-py314-base.xml -k library
sssssss.sssssssssssssssssssssssssssssss.ssssssssss...................... [  5%]
........................................................................ [ 10%]
..........................................................ssssssssssssss [ 16%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss.... [ 21%]
........................................................................ [ 26%]
........................................................................ [ 32%]
........................................................................ [ 37%]
.......................................................ssssss....s...... [ 42%]
........................................................................ [ 48%]
........................................................................ [ 53%]
........................................................................ [ 58%]
........................................................................ [ 64%]
........................................XXX.......x.x...x.x............. [ 69%]
......ssssssssssssssssssssssssssssssssssssssssssssssssssss.............. [ 74%]
........................................................................ [ 80%]
...........................................sssssssssssssssssssssssssssss [ 85%]
sssssss................sss.......s..s................................... [ 90%]
...s..............s.........ssssssssssssssss...............sssssssssssss [ 96%]
sssssssssssssssss.............................ssss                       [100%]
- generated xml file: C:\ar\_work\nidaqmx-python\nidaqmx-python\test_results\system-py314-base.xml -
1057 passed, 282 skipped, 1532 deselected, 4 xfailed, 3 xpassed in 66.10s (0:01:06)
py314-base: OK ✔ in 1 minute 37.86 seconds
py314-grpc: freeze> python -m pip freeze --all
py314-grpc: pip==25.1.1
py314-grpc: commands[0]> poetry run python -VV
Python 3.14.0 (tags/v3.14.0:ebf955d, Oct  7 2025, 10:06:33) [MSC v.1944 32 bit (Intel)]
py314-grpc: commands[1]> poetry install -v --only main,test --extras grpc
Using virtualenv: C:\ar\_work\nidaqmx-python\nidaqmx-python\.tox\py314-grpc
Checking keyring availability: Available
Installing dependencies from lock file

Finding the necessary packages for the current system

Package operations: 36 installs, 0 updates, 0 removals

  - Installing colorama (0.4.6)
  - Installing distlib (0.4.0)
  - Installing filelock (3.18.0)
  - Installing iniconfig (2.1.0)
  - Installing packaging (25.0)
  - Installing platformdirs (4.3.8)
  - Installing pluggy (1.6.0)
  - Installing pygments (2.19.2)
  - Installing cachetools (6.1.0)
  - Installing certifi (2025.7.14)
  - Installing coverage (7.10.7)
  - Installing chardet (5.2.0)
  - Installing charset-normalizer (3.4.2)
  - Installing hightime (0.2.2)
  - Installing idna (3.10)
  - Installing numpy (2.3.2)
  - Installing py-cpuinfo (9.0.0)
  - Installing pyproject-api (1.9.1)
  - Installing pytest (8.4.2)
  - Installing typing-extensions (4.15.0)
  - Installing tzdata (2025.2)
  - Installing urllib3 (2.5.0)
  - Installing virtualenv (20.32.0)
  - Installing click (8.2.1)
  - Installing deprecation (2.1.0)
  - Installing grpcio (1.75.1)
  - Installing nitypes (0.1.0.dev10)
  - Installing protobuf (6.32.1)
  - Installing pykka (4.2.0)
  - Installing pytest-benchmark (5.1.0)
  - Installing pytest-cov (7.0.0)
  - Installing pytest-mock (3.15.1)
  - Installing python-decouple (3.8)
  - Installing requests (2.32.5)
  - Installing tox (4.30.2)
  - Installing tzlocal (5.3.1)

Installing the current project: nidaqmx (1.3.0-dev1)
py314-grpc: commands[2]> poetry run python -c "from nidaqmx._lib import lib_importer; print(f'Library: {lib_importer.windll._library._name}\nLibrary encoding: {lib_importer.encoding}')"
Library: nicai_utf8
Library encoding: utf-8
py314-grpc: commands[3]> poetry run pytest --quiet --cov=generated/nidaqmx --cov-append --cov-report= --junitxml=test_results/system-py314-grpc.xml
sssssss.sssssssssssssssssssssssssssssss.ssssssssss.......sss.......sss.. [  2%]
.....sss.......sss.....................s.s.s.s.s.s.s.s.s.s.s.........s.s [  5%]
.s.s.s.s.s.s.s.s.s.s.................................................... [  7%]
.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s...sss...........................s.s.s.s.s [ 10%]
.s.s.s.s.s.s.s.s.s.s.s.s.s...sss..................................ssssss [ 12%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 15%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 17%]
ssssssssssssss.......................................................... [ 20%]
........................................................................ [ 22%]
........................................................................ [ 25%]
........................................................................ [ 27%]
........................................................................ [ 30%]
........................................................................ [ 32%]
........................................................................ [ 35%]
.............................................................sssssssssss [ 37%]
s........ss............................................................. [ 40%]
........................................................................ [ 42%]
........................................................................ [ 45%]
........................................................................ [ 47%]
......x................................................................. [ 50%]
........................................................................ [ 52%]
.......................................xxXXXxXxXxxxxxxxxxxx............. [ 55%]
........................................................................ [ 57%]
........................................................................ [ 60%]
..............................XXXxXX..............xx..xx......xx..xx.s.s [ 62%]
.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.sssssssssssssssssssssssssssssssssssssss [ 65%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss...... [ 67%]
........................................................................ [ 70%]
........................................................................ [ 72%]
........................................................................ [ 75%]
......................................ssssssssssssssssssssssssssssssssss [ 77%]
ssssssssssssssssssssssssssssssssssssss...............................sss [ 80%]
sss.........x.x..ss....ss............................................... [ 82%]
...............................ss...............................ss...... [ 85%]
............ssssssssssssssssssssssssssssssss............................ [ 87%]
..ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss.......... [ 90%]
....................................................ssssssss............ [ 92%]
........................................................................ [ 95%]
........................................................................ [ 97%]
......................................................................   [100%]
- generated xml file: C:\ar\_work\nidaqmx-python\nidaqmx-python\test_results\system-py314-grpc.xml -
2232 passed, 609 skipped, 27 xfailed, 10 xpassed in 193.65s (0:03:13)
py314-grpc: OK ✔ in 3 minutes 36.42 seconds

@bkeryan bkeryan enabled auto-merge (squash) October 10, 2025 21:59
@bkeryan bkeryan merged commit 5c22f3a into master Oct 13, 2025
31 checks passed
@bkeryan bkeryan deleted the users/bkeryan/python-3.14-2 branch October 13, 2025 17:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants