Skip to main content

nidaqlib

CI Docs License: MIT

Experiment-facing NI-DAQmx acquisition tools for Python.

nidaqlib is not a replacement for NI's nidaqmx-python. It is a typed, lifecycle-managed acquisition layer built on top of it, designed to fit the same scientific-instrumentation ecosystem as alicatlib and sartoriuslib.

Use nidaqlib when you want:

  • declarative task specifications,
  • consistent async/sync APIs,
  • structured errors,
  • block-oriented acquisition,
  • TDMS / Parquet / SQLite / Postgres / CSV / JSONL logging,
  • hardware-free tests,
  • and unified experiment workflows across DAQ, flow controllers, and balances.

Status

nidaqlib is alpha software. The public API is usable, but may change before the first stable release. See docs/design.md for the architectural design.

Installation

uv add nidaqlib

Optional extras: nidaqlib[parquet], nidaqlib[postgres].

nidaqlib requires the platform NI-DAQmx driver runtime for any real-hardware operation. Tests do not — FakeDaqBackend covers the test surface.

Quickstart

import anyio

from nidaqlib import AnalogInputVoltage, TaskSpec, open_device


spec = TaskSpec(
    name="surface_temperatures",
    channels=[
        AnalogInputVoltage(
            physical_channel="Dev1/ai0",
            name="surface_tc_mv",
            min_val=-0.1,
            max_val=0.1,
        ),
        AnalogInputVoltage(
            physical_channel="Dev1/ai1",
            name="back_tc_mv",
            min_val=-0.1,
            max_val=0.1,
        ),
    ],
)


async def main() -> None:
    async with await open_device(spec) as session:
        reading = await session.poll()
        print(reading.values)


anyio.run(main)

Documentation

Full docs at https://GraysonBellamy.github.io/nidaqlib/.

License

MIT — see LICENSE.

Metadata

Release files for nidaqlib 0.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for nidaqlib 0.3.0
File Size Uploaded
nidaqlib-0.3.0.tar.gz 194.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for nidaqlib 0.3.0
File Interpreter ABI Platform
nidaqlib-0.3.0-py3-none-any.whl Python 3 none any Details

Total release size: 327.6 kB

Release files / nidaqlib-0.3.0.tar.gz

Download URL nidaqlib-0.3.0.tar.gz
Size 194.8 kB
Tags Source
SHA-256 checksum
How to use checksums
a2f7ed1602c61d5f1e865d255eb2103a5c2c8f226862e3e929456052b53f9994
BLAKE2b-256 checksum
How to use checksums
c46c4158bfccc51b4bf2be78f16e3aff0c0a2acb36814ce6a81dcce88a557353
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on May 16, 2026.

Transparency log

Release files / nidaqlib-0.3.0-py3-none-any.whl

Download URL nidaqlib-0.3.0-py3-none-any.whl
Size 132.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8b8b7bc33b6106f782dc1dbab812cc2a74cb4812611da76c08140e10f11950ad
BLAKE2b-256 checksum
How to use checksums
1bca776f77a56509fed424f7a44d5b8f370588d0c693778e99321b0479d9e78b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on May 16, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.3.0 This release

2 release files

0.2.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page