Skip to main content

siganalysis

PyPi Version License Badge

Python (3.12+) routines for analyzing signals. Some of the functions include:

  • Calculating Short-Time Fourier Transform
  • Smoothing a signal
  • Plotting an STFT's spectrogram
  • Calculating the peak hold of an STFT in the freq domain
  • Plotting the peak hold of an STFT

The above functions are handy when analyzing signals recorded in the time domain, such as using a TEAC LX-10 data recorder, and seeing the frequency spectrum for Electromagnetic Compatibility (EMC) analyses.

Installation

You can install siganalysis either via the Python Package Index (PyPI) or from source.

To install using pip:

$ pip install siganalysis

The plotting functions need matplotlib, which is an optional dependency so that it is only installed for those who plot. Install it alongside siganalysis with the plotting extra:

$ pip install siganalysis[plotting]

Source: https://github.com/questrail/siganalysis

Requirements

siganalysis requires the following Python packages:

The plotting functions, plot_spectrogram() and plot_peak_hold(), additionally require matplotlib, which is installed with the plotting extra described above. They live in siganalysis.plotting, so that importing siganalysis does not import matplotlib, but they remain reachable from the package itself:

import siganalysis

siganalysis.plot_peak_hold(axis, stft_data, freq_array)

Contributing

Contributions are welcome! To contribute please:

  1. Fork the repository
  2. Create a feature branch
  3. Add code and tests
  4. Pass lint and tests
  5. Submit a pull request

Development Setup

siganalysis uses uv to manage the virtualenv and dependencies, and just as the task runner.

Use the following commands to create the virtualenv, install the dependencies (including the development group), and list the available just recipes.

$ uv sync
$ just

The most common recipes are:

$ just test    # Run the tests using pytest
$ just fix     # Lint and format the code using ruff
$ just add X   # Add X as a dependency
$ just out     # List the outdated dependencies

License

siganalysis is released under the MIT license. Please see the LICENSE.txt file for more information.

Download files

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

Source Distribution

siganalysis-0.8.0.tar.gz (67.3 kB view details)

Uploaded Source

Built Distribution

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

siganalysis-0.8.0-py3-none-any.whl (14.2 kB view details)

Uploaded Python 3

File details

Details for the file siganalysis-0.8.0.tar.gz.

File metadata

  • Download URL: siganalysis-0.8.0.tar.gz
  • Upload date:
  • Size: 67.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.12.7 {"installer":{"name":"uv","version":"0.12.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for siganalysis-0.8.0.tar.gz
Algorithm Hash digest
SHA256 8c05985c30706a6dd316bff5024fd6f2a8ad127696481872d0a05fa44864d34c
MD5 b2fc6dacef1825b8673cdaa7a4597dbe
BLAKE2b-256 90fe942606e416c8db6c5972144253ef20e87f38d1243ec31189c293bc7f0ca1

See more details on using hashes here.

File details

Details for the file siganalysis-0.8.0-py3-none-any.whl.

File metadata

  • Download URL: siganalysis-0.8.0-py3-none-any.whl
  • Upload date:
  • Size: 14.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.12.7 {"installer":{"name":"uv","version":"0.12.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for siganalysis-0.8.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c0fb04baa2499745067dba85ff7c8f3065468cb9468ed5396ea43a0f38015ce4
MD5 4650219a560c722034450b670fa5cf00
BLAKE2b-256 26d68295ceac8ec1d580949d698854420d6e8a5c1a494ee159c1f05cd1789272

See more details on using hashes here.

Release history Release notifications | RSS feed

0.9.0

2 files

This release

0.8.0 This release

2 files

0.7.0

2 files

0.6.0

2 files

0.5.1

2 files

0.5.0

2 files

0.4.0

1 file

0.3.3

1 file

0.3.2

1 file

0.3.1

1 file

0.2.8

1 file

0.2.7

1 file

0.2.6

1 file

0.2.5

1 file

0.2.4

1 file

0.2.3

1 file

0.2.2

1 file

0.2.1

1 file

0.2

1 file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page