Compare commits

..

No commits in common. "master" and "v2.0.2" have entirely different histories.

11 changed files with 40 additions and 43 deletions

View File

@ -3,24 +3,23 @@ name: CI Build Wheel
on: on:
push: push:
branches: [master]
tags: ["v[0-9]+.[0-9]+.[0-9]+"] tags: ["v[0-9]+.[0-9]+.[0-9]+"]
jobs: jobs:
build_setup: build_setup:
name: Prepare environment for wheel builds name: Prepare environment for wheel builds
runs-on: ubuntu-24.04 runs-on: ubuntu-20.04
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v2
- name: Prepare wheel build - name: Prepare wheel build
run: make -C python/ setup run: make -C python/ setup
- name: Store wheel configuration files - name: Store wheel configuration files
uses: actions/upload-artifact@v4.6.0 uses: actions/upload-artifact@v2
with: with:
name: wheel-config name: wheel-config
path: python/ path: python/
- name: Display files
run: ls -lR
build_wheels: build_wheels:
name: Build binary wheels on ${{ matrix.os }} name: Build binary wheels on ${{ matrix.os }}
@ -28,7 +27,8 @@ jobs:
needs: [build_setup] needs: [build_setup]
strategy: strategy:
matrix: matrix:
os: [ubuntu-latest, windows-latest] os: [ubuntu-20.04, windows-2019]
arch: [auto32, auto64, aarch64]
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v2
@ -36,29 +36,31 @@ jobs:
- name: Install cibuildwheel - name: Install cibuildwheel
run: python -m pip install cibuildwheel==2.1.2 run: python -m pip install cibuildwheel==2.1.2
- name: Get wheel configuration files - name: Get wheel configuration files
uses: actions/download-artifact@v4.1.7 uses: actions/download-artifact@v2
with: with:
name: wheel-config name: wheel-config
path: python/ path: python/
- name: Build wheels - name: Build wheels
run: python -m cibuildwheel --output-dir wheelhouse run: python -m cibuildwheel --output-dir wheelhouse
working-directory: python/ working-directory: python/
# env:
# CIBW_BUILD: cp36-* cp37-* cp38-* cp39-* cp310-*
- name: Store binary wheels - name: Store binary wheels
uses: actions/upload-artifact@v4.6.0 uses: actions/upload-artifact@v2
with: with:
name: binary-wheels-${{matrix.os}}-${{ strategy.job-index }} name: binary-wheels
path: python/wheelhouse/*.whl path: python/wheelhouse/*.whl
build_sdist: build_sdist:
name: Build source distribution name: Build source distribution
runs-on: ubuntu-24.04 runs-on: ubuntu-latest
needs: [build_setup] needs: [build_setup]
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v2
- name: Install cython - name: Install cython
run: python -m pip install cython==0.29.24 run: python -m pip install cython==0.29.24
- name: Get wheel configuration files - name: Get wheel configuration files
uses: actions/download-artifact@v4.1.7 uses: actions/download-artifact@v2
with: with:
name: wheel-config name: wheel-config
path: python/ path: python/
@ -66,33 +68,28 @@ jobs:
run: python setup.py sdist run: python setup.py sdist
working-directory: python/ working-directory: python/
- name: Store source wheels - name: Store source wheels
uses: actions/upload-artifact@v4.6.0 uses: actions/upload-artifact@v2
with: with:
name: source-wheels name: source-wheels
path: python/dist/*.tar.gz path: python/dist/*.tar.gz
- name: Display files
run: ls -lR
upload_pypi: upload_pypi:
name: Upload wheels to PyPI name: Upload binary wheels to PyPI
runs-on: ubuntu-24.04 runs-on: ubuntu-20.04
needs: [build_wheels, build_sdist] needs: [build_wheels, build_sdist]
steps: steps:
- name: Get source wheels - name: Get source wheels
uses: actions/download-artifact@v4.1.7 uses: actions/download-artifact@v2
with: with:
name: source-wheels name: source-wheels
path: dist/ path: dist/
- name: Get binary wheels - name: Get binary wheels
uses: actions/download-artifact@v4.1.7 uses: actions/download-artifact@v2
with: with:
name: binary-wheels
path: dist/ path: dist/
pattern: binary-wheels-*
merge-multiple: true
- name: Display files
run: ls -lR
- uses: pypa/gh-action-pypi-publish@release/v1 - uses: pypa/gh-action-pypi-publish@release/v1
with: with:

View File

@ -2,7 +2,7 @@
[![LICENSE](https://img.shields.io/github/license/RecordEvolution/TDMtermite)](https://img.shields.io/github/license/RecordEvolution/TDMtermite) [![LICENSE](https://img.shields.io/github/license/RecordEvolution/TDMtermite)](https://img.shields.io/github/license/RecordEvolution/TDMtermite)
[![STARS](https://img.shields.io/github/stars/RecordEvolution/TDMtermite)](https://img.shields.io/github/stars/RecordEvolution/TDMtermite) [![STARS](https://img.shields.io/github/stars/RecordEvolution/TDMtermite)](https://img.shields.io/github/stars/RecordEvolution/TDMtermite)
![CI Build Wheel](https://github.com/RecordEvolution/TDMtermite/actions/workflows/pypi-deploy.yml/badge.svg?branch=&event=push) ![CI Build Wheel](https://github.com/RecordEvolution/TDMtermite/actions/workflows/pypi-deploy.yml/badge.svg?branch=&event=push)
[![PYPI](https://img.shields.io/pypi/v/TDMtermite.svg)](https://pypi.org/project/tdmtermite/) [![PYPI](https://img.shields.io/pypi/v/TDMtermite.svg)](https://pypi.org/project/TDMtermite/)
# TDMtermite # TDMtermite
@ -164,10 +164,10 @@ which makes the module available for import by `import tdm_termite` .
#### Installation with pip #### Installation with pip
The package is also available via the [Python Package Index](https://pypi.org) at The package is also available via the [Python Package Index](https://pypi.org) at
[TDMtermite](https://pypi.org/project/tdmtermite/). To install the latest version simply do [TDMtermite](https://pypi.org/project/TDMtermite/). To install the latest version simply do
```Shell ```Shell
python3 -m pip install tdmtermite python3 -m pip install TDMtermite
``` ```
##### Unix ##### Unix
@ -224,7 +224,7 @@ To be able to use the Python module _tdm_termite_, it first has to be built loca
or installed on the system. In the Python interpreter, simply do: or installed on the system. In the Python interpreter, simply do:
```Python ```Python
import tdmtermite import TDMtermite
``` ```
This will import the module. The TDM files are provided by creating an instance of This will import the module. The TDM files are provided by creating an instance of
@ -233,7 +233,7 @@ the _tdmtermite_ class:
```Python ```Python
# create 'tdmtermite' instance object # create 'tdmtermite' instance object
try : try :
jack = tdmtermite.tdmtermite(b'samples/SineData.tdm',b'samples/SineData.tdx') jack = TDMtermite.tdmtermite(b'samples/SineData.tdm',b'samples/SineData.tdx')
except RuntimeError as e: except RuntimeError as e:
print("failed to load/decode TDM files: " + str(e)) print("failed to load/decode TDM files: " + str(e))
``` ```
@ -254,12 +254,12 @@ As a use case, we have a look at listing the ids of all channelgroups and printi
their data to separate files: their data to separate files:
```Python ```Python
import tdmtermite import TDMtermite
import re import re
# create 'tdmtermite' instance object # create 'tdmtermite' instance object
try : try :
jack = tdmtermite.tdmtermite(b'samples/SineData.tdm',b'samples/SineData.tdx') jack = TDMtermite.tdmtermite(b'samples/SineData.tdm',b'samples/SineData.tdx')
except RuntimeError as e : except RuntimeError as e :
print("failed to load/decode TDM files: " + str(e)) print("failed to load/decode TDM files: " + str(e))
@ -293,8 +293,8 @@ to simply extract all data of the TDM datatset and dump it to files in a given
(existing!) directory, do (existing!) directory, do
```Python ```Python
import tdmtermite import TDMtermite
jack = tdmtermite.tdmtermite(b'samples/SineData.tdm',b'samples/SineData.tdx') jack = TDMtermite.tdmtermite(b'samples/SineData.tdm',b'samples/SineData.tdx')
jack.write_all(b"./my_tdm_data_directory/") jack.write_all(b"./my_tdm_data_directory/")
``` ```

View File

@ -1,7 +1,7 @@
# distutils: language = c++ # distutils: language = c++
# cython: language_level = 3 # cython: language_level = 3
from tdmtermite cimport cpptdmtermite from TDMtermite cimport cpptdmtermite
import json as jn import json as jn

View File

@ -1 +1 @@
2.1.3 2.0.2

View File

@ -1,11 +1,11 @@
import tdmtermite import TDMtermite
import json import json
import re import re
# create 'tdm_termite' instance object # create 'tdm_termite' instance object
try : try :
jack = tdmtermite.tdmtermite(b'samples/SineData.tdm',b'samples/SineData.tdx') jack = TDMtermite.tdmtermite(b'samples/SineData.tdm',b'samples/SineData.tdx')
except RuntimeError as e : except RuntimeError as e :
print("failed to load/decode TDM files: " + str(e)) print("failed to load/decode TDM files: " + str(e))

View File

@ -1,9 +1,9 @@
import tdmtermite import TDMtermite
# create 'tdm_termite' instance object # create 'tdm_termite' instance object
try : try :
jack = tdmtermite.tdmtermite(b'samples/SineData.tdm',b'samples/SineData.tdx') jack = TDMtermite.tdmtermite(b'samples/SineData.tdm',b'samples/SineData.tdx')
# list ids of channelgroups # list ids of channelgroups
grpids = jack.get_channelgroup_ids() grpids = jack.get_channelgroup_ids()
# iterate through groups # iterate through groups

View File

@ -1,12 +1,12 @@
import tdmtermite import TDMtermite
# import numpy as np # import numpy as np
import json import json
import re import re
# create 'tdm_termite' instance object # create 'tdm_termite' instance object
try : try :
jack = tdmtermite.tdmtermite(b'samples/SineData.tdm',b'samples/SineData.tdx') jack = TDMtermite.tdmtermite(b'samples/SineData.tdm',b'samples/SineData.tdx')
except RuntimeError as e : except RuntimeError as e :
print("failed to load/decode TDM files: " + str(e)) print("failed to load/decode TDM files: " + str(e))

View File

@ -30,8 +30,8 @@ build-bdist: setup
build-clean: build-clean:
python setup.py clean --all python setup.py clean --all
rm -vf tdmtermite*.so tdmtermite*.cpp rm -vf TDMtermite*.so TDMtermite*.cpp
rm -rvf dist/ tdmtermite.egg-info/ rm -rvf dist/ IMCtermite.egg-info/
cibuildwheel-build: setup cibuildwheel-build: setup
cibuildwheel --platform linux cibuildwheel --platform linux

View File

@ -1,6 +1,6 @@
[metadata] [metadata]
name = tdmtermite name = TDMtermite
description = Extract and read data from National Instruments LabVIEW tdx/tdm files and export them as csv files description = Extract and read data from National Instruments LabVIEW tdx/tdm files and export them as csv files
long_description = file: README.md long_description = file: README.md
# long_description_content_type = text/x-rst # long_description_content_type = text/x-rst

View File

@ -11,9 +11,9 @@ cmpArgs = {
} }
extension = Extension( extension = Extension(
"tdmtermite", "TDMtermite",
language='c++', language='c++',
sources=["tdmtermite.pyx"], sources=["TDMtermite.pyx"],
include_dirs=["lib","3rdparty/pugixml"], include_dirs=["lib","3rdparty/pugixml"],
extra_compile_args=cmpArgs[sys.platform] extra_compile_args=cmpArgs[sys.platform]
) )