Skip to content

Releases: ni/nidaqmx-python

1.2.0

31 Jul 02:07
4d67f62
Compare
Choose a tag to compare

1.2.0

1.2.0-dev1

27 Jun 23:24
f8e368e
Compare
Choose a tag to compare
1.2.0-dev1 Pre-release
Pre-release

Resolved Issues

  • Update tests to require X Series device with 32 DIO lines (#753)
  • Fix dependency: hightime = ">=0.2.2" (#772)

New Contributors

Full Changelog: 1.2.0-dev0...1.2.0-dev1

1.2.0-dev0

06 Jun 16:58
555b1c0
Compare
Choose a tag to compare
1.2.0-dev0 Pre-release
Pre-release

Resolved Issues

Major Changes

  • Removed the docs extra 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
    • Add issue templates and GitHub->AzDO issue syncing (#686, #697)
    • Add virtualenv caching (#702)
    • Use ni/python-actions (#718)
    • Specify required permissions for each job (#724)
    • Pin GitHub Action digests (#727)
    • Add publish workflow (#726)

New Contributors

Full Changelog: 1.1.0...1.2.0-dev0

1.1.0

23 May 14:32
6f79334
Compare
Choose a tag to compare

1.1.0

1.0.2

08 Nov 17:26
1a24777
Compare
Choose a tag to compare

1.0.1

1.0.0

09 Jul 04:49
570c62b
Compare
Choose a tag to compare

1.0.0

1.0.0-dev0

22 Apr 18:52
8a96d34
Compare
Choose a tag to compare
1.0.0-dev0 Pre-release
Pre-release

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)

0.9.0

19 Dec 22:49
faff0b8
Compare
Choose a tag to compare

0.9.0

  • Merged Pull Requests

  • Major Changes

    • nidaqmx.errors.DaqNotFoundError, nidaqmx.errors.DaqNotSupportedError, and
      nidaqmx.errors.DaqFunctionNotSupportedError are now public exceptions.
    • Consistently return nidaqmx.errors.DaqNotFoundError on all platforms when the NI-DAQmx
      driver is not installed.
    • Updated supported Python versions to 3.8, 3.9, 3.10, 3.11, and 3.12

0.8.0

12 Jul 19:12
85baddf
Compare
Choose a tag to compare

0.8.0

  • Merged Pull Requests

  • Major Changes

    • Added support for communicating with DAQmx devices through gRPC using NI gRPC Device Server. This enables using DAQmx with the MeasurementLink session management service.
      • The initialization methods for Task, Scale, and other classes now accept a keyword-only grpc_options parameter. Pass a GrpcSessionsOptions object to enable gRPC support.
      • The System class now has a remote() method which accepts a GrpcSessionOptions object.
      • NI gRPC Device Server version 2.2 or later is required. Older versions of NI gRPC Device Server are unsupported because they are missing bug fixes needed to support nidaqmx-python.
    • The following functions now emit DeprecationWarning when called:
      • nidaqmx.errors module: check_for_error, is_string_buffer_too_small, and is_array_buffer_too_small are ctypes-specific helper functions, so they have been moved to an internal module.
      • System class: set_analog_power_up_states does not support PowerUpStates.TRISTATE and get_analog_power_up_states has design issues that make the previous implementation unworkable, so they have been deprecated in favor of set_analog_power_up_states_with_output_type and get_analog_power_up_states_with_output_type.
    • The internals of the nidaqmx package have been refactored to support gRPC:
      • Access to the DAQmx driver is now handled by the internal BaseInterpreter abstract base class. There are separate implementations of this abstract base class for ctypes vs. gRPC.
      • Internal initialization methods now accept an interpreter parameter. Methods that take an interpreter are not part of the public API.
      • Added a stub generator which will generate the gRPC stub files based on the proto files present in src/codegen/protos. The files will be generated into generator/nidaqmx/_stubs.
      • The internal nidaqmx._task_modules.read_functions and nidaqmx._task_modules.write_functions modules have been removed. If your application uses these modules, you must update it to use public APIs such as task.read()/task.write(), task.in_stream.read()/task.out_stream.write(), or nidaqmx.stream_readers/nidaqmx.stream_writers.
      • Updated the existing tests to run with and without gRPC support.
      • Added multiple test cases to improve the overall test coverage.
  • Known Issues

    • Comparisons between DAQmx object instances do not take gRPC remoting into account. For example, Device("Dev1") refers to a local device and Device("Dev1", grpc_options=...) refers to a remote device, but they are considered equal. Likewise, two instances of Device("Dev1", grpc_options=...) with different remote hosts are considered equal.