Library to easily interface with Vallen Systeme WaveLine™ devices
Project description
WaveLine
Python library to easily interface with Vallen Systeme WaveLine™ devices using the public APIs:
- linWave (prior names: conditionWave, FyrSonic)
- spotWave
Getting started
Install the latest version from PyPI:
$ pip install waveline
Note:
waveline
requires Python 3.6 or newer. On Linux systems,pip
is usually mapped to Python 2, so usepip<version>
(e.g.pip3
orpip3.7
) instead. Alternatively, you can runpip
from your specific Python version withpython<version> -m pip
.
Run examples:
$ python examples/linwave_ae.py # if you have a linWave device
$ python examples/spotwave_ae.py # if you have a spotWave device
Explore further examples and have a look at the documentation.
Contributing
Feature requests, bug reports and fixes are always welcome!
Development setup
After cloning the repository, you can easily install the development environment and tools (pylint, mypy, pytest, tox) with. Using a virtual environment is strongly recommended.
$ git clone https://github.com/vallen-systems/pyWaveLine.git
$ cd pyWaveLine
# Create virtual environment in directory .venv
$ python -m venv .venv
# Activate virtual environment
$ source .venv/bin/activate # Linux
$ .venv\Scripts\activate # Windows
# Install package (editable) and all development tools
$ pip install -e .[dev]
# Run auto-formatter
$ black .
# Run linter
$ ruff check .
# Run the test suite in the current environment
$ pytest
# Run the CI pipeline (checks and tests) for all targeted (and installed) Python versions with tox
$ tox
# Build the documentation
$ cd docs
$ make html # Linux
$ .\make.bat html # Windows
Run system tests
System level tests are only available, if the targeted device can be discovered.
Run system tests with a spotWave device:
$ pytest tests/system/spotwave --duration-acq 1
Measurement durations for long-term acquisition tests can be specified with the --duration-acq
parameter (default: 1 second).
Run system tests with a linWave device (a specific IP can be provided with the --linwave-ip
argument, otherwise the first discovered device will be used):
$ pytest tests/system/linwave --duration-acq 1 --linwave-ip 192.168.0.100
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.