nptdms
NumPy based Python module for reading TDMS files produced by LabView
Science Score: 13.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
○.zenodo.json file
-
○DOI references
-
○Academic publication links
-
○Committers with academic emails
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (14.4%) to scientific vocabulary
Keywords
daqmx
labview
national-instruments
numpy
python
scipy
tdms
Keywords from Contributors
version
Last synced: 6 months ago
·
JSON representation
Repository
NumPy based Python module for reading TDMS files produced by LabView
Basic Info
- Host: GitHub
- Owner: adamreeve
- License: lgpl-3.0
- Language: Python
- Default Branch: master
- Homepage: http://nptdms.readthedocs.io
- Size: 789 KB
Statistics
- Stars: 260
- Watchers: 23
- Forks: 94
- Open Issues: 20
- Releases: 28
Topics
daqmx
labview
national-instruments
numpy
python
scipy
tdms
Created about 14 years ago
· Last pushed 7 months ago
Metadata Files
Readme
License
README.rst
npTDMS
======
.. image:: https://img.shields.io/pypi/v/npTDMS.svg
:alt: PyPI Version
:target: https://pypi.org/project/npTDMS/
.. image:: https://github.com/adamreeve/npTDMS/actions/workflows/ci-cd.yml/badge.svg?branch=master&event=push
:alt: Build status
:target: https://github.com/adamreeve/npTDMS/actions/workflows/ci-cd.yml?query=event%3Apush+branch%3Amaster
.. image:: https://readthedocs.org/projects/nptdms/badge/?version=latest
:target: https://nptdms.readthedocs.io/en/latest/?badge=latest
:alt: Documentation Status
.. image:: https://codecov.io/gh/adamreeve/npTDMS/branch/master/graph/badge.svg
:target: https://codecov.io/gh/adamreeve/npTDMS
:alt: 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 is read from TDMS files as numpy arrays,
and npTDMS also allows writing numpy arrays to TDMS files.
TDMS files are structured in a hierarchy of groups and channels.
A TDMS file can contain multiple groups, which may each contain multiple channels.
A file, group and channel may all have properties associated with them,
but only channels have array data.
Typical usage when reading a TDMS file might look like::
from nptdms import TdmsFile
tdms_file = TdmsFile.read("path_to_file.tdms")
group = tdms_file['group name']
channel = group['channel name']
channel_data = channel[:]
channel_properties = channel.properties
The ``TdmsFile.read`` method reads all data into memory immediately.
When you are working with large TDMS files or don't need to read all channel data,
you can instead use ``TdmsFile.open``. This is more memory efficient but
accessing data can be slower::
with TdmsFile.open("path_to_file.tdms") as tdms_file:
group = tdms_file['group name']
channel = group['channel name']
channel_data = channel[:]
npTDMS also has rudimentary support for writing TDMS files.
Using npTDMS to write a TDMS file looks like::
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 name', 'channel name', data_array)
tdms_writer.write_segment([channel])
For more detailed documentation on reading and writing TDMS files,
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
Links
-----
Source code lives at https://github.com/adamreeve/npTDMS and any issues can be
reported at https://github.com/adamreeve/npTDMS/issues.
Documentation is available at http://nptdms.readthedocs.io.
Limitations
-----------
This module doesn't support TDMS files with XML headers or with
extended precision floating point data.
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.
Owner
- Name: Adam Reeve
- Login: adamreeve
- Kind: user
- Location: Auckland, New Zealand
- Website: http://adamreeve.co.nz
- Repositories: 64
- Profile: https://github.com/adamreeve
GitHub Events
Total
- Create event: 2
- Release event: 1
- Issues event: 14
- Watch event: 20
- Delete event: 1
- Issue comment event: 27
- Push event: 5
- Pull request review event: 9
- Pull request review comment event: 13
- Pull request event: 6
- Fork event: 3
Last Year
- Create event: 2
- Release event: 1
- Issues event: 14
- Watch event: 20
- Delete event: 1
- Issue comment event: 27
- Push event: 5
- Pull request review event: 9
- Pull request review comment event: 13
- Pull request event: 6
- Fork event: 3
Committers
Last synced: 9 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| Adam Reeve | a****e@g****m | 361 |
| Glenn Wikle | g****e@s****m | 20 |
| Jonathan Deng | j****g@g****m | 8 |
| Adam Suban-Loewen | a****n@g****m | 8 |
| Ruben De Smet | r****t@t****e | 7 |
| James Myatt | j****t@t****m | 7 |
| Ryan Friedman | r****n@n****m | 4 |
| Jay Shridharani | j****a@g****m | 4 |
| Alejandro del Castillo | a****o@n****m | 3 |
| Adam Reeve | a****e@x****m | 2 |
| Guru Manoj | g****y@s****m | 2 |
| Owain Jones | o****j@b****i | 2 |
| rprzysowa | r****a@g****m | 2 |
| toperkin | t****n@g****m | 2 |
| fisher | c****r@c****r | 1 |
| Achilles1515 | d****d@g****m | 1 |
| Carlo | c****i | 1 |
| Guru Manoj | a****j@g****m | 1 |
| Jim Kring | j****g@j****t | 1 |
| Johannes Loibl | 4****l | 1 |
| Jonathan Giannuzzi | j****i | 1 |
| Joschka zur Jaсobsmühlen | j****n@m****e | 1 |
| KasparNagu | k****r@n****m | 1 |
| Lars Nielsen | l****s@g****m | 1 |
| Marcel Eifert | 4****1 | 1 |
| Martin | m****n@m****t | 1 |
| Martin Hochwallner | m****r@g****m | 1 |
| Prism V. Penguin | p****v | 1 |
| Todd | t****8@g****m | 1 |
| Walt Woods | w****n@g****m | 1 |
| and 1 more... | ||
Committer Domains (Top 20 + Academic)
ni.com: 2
mnprojects.net: 1
nagu.mooo.com: 1
materialise.de: 1
jki.net: 1
cea.fr: 1
bris.graphcore.ai: 1
solitontech.com: 1
xero.com: 1
tessella.com: 1
telenet.be: 1
sigmalabsinc.com: 1
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 80
- Total pull requests: 59
- Average time to close issues: about 2 months
- Average time to close pull requests: 1 day
- Total issue authors: 69
- Total pull request authors: 8
- Average comments per issue: 3.0
- Average comments per pull request: 0.98
- Merged pull requests: 54
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 10
- Pull requests: 4
- Average time to close issues: 26 days
- Average time to close pull requests: 2 days
- Issue authors: 10
- Pull request authors: 2
- Average comments per issue: 1.6
- Average comments per pull request: 2.25
- Merged pull requests: 4
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- adamreeve (6)
- Achilles1515 (3)
- jimkring (3)
- CrazyGang97 (2)
- rddaz2013 (2)
- Samuel38 (1)
- BockiBock (1)
- nkraemer2 (1)
- nup002 (1)
- dulacskamty (1)
- evanhorn (1)
- m-birke (1)
- NickSebClark (1)
- Nablaaa (1)
- suntracks (1)
Pull Request Authors
- adamreeve (58)
- Eifi1 (4)
- johannesloibl (2)
- jimkring (2)
- looopTools (1)
- jgiannuzzi (1)
- auxym (1)
- Anselmoo (1)
- adelcast (1)
Top Labels
Issue Labels
Feature (9)
Bug (6)
Improvement (4)
Docs (1)
Pull Request Labels
Packages
- Total packages: 2
-
Total downloads:
- pypi 237,516 last-month
-
Total dependent packages: 14
(may contain duplicates) -
Total dependent repositories: 25
(may contain duplicates) - Total versions: 100
- Total maintainers: 1
pypi.org: nptdms
Cross-platform, NumPy based module for reading TDMS files produced by LabView
- Homepage: https://github.com/adamreeve/npTDMS
- Documentation: https://nptdms.readthedocs.io/
- License: LGPL
-
Latest release: 1.10.0
published about 1 year ago
Rankings
Dependent packages count: 0.8%
Downloads: 1.6%
Average: 3.0%
Dependent repos count: 3.0%
Stargazers count: 4.5%
Forks count: 4.9%
Maintainers (1)
Last synced:
6 months ago
conda-forge.org: nptdms
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.
- Homepage: https://github.com/adamreeve/npTDMS
- License: LGPL-3.0-only
-
Latest release: 1.6.0
published over 3 years ago
Rankings
Forks count: 20.4%
Dependent repos count: 24.4%
Stargazers count: 26.2%
Average: 30.6%
Dependent packages count: 51.6%
Last synced:
6 months ago
Dependencies
.github/workflows/ci-cd.yml
actions
- actions/checkout v2 composite
- actions/setup-python v2 composite
- codecov/codecov-action v2 composite
- pypa/gh-action-pypi-publish release/v1 composite
docs/requirements.txt
pypi
- readthedocs-sphinx-search ==0.1.1
- sphinx ==4.2.0
- sphinx_rtd_theme ==1.0.0
setup.py
pypi
- numpy *
pyproject.toml
pypi