Skip to main content

Signal analyzer for time-discrete, equidistant measured signals

Project description



Signalyzer

status docs pypi python license downloads binder

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

  1. Project Status
  2. Project Structure
  3. Getting Started
  4. Development
  5. Release Process
  6. Documentation
  7. Contributing
  8. License
  9. Authors

Project Status

This project is stable and active. Feedback is always welcomed!

Back to top

Project Structure

The project is organized in sub-folders.

  • assets: Project assets files
  • docs/: Sphinx documentation
  • notebooks/: Jupyter notebooks
  • src/signalyzer/: Package sources
    • signalyzer/trace: Trace module sources
    • signalyzer/statemachine: Statemachine module sources

Back to top

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

Back to top

Usage

Please read the online documentation hosted on "Read The Docs".

Back to top

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.

Back to top

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.

Back to top

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.

Back to top

License

The project is licensed under the revised 3-Clause BSD License.

See LICENSE.

Back to top

Authors

  • Jochen Gerhäußer

See also the list of contributors who participated in this project.

Back to top

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

signalyzer-0.3.0.tar.gz (2.0 MB view details)

Uploaded Source

Built Distribution

signalyzer-0.3.0-py3-none-any.whl (28.0 kB view details)

Uploaded Python 3

File details

Details for the file signalyzer-0.3.0.tar.gz.

File metadata

  • Download URL: signalyzer-0.3.0.tar.gz
  • Upload date:
  • Size: 2.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.2

File hashes

Hashes for signalyzer-0.3.0.tar.gz
Algorithm Hash digest
SHA256 963e269599ef2a58a90c2247a7acfe138152dad26d82868e1d8b921940040df2
MD5 dd773103413730f216ff19ced4021dc6
BLAKE2b-256 315f6855d5732d2c59c83bbb518a43528936c3c5b4a9bcacfec926d0fb0eeeeb

See more details on using hashes here.

File details

Details for the file signalyzer-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: signalyzer-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 28.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.2

File hashes

Hashes for signalyzer-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9e319850402349828aa8459eabf0641b66a4b61b122478dff4fba5b0b79418d5
MD5 de3f111a8564ca0970b1a2bb6c836caa
BLAKE2b-256 c877d7e36b3ab63277dfdbe9e3d12cb4b61b19c03124ad12d45f948e341f7afc

See more details on using hashes here.

Supported by

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