--- id: nidaqmx version: "1.6.0" license: MIT license_treatment: permissive maintenance: active --- # nidaqmx — Official NI-DAQmx Python API License: permissive · Maintenance: active · Downloads: 117.4K/mo ## What it is and what it does nidaqmx is the official Python wrapper around the NI-DAQmx C API, letting you write instrumentation and data acquisition applications that control National Instruments DAQ hardware. It abstracts the low-level C interface into an object-oriented Python layer, handling tasks (collections of channels with timing and triggering), virtual channels (software representations of physical measurement points), and both software and hardware-timed acquisition or generation. You create a task, add analog or digital input/output channels with specified ranges and configurations, set up timing parameters, and read or write data. The package supports finite and continuous acquisition modes, multiple channels per task, and hardware clocking for precise timing. It requires the NI-DAQmx driver to be installed separately on your system and works on Windows and Linux where that driver is supported. Use it for: - Acquire voltage or current measurements from analog sensors connected to an NI DAQ device at specified sample rates. - Generate analog or digital signals from a DAQ device to control external hardware or test equipment. - Build automated test systems that synchronize measurement and control using hardware timing and triggering. - Stream continuous data from multiple channels simultaneously with hardware-controlled sample timing. - Prototype measurement applications in Python before deploying to production NI systems. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Provides a Python API to control and acquire data from National Instruments DAQ devices, wrapping the NI-DAQmx C library through ctypes for analog/digital input-output, timing, and triggering. Yes. This is the official, actively maintained API for NI DAQ hardware in Python, with no known vulnerabilities, permissive MIT licensing, and low install friction. Install it if you own or have access to NI DAQ hardware and need to control it from Python. Do not install if you do not have the NI-DAQmx driver available on your system or lack compatible hardware. ## Install pip install nidaqmx uv add nidaqmx poetry add nidaqmx ## Installing nidaqmx Before you install: Low friction installation via pip; actively maintained with a release 7 days ago and recent commits. Depends on 10 runtime packages including numpy and click, all common and stable. License in practice: MIT license (permissive); you can use, modify, and distribute this package freely in commercial and private projects with minimal restrictions. Quickstart: import nidaqmx with nidaqmx.Task() as task: task.ai_channels.add_ai_voltage_chan("Dev1/ai0", min_val=-10.0, max_val=10.0) data = task.read() Requires NI-DAQmx driver to be installed on the system; supports CPython 3.9+ and PyPy3 (except gRPC use cases); Windows and Linux only where the driver is supported. Verify before relying: - Whether all 10 runtime dependencies (click, deprecation, distro, hightime, nitypes, numpy, python-decouple, requests, typing_extensions, tzlocal) are required for core DAQ functionality or only for optional features like gRPC. - Performance characteristics and latency guarantees for hardware-timed acquisition at various sample rates. - Compatibility matrix between specific nidaqmx versions and NI-DAQmx driver versions beyond 'all versions supported'. ## Package facts - License: MIT (permissive) - Python support: supports_current - Install friction: low - Maintenance: active - Downloads: 117.4K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags NI DAQ device control python, data acquisition hardware interface, analog digital input output, NI-DAQmx python wrapper, hardware timing acquisition, measurement device driver, ni daqmx python api, hardware-control, data-acquisition, instrumentation [View on SkillFed](https://skillfed.io/packages/nidaqmx) · [View on PyPI](https://pypi.org/project/nidaqmx/)