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 hashes)

Uploaded Source

Built Distribution

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

Uploaded Python 3

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