Signalyzer
signalyzer is a Python package to analyze and process time-discrete, equidistant measured signals, and visualize them with the open source Plotly library for Python.
Main features of the signalyzer package are
- transform and combine measured signals into a new one
- descriptive statistics over the measured signal
- interactive plotting of the measured signal with Plotly
- integrating (accumulating) of the measured signal
- differentiating of the measured signal
- clipping of the measured signal
- rate limiting of the measured signal
- filtering of the measured signal
- logical operations between measured signals
- prioritizing measured logic signals with a priority encoder
- smoothing of the measured signal with statistics
- process measured signals with a moving window
- moving sample value (event) counter
- moving averages with window statistics
- moving differentiation
- moving OLS linear regression with window statistics
- shifting (moving) of the measured signal
- slicing of the measured signal
- evaluate statemachine transitions observed by measured state signal
Important: The signalyzer package is best used within JupyterLab a web-based interactive development environment for Jupyter notebooks or with Plotly Dash, Streamlit or Jupyter voila to build standalone web applications and dashboards.
Table of Contents
- Project Status
- Project Structure
- Getting Started
- Development
- Release Process
- Documentation
- Contributing
- License
- Authors
Project Status
This project is stable and active. Feedback is always welcomed!
Project Structure
The project is organized in sub-folders.
assets: Project assets filesdocs/: Sphinx documentationnotebooks/: Jupyter notebookssrc/signalyzer/: Package sourcessignalyzer/trace: Trace module sourcessignalyzer/statemachine: Statemachine module sources
Getting Started
Dependencies
The signalyzer package requires at least Python 3.10 and depends on the
external packages:
Installation
The project can be installed from PyPI using pip
> pip install signalyzer
Usage
Please read the online documentation hosted on "Read The Docs".
Development
Getting the Source
This project is hosted on gitlab. You can clone this project directly using this command:
> git clone https://gitlab.com/signalytics/signalyzer.git
Building a Distribution
To build a distribution of this project local, use this command:
> make build
The generated the distribution artifacts can be found in the ./dist folder
of the cloned project on your machine.
Building the Documentation
Building the documentation requires Sphinx, the Furo theme, the Sphinx extensions sphinx-copybutton and sphinx-plotly-directive.
The required Python packages can be installed on your local machine using pip, use this commands:
> pip install sphinx
> pip install furo
> pip install sphinx-copybutton
> pip install sphinx-plotly-directive
To build the documentation of this project local, use this command:
> make docs
The generated HTML documentation artifact can be found in the
./docs/_build/html folder of the cloned project on your machine.
Release Process
Versioning
This project uses Semantic Versioning. For a list of available versions, see the repository tag list.
Documentation
The documentation for the latest repository build is hosted on the GitLab Pages of the project.
The documentations of the project releases are hosted on Read The Docs.
Contributing
If you are interested to contribute code or documentation to the project, please take a look at the contributing guidelines for details on our development process.
License
The project is licensed under the revised 3-Clause BSD License.
See LICENSE.
Authors
- Jochen Gerhäußer
See also the list of contributors who participated in this project.
Metadata
Release files for signalyzer 0.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| signalyzer-0.3.0.tar.gz | 2.0 MB | Without provenance | Details for signalyzer-0.3.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| signalyzer-0.3.0-py3-none-any.whl | Python 3 | none | any | Details for signalyzer-0.3.0-py3-none-any.whl |
Total release size: 2.1 MB
Release files / signalyzer-0.3.0.tar.gz
| Download URL | signalyzer-0.3.0.tar.gz |
|---|---|
| Size | 2.0 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
963e269599ef2a58a90c2247a7acfe138152dad26d82868e1d8b921940040df2
|
|
BLAKE2b-256 checksum How to use checksums |
315f6855d5732d2c59c83bbb518a43528936c3c5b4a9bcacfec926d0fb0eeeeb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.11.2
|
Release files / signalyzer-0.3.0-py3-none-any.whl
| Download URL | signalyzer-0.3.0-py3-none-any.whl |
|---|---|
| Size | 28.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
9e319850402349828aa8459eabf0641b66a4b61b122478dff4fba5b0b79418d5
|
|
BLAKE2b-256 checksum How to use checksums |
c877d7e36b3ab63277dfdbe9e3d12cb4b61b19c03124ad12d45f948e341f7afc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.11.2
|
Security for signalyzer 0.3.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.