skillfed

npTDMS

Cross-platform, NumPy based module for reading TDMS files produced by LabView

nptdms v1.11.0 343.3K downloads/30d#7,384 on PyPI274
Copyleft license LGPL-3.0-only Active released

What it is and what it does

npTDMS is a Python library for reading and writing TDMS files, the binary format produced by LabVIEW and other National Instruments data acquisition tools. It exposes TDMS data as numpy arrays, making it easy to integrate acquired measurements into scientific Python workflows. The library understands TDMS's hierarchical structure—files contain groups, which contain channels, and channels hold the actual array data alongside metadata properties.

You can read entire files into memory with `TdmsFile.read()` for quick access, or use `TdmsFile.open()` for streaming access to large files when memory is constrained. Writing is supported through `TdmsWriter` and `ChannelObject`, allowing you to construct TDMS files from numpy arrays. Optional dependencies enable export to HDF5 (`hdf` extra) or pandas DataFrames (`pandas` extra), and thermocouple scaling support (`thermocouple_scaling` extra).

Use it for:

  • Import measurement data from LabVIEW DAQ systems into Python for analysis and visualization.
  • Convert TDMS files to HDF5 or pandas DataFrames for use in machine learning or statistical pipelines.
  • Archive or reformat acquired sensor data by reading TDMS and writing to a different format.
  • Process large TDMS files with streaming access to avoid loading entire datasets into memory.
  • Automate data extraction from multiple TDMS channels for batch processing or report generation.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Read and write TDMS files (LabVIEW data format) as numpy arrays, with support for hierarchical groups and channels plus optional export to HDF5 or pandas DataFrames.

Yes. npTDMS is stable (Production/Stable status), actively maintained, has no known vulnerabilities, and solves a specific problem—TDMS I/O—with a minimal dependency footprint. The LGPL-3.0 copyleft license is standard for scientific tools but requires review if you ship proprietary code. Install it if you work with LabVIEW data or National Instruments DAQ systems.

Install

nptdms on PyPI

pip

pip install nptdms

uv

uv add nptdms

poetry

poetry add nptdms

Installing npTDMS

Before you install

Low friction: pure Python wheel with only numpy as a runtime dependency. Active maintenance with a release 51 days ago and recent commits; supports Python 3.9–3.12.

License in practice

LGPL-3.0-only (copyleft): you may use and modify the package freely, but any derivative work must also be released under LGPL-3.0 or a compatible license. Proprietary applications using this package should review copyleft obligations.

Quickstart

from nptdms import TdmsFile

tdms_file = TdmsFile.read("path_to_file.tdms")
group = tdms_file['group name']
channel = group['channel name']
channel_data = channel[:]

Requires Python ≥3.9; does not support TDMS files with XML headers or extended precision floating point data.

Verify before relying

  • Performance characteristics when working with very large TDMS files or many channels.
  • Completeness of write support relative to all TDMS file features produced by LabVIEW.

Package facts

License LGPL-3.0-only (copyleft)
Python support supports the current Python release (>=3.9)
Install friction low — pure-Python wheel
Runtime dependencies 1 — numpy
Maintenance actively maintained — 51 days since the last release
Last repo commit
First released
Downloads 343,268/month — #7,384 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: nptdms-1.11.0-py3-none-any.whl

Development Status :: 5 - Production/StableIntended Audience :: Science/ResearchNatural Language :: EnglishOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.9Topic :: Scientific/Engineering

Tags

read TDMS filesLabVIEW data formatnumpy TDMS readerwrite TDMS filesDAQ data importscientific data formatchannel data extraction
labview-datascientific-iodaq

More Scientific/Engineering packages