Skip to main content

Library to easily interface with Vallen Systeme WaveLine™ devices

Project description

WaveLine

CI Documentation Status Coverage Status License: MIT PyPI PyPI - Python Version Ruff

Documentation · Examples

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

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/waveline.git
$ cd waveline

# 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 formatter
$ ruff format .

# 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

waveline-0.10.0.tar.gz (38.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

waveline-0.10.0-py3-none-any.whl (21.1 kB view details)

Uploaded Python 3

File details

Details for the file waveline-0.10.0.tar.gz.

File metadata

  • Download URL: waveline-0.10.0.tar.gz
  • Upload date:
  • Size: 38.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for waveline-0.10.0.tar.gz
Algorithm Hash digest
SHA256 2d4398737cfd963589a406caa0b55ee65b0ce7a0decd5b0d172a60f292528982
MD5 226be55c6a0baf35e0b477b00b2ff053
BLAKE2b-256 a4ead9de7d738a7dd264c9e4dd295b7b9a0d00fed44d4e032519a10a5710533c

See more details on using hashes here.

File details

Details for the file waveline-0.10.0-py3-none-any.whl.

File metadata

  • Download URL: waveline-0.10.0-py3-none-any.whl
  • Upload date:
  • Size: 21.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for waveline-0.10.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e90ad1822367ab13320bea70661781dcdf9d22c7dade9cd7db48c0b78f27c9af
MD5 024f2de0a88d6031b70c818b7cadf6aa
BLAKE2b-256 aff5c896259a049b76785dfb3630569721aad4f82a8e31c655fc418f0667b9f3

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page