--- id: nptdms version: "1.11.0" license: LGPL-3.0-only license_treatment: copyleft maintenance: active --- # npTDMS — Cross-platform, NumPy based module for reading TDMS files produced by LabView License: copyleft · Maintenance: active · Downloads: 343.3K/mo ## 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 above — 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 pip install nptdms uv add nptdms 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_current - Install friction: low - Maintenance: active - Downloads: 343.3K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags read TDMS files, LabVIEW data format, numpy TDMS reader, write TDMS files, DAQ data import, scientific data format, channel data extraction, labview-data, scientific-io, daq [View on SkillFed](https://skillfed.io/packages/nptdms) · [View on PyPI](https://pypi.org/project/nptdms/)