Skip to main content

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

Project description

Build status Documentation Status Code coverage

npTDMS is a cross-platform Python package for reading and writing TDMS files as produced by LabVIEW, and is built on top of the numpy package. Data read from a TDMS file is stored in numpy arrays, and numpy arrays are also used when writing TDMS file.

TDMS files can contain multiple data channels organised intro groups. Typical usage when reading a TDMS file might look like:

from nptdms import TdmsFile

tdms_file = TdmsFile.read("path_to_file.tdms")
channel = tdms_file['Group']['Channel1']
data = channel.data
time = channel.time_track()
# do stuff with data

And to write a file:

from nptdms import TdmsWriter, ChannelObject
import numpy

with TdmsWriter("path_to_file.tdms") as tdms_writer:
    data_array = numpy.linspace(0, 1, 10)
    channel = ChannelObject('Group', 'Channel1', data_array)
    tdms_writer.write_segment([channel])

For more information, see the npTDMS documentation.

Installation

npTDMS is available from the Python Package Index, so the easiest way to install it is by running:

pip install npTDMS

There are optional features available that require additional dependencies. These are hdf for hdf export, pandas for pandas DataFrame export, and thermocouple_scaling for using thermocouple scalings. You can specify these extra features when installing npTDMS to also install the dependencies they require:

pip install npTDMS[hdf,pandas,thermocouple_scaling]

Alternatively, after downloading the source code you can extract it and change into the new directory, then run:

python setup.py install

Limitations

This module doesn’t support TDMS files with XML headers or with extended floating point data.

TDMS files support timestamps with a resolution of 2^-64 seconds but these are read as numpy datetime64 values with microsecond resolution.

Contributors/Thanks

Thanks to Floris van Vugt who wrote the pyTDMS module, which helped when writing this module.

Thanks to Tony Perkins, Ruben De Smet, Martin Hochwallner and Peter Duncan for contributing support for converting to Pandas DataFrames.

Thanks to nmgeek and jshridha for implementing support for DAQmx raw data files.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

npTDMS-0.23.0.tar.gz (141.1 kB view details)

Uploaded Source

File details

Details for the file npTDMS-0.23.0.tar.gz.

File metadata

  • Download URL: npTDMS-0.23.0.tar.gz
  • Upload date:
  • Size: 141.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.1 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.6.7

File hashes

Hashes for npTDMS-0.23.0.tar.gz
Algorithm Hash digest
SHA256 3abd57b7255823573e611c87a2b608c906ac60a04e06eea5120dc384afab1409
MD5 f6f9e3017bb98856b2ea6fcea48d8b88
BLAKE2b-256 ab79cbea2afde8e79c2136b41bf823ac503b30b685e1e75b2abd48d6a5de6f68

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page