Python library to easily interface with Vallen Systeme WaveLine™ devices using the public APIs:
- conditionWave
- spotWave
Please visit http://pywaveline.rtfd.io for the documentation.
Check out the examples for implementation details.
Install the latest version from PyPI:
pip install waveline
Please note, that waveline
requires Python 3.6 or newer. On Linux systems, pip
is usually mapped to Python 2, so use pip<version>
(e.g. pip3
or pip3.7
) instead. Alternatively, you can run pip
from your specific Python version with python<version> -m pip
.
Feature requests, bug reports and fixes are always welcome!
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 .
isort .
Run linter:
pylint src/
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 with sphinx:
cd docs
sphinx-build . _build
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 conditionWave device (a specific IP can be provided with the --cwave-ip
argument, otherwise the first discovered device will be used):
pytest tests/system/conditionwave --duration-acq 1 --cwave-ip 192.168.0.100