Releases: ni/nidaqmx-python
Releases · ni/nidaqmx-python
1.3.0
1.3.0
-
Merged Pull Requests
-
Resolved Issues
-
Major Changes
- (IN PROGRESS behind "WAVEFORM_SUPPORT" feature toggle) Added support for reading and writing Waveform data.
- Simplify
numpyandclickversion constraints.nidaqmxsupports a wider range of Python versions thannumpyandclick, so testing
nidaqmxagainst its oldest supported Python version (currently 3.9) requires downgrading
to older versions ofnumpyandclick.- Previously, these testing-specific version constraints leaked into to the
nidaqmx
distribution package and affected clients. Adding PyPy-specific markers exacerbated
this problem by requiring clients to specify the same markers. numpy2.0.x is the last version that supports Python 3.9, and it crashes with Python
3.13, so thenidaqmxdistribution package specifies twonumpyversion constraints:
one for Python 3.9-3.12 (numpy>=1.22) and one for Python 3.13+ (numpy>=2.1).- The
nidaqmxdistribution package now specifies only a lower bound forclick.
- Clarify PyPy support and enable unit testing with PyPy.
- Adopt ni-python-styleguide for hand-written code.
- Upgrade to Poetry 2.x and migrate
pyproject.tomlformat. - Add support for Python 3.14.
- Add https://github.com/ni/ni-apis as a submodule of nidaqmx-python.
- Add an optional dependency on
ni.grpcdevice.v1.proto.- The internal
session_pb2submodule has been moved to the shared packageni.grpcdevice.v1.proto. Installing thenidaqmxpackage'sgrpcextra will automatically install this package. - If you get
ModuleNotFoundError: No module named 'session_pb2', make sure you are installing thenidaqmxpackage'sgrpcextra.
- The internal
-
Known Issues
- ...
1.3.0-dev0
- Merged Pull Requests
- Major Changes
- (IN PROGRESS behind "WAVEFORM_SUPPORT" feature toggle) Added support for reading and writing Waveform data.
- Simplify numpy and click version constraints.
- nidaqmx supports a wider range of Python versions than numpy and click, so testing nidaqmx against its oldest supported Python version (currently 3.9) requires downgrading to older versions of numpy and click.
- Previously, these testing-specific version constraints leaked into to the nidaqmx distribution package and affected clients. Adding PyPy-specific markers exacerbated this problem by requiring clients to specify the same markers.
- numpy 2.0.x is the last version that supports Python 3.9, and it crashes with Python 3.13, so the nidaqmx distribution package specifies two numpy version constraints: one for Python 3.9-3.12 (numpy>=1.22) and one for Python 3.13+ (numpy>=2.1).
- The nidaqmx distribution package now specifies only a lower bound for click.
- Clarify PyPy support and enable unit testing with PyPy.
- Adopt ni-python-styleguide for hand-written code.
- Upgrade to Poetry 2.x and migrate pyproject.toml format.
1.2.0
1.2.0
-
Merged Pull Requests
-
Resolved Issues
- Fix PEP 660 builds by setting
build-systemto usepoetry-core - 579: nidaqmx does not generate numbered virtual channel names correctly
- 692: Cannot set "ai_conv_rate" on NI DAQ 9209 due to missing active device modifier for timing attributes
- Fix PEP 660 builds by setting
-
Major Changes
- Removed the
docsextra and converted it to a Poetry dependency group. - Updated hightime dependency from
^0.2.2to>=0.2.2to allow for newer versions.
- Removed the
1.2.0-dev1
Resolved Issues
- Update tests to require X Series device with 32 DIO lines (#753)
- Fix dependency: hightime = ">=0.2.2" (#772)
New Contributors
- @github-actions made their first contribution in #751
- @TanYiQing made their first contribution in #753
- @mikeprosserni made their first contribution in #772
Full Changelog: 1.2.0-dev0...1.2.0-dev1
1.2.0-dev0
Resolved Issues
- Fix PEP 660 builds by setting
build-systemto usepoetry-core - 579: nidaqmx does not generate numbered virtual channel names correctly
Major Changes
- Removed the
docsextra and converted it to a Poetry dependency group.
Minor Changes
- Upgrade to Python 3.9 syntax (#681)
- README.rst: Clarify that NI created and supports this package (#703)
- nidaqmx: Update to typeshed gRPC stubs (#708)
- Update pep8-naming and fix inconsistently named TypeVar (#713)
- Remove NILICENSE for gRPC Features (#716)
- Update DAQmx Installer Download Link (#728)
- mypy: Enable --warn-unused-ignores and remove unused ignores (#749)
- GitHub Actions workflow and repository improvements
New Contributors
Full Changelog: 1.1.0...1.2.0-dev0
1.1.0
1.1.0
-
Merged Pull Requests
-
Resolved Issues
-
Major Changes
- Added support for mioDAQ configurable digital voltage.
- Added support for mioDAQ ID Pin.
- Removed support for Python 3.8.
1.0.2
1.0.2
-
Merged Pull Requests
-
Resolved Issues
- 644: nidaqmx doesn't support Python 3.13+
- 641: No devices found
- Fall back to ASCII encoding if the system locale is not set.
-
Known Issues
1.0.1
1.0.1
-
Merged Pull Requests
-
Resolved Issues
- 540: Task.wait_for_valid_timestamp doesn't return the timestamp
- 606: CERTIFICATE_VERIFY_FAILED occurs when executing installdriver command on Windows system
- 615: Onboard device memory overflow
- 623: installdriver CLI doesn't prompt or indicate what versions are being downloaded/installed on a clean system
-
Known Issues
1.0.0
1.0.0
-
Merged Pull Requests
-
Resolved Issues
-
Major Changes
- Add support for strain calibration (offset nulling and shunt calibration)
- Add support for DAQmx calibration info properties
- Add support for WaitForValidTimestamp
- Fix naming issues:
- Rename
ShuntCalSelect.AAND_BtoA_AND_B.
- Rename
- Automate Driver Install Experience within nidaqmx Module
- Update libtime to accept time before 1970
1.0.0-dev0
Pre-release version for further testing.
In lieu of full release notes, here are the commits since 0.9.0
* 8a96d34 (HEAD -> master, origin/master) update to 1.0.0-dev0 (#567)
* a6d9e71 Reorganize examples to folders (#565)
* 31a89b5 After the fact feedback from PR #558 (#564)
* 06da4f4 Build(deps): Bump idna from 3.6 to 3.7 (#563)
* e609ae6 Update hightime library (#560)
* 5a8c6a5 Automate Driver Install Experience within nidaqmx Module (#512)
* 230b235 Add tests to verify closing task in event callback does not crash or error (#558)
* 3fdfbee Accept either comma delimited or flattened channel string as valid (#553)
* b73c3ac mypy: Ignore redef in importlib_metadata hack and run mypy --platform win32 (#554)
* a60f369 Component tests for Global Chans, Task Done, and Watchdog (#548)
* 44f2486 Improve error reporting in some cases (#550)
* 33fb53f Build(deps-dev): Bump black from 24.2.0 to 24.3.0 (#547)
* ef87d63 fix physical channel/device collection slice/string behavior (#536)
* e902251 Add pathlib.PurePath type for file path (#542)
* d5b5636 Pick up trigger attributes changes from scrapigen (#545)
* d4d078b Refactor Task Internal Modules: Triggers (#546)
* 2e0e590 Refactor Task Internal Modules: Channels (#544)
* 4d6b783 Refactor Task Internal Modules: Collections (#541)
* 026eba1 Update cfg analog multi edge trig APIs (#535)
* 5fd2123 Refactor Task Internal Modules (ExportSignal, OutStream, Timing) (#539)
* 22301b5 Refactor task.py and internal module (in_stream.py) (#534)
* 91cea8e Allocate Buffer Size for Read/Write String Status Properties (#537)
* 0f65354 Fix parameter rosette_meas_types type in docstrings (#511)
* ca462ac Add Counter Stream Writer tests (#533)
* c0e4716 Add Tox Env for Internationalization Testing (#532)
* 2c18e56 Add Digital Stream Writer tests (#531)
* bac7f01 Add Functional Tests for Internationalization (#525)
* df7366e tests: Add new tests for Task.read (#530)
* 57b0001 handwritten: Fix mypy errors with recent _lib.py changes
* 5ca4030 handwritten: Fix Linux-specific mypy error
* 5646c78 GitHub: Run mypy on generated/nidaqmx
* 7b8c8ca handwritten: Fix mypy errors in task.py
* bbce385 handwritten: Fix mypy errors in stream_readers.py
* a5aee8a codegen: Fix mypy errors in in_stream.py
* 12e5ea1 codegen: Fix mypy errors for numpy.float64([...]), etc.
* 71ee5aa handwritten: Fix mypy errors in _time.py
* a0a4cd9 codegen, handwritten: Ignore mypy errors in "alternate constructors"
* c999a5f handwritten: Fix mypy errors for utils.py
* 5f3dd8f Update poetry.lock (#526)
* 4e41a70 Add Analog Stream Writer tests (#515)
* 981e45f Support Non-ASCII Characters for User-Provided String (#518)
* 9648bc6 Add python-decouple Dependency (#524)
* 6267cc0 Add functional test for wait_for_valid_timestamp (#510)
* 18cb6e2 Update libtime to accept time before 1970 (#504)
* 205dc3b Add tzlocal dependency in poetry.lock (#521)
* bb5ef01 Update AI Bridge Default Argument Values (#509)
* 22ae455 Change ai_voltage_field_daq_task to ai_voltage_task (#520)
* a2869af Update poetry.lock and reformat code with updated tools (#517)
* 7e8800c Add max_config files for Linux (#516)
* 14f953c tests: Fix mypy errors and run mypy during PR build (#505)
* 0905e65 replace fielddaq with cdaq in tests (#513)
* a7a3643 Add support for DAQmx calibration info properties (#473)
* 8cac1b8 Add support for WaitForValidTimestamp to nidaqmx-python (#479)
* ba42d15 Add Unit test for cfg_time_start_trig (#488)
* 6acaca7 handwritten: Add `CalHandle` and `TaskHandle` type aliases to `_lib` and delete conditionals for DAQmx version <8.9 (#503)
* ce040ba add subclass (#496)
* ac3f5e0 Be more precise with X series device fixtures (#501)
* 0e87936 Split stream reader component tests by subsystem (#499)
* 97e0c37 fix typing issue in Python 3.8 (#500)
* 3129f87 Add Counter Stream Reader tests (#497)
* 11b8f56 Add Digital Stream Reader tests (#494)
* 173f46b Fix raw-read Function Names Spacing Issue (#492)
* 3d67f7d Add Analog Stream Reader tests (#493)
* 457077b Add Digital and Counter create channel tests (#491)
* 7119a3f Add AI TEDS create channel tests (#490)
* 1305bc1 import MAX config when running system tests (#489)
* 53c8ef9 Add "When" attribute to start_trigger.py (#481)
* a6b070d Add AI create channel tests (#485)
* 8bc4799 Fix readthedocs documentation generation (#486)
* 908cebf CONTRIBUTING.md: Update physical device recommendation (#480)
* 5e77102 Add CfgTimeStartTrig to daqmx-python (#475)
* c5fddf5 Add Offset Nulling Calibration API support for nidaqmx-python (#468)
* 8f1b610 Add Shunt Cal API support for nidaqmx-python (#469)
* 275944c Build(deps): Bump jinja2 from 3.1.2 to 3.1.3 (#470)
* eca4e38 repo: Add security policy (#467)
* f5c7da3 Update to 0.9.1 (#466)