skillfed

nidaqmx

Official NI-DAQmx Python API

nidaqmx v1.6.0 117.4K downloads/30d#12,166 on PyPI585
Permissive license MIT Active released

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 on this page — 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

nidaqmx on PyPI

pip

pip install nidaqmx

uv

uv add nidaqmx

poetry

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 the current Python release (<4.0,>=3.9)
Install friction low — pure-Python wheel
Runtime dependencies 10 — click, deprecation, distro, hightime, nitypes, numpy, python-decouple, requests, typing_extensions, tzlocal
Maintenance actively maintained — 7 days since the last release
Last repo commit
First released
Downloads 117,351/month — #12,166 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: nidaqmx-1.6.0-py3-none-any.whl

Keywords: nidaqmx, nidaq, daqmx, daq

Development Status :: 5 - Production/StableIntended Audience :: DevelopersIntended Audience :: ManufacturingIntended Audience :: Science/ResearchLicense :: OSI Approved :: MIT LicenseOperating System :: Microsoft :: WindowsOperating System :: POSIXProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: 3.9Programming Language :: Python :: Implementation :: CPythonProgramming Language :: Python :: Implementation :: PyPyTopic :: System :: Hardware :: Hardware Drivers

Tags

NI DAQ device control pythondata acquisition hardware interfaceanalog digital input outputNI-DAQmx python wrapperhardware timing acquisitionmeasurement device driverni daqmx python api
hardware-controldata-acquisitioninstrumentation

More Hardware Drivers packages