Compare commits

...

5 Commits

Author SHA1 Message Date
71cbe31915 github-workflow: remove macOS from os matrix and reduce set of archs to build for 2021-09-22 12:47:24 +02:00
f6fdb2228b github-workflow: switch to macos-11 to support c++17 2021-09-22 12:41:57 +02:00
b869686f6c github-workflow: download artifacts: specify directory path 2021-09-22 12:32:52 +02:00
3253ad2918 github-workflow: use artifacts to share prepared wheel configuration between jobs 2021-09-22 12:25:57 +02:00
770c0167af * github workflow: add checkout step and use makefile target for file
setup
* add README.rst to gitignore
* makefile: validate wheels, run python example, add README.rst option
* usage.py: fix output directory and simplify for loop
* setup.py: remove unused os module
* setup.cfg: syntax fix
2021-09-22 11:20:28 +02:00
8 changed files with 41 additions and 24 deletions

5
.github/setup.sh vendored
View File

@ -1,5 +0,0 @@
#!/bin/bash
cat ../README.md | grep '^# IMCtermite' -A 50000 > ../python/README.md
cp -r ../lib ../python/
cp -v ../LICENSE ../python/

View File

@ -11,10 +11,14 @@ jobs:
name: Prepare environment for wheel builds name: Prepare environment for wheel builds
runs-on: ubuntu-20.04 runs-on: ubuntu-20.04
steps: steps:
- name: Prepare files - uses: actions/checkout@v2
run: | - name: Prepare wheel build
chmod +x "${GITHUB_WORKSPACE}/.github/setup.sh" run: make -C python/ setup
"${GITHUB_WORKSPACE}/.github/setup.sh" - name: Store wheel configuration files
uses: actions/upload-artifact@v2
with:
name: wheel-config
path: python/
build_wheels: build_wheels:
name: Build binary wheels on ${{ matrix.os }} name: Build binary wheels on ${{ matrix.os }}
@ -22,15 +26,19 @@ jobs:
needs: [build_setup] needs: [build_setup]
strategy: strategy:
matrix: matrix:
os: [ubuntu-20.04, windows-2019, macOS-10.15] os: [ubuntu-20.04, windows-2019]
arch: [auto32, auto64, aarch64, ppc64le, s390x] arch: [auto32, auto64, aarch64]
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v2
- uses: actions/setup-python@v2 - uses: actions/setup-python@v2
- name: Install cibuildwheel - name: Install cibuildwheel
run: python -m pip install cibuildwheel==2.1.2 run: python -m pip install cibuildwheel==2.1.2
working-directory: python/ - name: Get wheel configuration files
uses: actions/download-artifact@v2
with:
name: wheel-config
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/
@ -45,6 +53,11 @@ jobs:
- 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
uses: actions/download-artifact@v2
with:
name: wheel-config
path: python/
- name: Build sdist - name: Build sdist
run: python setup.py sdist run: python setup.py sdist
working-directory: python/ working-directory: python/

1
.gitignore vendored
View File

@ -34,6 +34,7 @@ pip/dist/
pip/build/ pip/build/
python/README.md python/README.md
python/README.rst
python/LICENSE python/LICENSE
python/build python/build
python/*.egg-info python/*.egg-info

View File

@ -91,6 +91,9 @@ python-clean:
make -C python/ clean make -C python/ clean
rm -vf IMCtermite*.so rm -vf IMCtermite*.so
python-test:
PYTHONPATH=./ python python/examples/usage.py
#-----------------------------------------------------------------------------# #-----------------------------------------------------------------------------#
# clean # clean

View File

@ -21,18 +21,18 @@ if len(channelsdata) > 0 :
print(len(chnydata)) print(len(chnydata))
print(len(chnxdata)) print(len(chnxdata))
print()
# print the channels into a specific directory # print the channels into a specific directory
imcraw.print_channels(b"./data",ord(',')) imcraw.print_channels(b"/tmp/",ord(','))
# print all channels separately # print all channels separately
idx = 0 for i,chn in enumerate(channels) :
for chn in channels : print(str(i)+" : "+chn['name']+" : "+chn['uuid'])
print(str(idx)+" : "+chn['name']+" : "+chn['uuid']) filname = os.path.join("/tmp/",str(i) + "_" + chn['name']+".csv")
filname = os.path.join("./data",str(idx) + "_" + chn['name']+".csv")
print(filname) print(filname)
imcraw.print_channel(chn['uuid'].encode(),filname.encode(),ord(',')) imcraw.print_channel(chn['uuid'].encode(),filname.encode(),ord(','))
idx = idx + 1
# print all channels in single file # print all channels in single file
# imcraw.print_table(b"./data/allchannels.csv") imcraw.print_table(b"/tmp/allchannels.csv")

View File

@ -1,11 +1,13 @@
setup: setup:
cat ../README.md | grep '^# IMCtermite' -A 50000 > ./README.md cat ../README.md | grep '^# IMCtermite' -A 50000 > ./README.md
#pandoc -f markdown -t rst -o README.rst README.md
#python -m rstvalidator README.rst
cp -r ../lib ./ cp -r ../lib ./
cp -v ../LICENSE ./ cp -v ../LICENSE ./
setup-clean: setup-clean:
rm -vf README.md LICENSE rm -vf README.md README.rst LICENSE
rm -rf lib/ rm -rf lib/
build: setup build: setup
@ -16,9 +18,11 @@ build-inplace: setup
build-sdist: setup build-sdist: setup
python setup.py sdist python setup.py sdist
python -m twine check dist/*
build-bdist: setup build-bdist: setup
python setup.py bdist python setup.py bdist
python -m twine check dist/*
build-clean: build-clean:
python setup.py clean --all python setup.py clean --all

View File

@ -1,8 +1,10 @@
[metadata] [metadata]
name = IMCtermite name = IMCtermite
description = Enables extraction of measurement data from binary files with extension 'raw' used by proprietary software imcFAMOS/imcSTUDIO and facilitates its storage in open source file formats description = Enables extraction of measurement data from binary files with extension 'raw' used by proprietary software imcFAMOS and imcSTUDIO and facilitates its storage in open source file formats
long_description = file: README.md long_description = file: README.md
# long_description_content_type = text/x-rst
long_description_content_type = text/markdown
version = file: VERSION version = file: VERSION
author = Record Evolution GmbH author = Record Evolution GmbH
author_email = mario.fink@record-evolution.de author_email = mario.fink@record-evolution.de
@ -12,8 +14,8 @@ license = MIT License
license_files = LICENSE license_files = LICENSE
keywords = IMC, raw, imcFAMOS, imcSTUDIO, imcCRONOS keywords = IMC, raw, imcFAMOS, imcSTUDIO, imcCRONOS
classifiers = classifiers =
Programming Language :: Python :: 3, Programming Language :: Python :: 3
License :: OSI Approved :: MIT License, License :: OSI Approved :: MIT License
Operating System :: OS Independent Operating System :: OS Independent
Topic :: Scientific/Engineering Topic :: Scientific/Engineering
Topic :: Software Development :: Libraries :: Python Modules Topic :: Software Development :: Libraries :: Python Modules

View File

@ -1,6 +1,5 @@
from setuptools import Extension, setup from setuptools import Extension, setup
from Cython.Build import cythonize from Cython.Build import cythonize
import os
import sys import sys
print("building on platform: "+sys.platform) print("building on platform: "+sys.platform)