Nidaqmx

Latest version: v0.9.0

Safety actively analyzes 613460 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 3

0.9.0

* Merged Pull Requests
* [460: enabled support for DAQmxSelfCal](https://github.com/ni/nidaqmx-python/pull/460)
* 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
* Known Issues
* ...

0.8.0

* Merged Pull Requests
* [Full changelog: 0.7.0...0.8.0](https://github.com/ni/nidaqmx-python/compare/0.7.0...0.8.0)
* [Query: Closed PRs with the label: interpreter_implementation](https://github.com/ni/nidaqmx-python/pulls?q=label%3Ainterpreter_implementation+is%3Aclosed)
* [Query: Closed PRs with the label: library_interpreter](https://github.com/ni/nidaqmx-python/pulls?q=label%3Alibrary_interpreter+is%3Aclosed)
* [Query: Closed PRs with the label: grpc_interpreter](https://github.com/ni/nidaqmx-python/pulls?q=label%3Agrpc_interpreter+is%3Aclosed)
* [Query: Closed PRs with the label: test_improvements](https://github.com/ni/nidaqmx-python/pulls?q=label%3Atest_improvements+is%3Aclosed)
* [Query: Closed PRs with the label: interpreter_fixes](https://github.com/ni/nidaqmx-python/pulls?q=label%3Ainterpreter_fixes+is%3Aclosed)
* [Query: Closed PRs with the label: interpreter_testcase_update](https://github.com/ni/nidaqmx-python/pulls?q=label%3Ainterpreter_testcase_updates+is%3Aclosed)
* [Query: Closed PRs with the label: event_handling](https://github.com/ni/nidaqmx-python/pulls?q=label%3Aevent_handling+is%3Aclosed)

* Major Changes

* Added support for communicating with DAQmx devices through gRPC using [NI gRPC Device Server](https://github.com/ni/grpc-device). 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](https://github.com/ni/grpc-device) 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.

0.7.0

* Merged Pull Requests
* [217: Handle leading zeros in flatten/unflatten implementation](https://github.com/ni/nidaqmx-python/issues/217)
* [219: nidaqmx: Use in-project virtualenvs](https://github.com/ni/nidaqmx-python/pull/219)
* [Query: Closed PRs with label:generator_refactor](https://github.com/ni/nidaqmx-python/pulls?page=1&q=is%3Apr+is%3Aclosed+label%3Agenerator_refactor)
* [Query: Closed PRs with label:test_improvements](https://github.com/ni/nidaqmx-python/pulls?page=1&q=is%3Apr+is%3Aclosed+label%3Atest_improvements)
* [256: nidaqmx: Remove Python 2.7 workarounds](https://github.com/ni/nidaqmx-python/pull/256)
* Resolved Issues
* [216: Can read channel_names of PersistedTask but not channels](https://github.com/ni/nidaqmx-python/issues/216)
* Major Changes
* Added a generator that produces the `nidaqmx` module code.
* Some properties were renamed in an effort to improve the consistency of the `nidaqmx` module and to support maintainability of the generator. The previous names are still usable, but will emit a `DeprecationWarning` on usage. These deprecated properties may be removed in a future update.
* Unused enums have been removed. This affects enums that are solely used by DAQmx features that are not supported in the `nidaqmx` module, such as external calibration, the DAQmx switch API, and internal APIs.
* Refactored the repository folder structure as follows:
* `generated/nidaqmx/` - The output of the code generator and source for the build `nidaqmx` module. Do not directly modify any files in this folder.
* `examples/` - Example programs demonstrating how to use the `nidaqmx` module.
* `src/codegen/` - The code generator.
* `src/handwritten/` - Hand-maintained files that are copied as-is during code generation.
* `tests` - Test code that exercises the `nidaqmx` module to ensure it functions correctly and doesn't introduce regressions.
* Multiple various test improvements in support of the generator refactoring.

0.6.5

* Resolved Issues
* [194: Multiple Voltage Measurement Types in the same task causes errors on Read](https://github.com/ni/nidaqmx-python/pull/194)

0.6.4

* Merged Pull Requests
* [179: Optimize for happy path](https://github.com/ni/nidaqmx-python/pull/179)
* [180: Use ndarray.size instead of numpy.prod](https://github.com/ni/nidaqmx-python/pull/180)
* [182: fix enum bitfields](https://github.com/ni/nidaqmx-python/pull/182)
* [183: add support for reverse voltage error attributes to nidaqmx-python](https://github.com/ni/nidaqmx-python/pull/183)
* [185: update testing to allow for some simulation](https://github.com/ni/nidaqmx-python/pull/185)
* Resolved Issues
* [181: mismatched enum names in ai_term_cfgs](https://github.com/ni/nidaqmx-python/issues/181)

0.6.3

* Major Changes
* DAQmx 22.0 updates.

Page 1 of 3

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.