# WaveLine
[![CI](https://github.com/vallen-systems/pyWaveLine/workflows/CI/badge.svg)](https://github.com/vallen-systems/pyWaveLine/actions)
[![Documentation Status](https://readthedocs.org/projects/pywaveline/badge/?version=latest)](https://pywaveline.readthedocs.io/en/latest/?badge=latest)
[![Coverage Status](https://coveralls.io/repos/github/vallen-systems/pyWaveLine/badge.svg?branch=master)](https://coveralls.io/github/vallen-systems/pyWaveLine)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![PyPI](https://img.shields.io/pypi/v/waveline)](https://pypi.org/project/waveline)
[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/waveline)](https://pypi.org/project/waveline)
[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
[![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/charliermarsh/ruff/main/assets/badge/v1.json)](https://github.com/charliermarsh/ruff)
**[Documentation](https://pywaveline.readthedocs.io) · [Examples](https://github.com/vallen-systems/pyWaveline/tree/master/examples)**
Python library to easily interface with Vallen Systeme [WaveLine™ devices](https://www.vallen.de/products/data-acquisiton-units/waveline-products/) using the public APIs:
- **linWave** *(prior names: conditionWave, FyrSonic)*
- **spotWave**
## Getting started
Install the latest version from [PyPI](https://pypi.org/project/waveline):
```shell
$ pip install waveline
```
> **Note**:
> `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`.
Run examples:
```shell
$ 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](https://github.com/vallen-systems/pyWaveline/tree/master/examples) and have a look at the [documentation](https://pywaveline.readthedocs.io).
## 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](https://www.pylint.org), [mypy](http://mypy-lang.org), [pytest](https://pytest.org), [tox](https://tox.readthedocs.io))
with. Using a [virtual environment](https://docs.python.org/3/library/venv.html) is strongly recommended.
```shell
$ 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:
```shell
$ 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):
```shell
$ pytest tests/system/linwave --duration-acq 1 --linwave-ip 192.168.0.100
```
Raw data
{
"_id": null,
"home_page": null,
"name": "waveline",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.6",
"maintainer_email": null,
"keywords": "Acoustic Emission, Vallen, WaveLine, conditionWave, data acquisition, linWave, spotWave, ultrasonic",
"author": null,
"author_email": "Lukas Berbuer <software@vallen.de>",
"download_url": "https://files.pythonhosted.org/packages/c8/fc/dd269c081d5493c5b0a3e0fc637c21220bf0e14aa3416d210d8e6863ff4b/waveline-0.8.0.tar.gz",
"platform": null,
"description": "# WaveLine\n\n[![CI](https://github.com/vallen-systems/pyWaveLine/workflows/CI/badge.svg)](https://github.com/vallen-systems/pyWaveLine/actions)\n[![Documentation Status](https://readthedocs.org/projects/pywaveline/badge/?version=latest)](https://pywaveline.readthedocs.io/en/latest/?badge=latest)\n[![Coverage Status](https://coveralls.io/repos/github/vallen-systems/pyWaveLine/badge.svg?branch=master)](https://coveralls.io/github/vallen-systems/pyWaveLine)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![PyPI](https://img.shields.io/pypi/v/waveline)](https://pypi.org/project/waveline)\n[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/waveline)](https://pypi.org/project/waveline)\n[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)\n[![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/charliermarsh/ruff/main/assets/badge/v1.json)](https://github.com/charliermarsh/ruff)\n\n**[Documentation](https://pywaveline.readthedocs.io) \u00b7 [Examples](https://github.com/vallen-systems/pyWaveline/tree/master/examples)**\n\nPython library to easily interface with Vallen Systeme [WaveLine\u2122 devices](https://www.vallen.de/products/data-acquisiton-units/waveline-products/) using the public APIs:\n\n- **linWave** *(prior names: conditionWave, FyrSonic)*\n- **spotWave**\n\n## Getting started\n\nInstall the latest version from [PyPI](https://pypi.org/project/waveline):\n\n```shell\n$ pip install waveline\n```\n\n> **Note**:\n> `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.\n> Alternatively, you can run `pip` from your specific Python version with `python<version> -m pip`.\n\nRun examples:\n\n```shell\n$ python examples/linwave_ae.py # if you have a linWave device\n$ python examples/spotwave_ae.py # if you have a spotWave device\n```\n\nExplore further [examples](https://github.com/vallen-systems/pyWaveline/tree/master/examples) and have a look at the [documentation](https://pywaveline.readthedocs.io).\n\n## Contributing\n\nFeature requests, bug reports and fixes are always welcome!\n\n### Development setup\n\nAfter cloning the repository, you can easily install the development environment and tools \n([pylint](https://www.pylint.org), [mypy](http://mypy-lang.org), [pytest](https://pytest.org), [tox](https://tox.readthedocs.io))\nwith. Using a [virtual environment](https://docs.python.org/3/library/venv.html) is strongly recommended.\n\n```shell\n$ git clone https://github.com/vallen-systems/pyWaveLine.git\n$ cd pyWaveLine\n\n# Create virtual environment in directory .venv\n$ python -m venv .venv\n# Activate virtual environment\n$ source .venv/bin/activate # Linux\n$ .venv\\Scripts\\activate # Windows\n\n# Install package (editable) and all development tools\n$ pip install -e .[dev]\n\n# Run auto-formatter\n$ black .\n\n# Run linter\n$ ruff check .\n\n# Run the test suite in the current environment\n$ pytest\n\n# Run the CI pipeline (checks and tests) for all targeted (and installed) Python versions with tox\n$ tox\n\n# Build the documentation\n$ cd docs\n$ make html # Linux\n$ .\\make.bat html # Windows\n```\n\n### Run system tests\n\nSystem level tests are only available, if the targeted device can be discovered.\n\n\nRun system tests with a spotWave device:\n\n```shell\n$ pytest tests/system/spotwave --duration-acq 1\n```\n\nMeasurement durations for long-term acquisition tests can be specified with the `--duration-acq` parameter (default: 1 second).\n\nRun 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):\n\n```shell\n$ pytest tests/system/linwave --duration-acq 1 --linwave-ip 192.168.0.100\n```\n",
"bugtrack_url": null,
"license": "MIT License",
"summary": "Library to easily interface with Vallen Systeme WaveLine\u2122 devices",
"version": "0.8.0",
"project_urls": {
"Changelog": "https://github.com/vallen-systems/pyWaveLine/blob/master/CHANGELOG.md",
"Issues": "https://github.com/vallen-systems/pyWaveLine/issues",
"Source": "https://github.com/vallen-systems/pyWaveLine"
},
"split_keywords": [
"acoustic emission",
" vallen",
" waveline",
" conditionwave",
" data acquisition",
" linwave",
" spotwave",
" ultrasonic"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "40f7ff0642b715f90d010415d09655a1e6bc8b831337b02e89114a35f218fe49",
"md5": "0cb211de4a65da5d1c7183fb53fb0353",
"sha256": "082fe195cc0985eb329e849ddb38600edc3763ec7bdc627999244c5eda0f1beb"
},
"downloads": -1,
"filename": "waveline-0.8.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "0cb211de4a65da5d1c7183fb53fb0353",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.6",
"size": 19842,
"upload_time": "2024-03-20T16:49:14",
"upload_time_iso_8601": "2024-03-20T16:49:14.339265Z",
"url": "https://files.pythonhosted.org/packages/40/f7/ff0642b715f90d010415d09655a1e6bc8b831337b02e89114a35f218fe49/waveline-0.8.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "c8fcdd269c081d5493c5b0a3e0fc637c21220bf0e14aa3416d210d8e6863ff4b",
"md5": "98208f510d5ba426a668f5acf28d5570",
"sha256": "9305a062b483b1857be14864ea13b0779d469f4425c90ffe12e32b32a126ccd3"
},
"downloads": -1,
"filename": "waveline-0.8.0.tar.gz",
"has_sig": false,
"md5_digest": "98208f510d5ba426a668f5acf28d5570",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6",
"size": 36472,
"upload_time": "2024-03-20T16:49:16",
"upload_time_iso_8601": "2024-03-20T16:49:16.513996Z",
"url": "https://files.pythonhosted.org/packages/c8/fc/dd269c081d5493c5b0a3e0fc637c21220bf0e14aa3416d210d8e6863ff4b/waveline-0.8.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-03-20 16:49:16",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "vallen-systems",
"github_project": "pyWaveLine",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "waveline"
}