Skip to main content

DAI-Lab An open source project from Data to AI Lab at MIT.

Development Status PyPi Shield Tests Downloads

SigPro: Signal Processing Tools for Machine Learning

Overview

SigPro offers an end-to-end solution to efficiently apply multiple signal processing techniques to convert raw time series into feature time series that encode the knowledge of domain experts in order to solve time series machine learning problems.

Install

Requirements

SigPro has been developed and tested on Python 3.9, 3.10, 3.11 and 3.12 on GNU/Linux and macOS systems.

Also, although it is not strictly required, the usage of a virtualenv is highly recommended in order to avoid interfering with other software installed in the system where SigPro is run.

Install with pip

The easiest and recommended way to install SigPro is using pip:

pip install sigpro

This will pull and install the latest stable release from PyPi.

If you want to install from source or contribute to the project please read the Contributing Guide.

User Guides

SigPro comes with the following user guides:

  • PRIMITIVES.md: Information about the primitive families, their expected input and output.
  • USAGE.md: Instructions about how to usee the three main functionalities of SigPro.
  • DEVELOPMENT.md: Step by step guide about how to write a valid SigPro primitive and contribute it to either SigPro or your own library.

History

0.3.0 - 2025-02-17

Features

  • Add Support for Python 3.12 & Remove 3.8 - Issue #63 by @sarahmish
  • Add fft frequency transformation - Issue #62 by @SaraPido
  • Band rms - Issue #61 by @SaraPido

0.2.1 - 2024-04-24

Features

  • Frequency primitive - Issue #60 by @SaraPido

0.2.0 - 2024-02-02

Features

  • Demo Notebooks for Pipeline usage - Issue #55 by @andyx13
  • Added contributing_primitive and basic_primitives module to assist with new primitive creation/usage - Issue #54 by @andyx13
  • Incorrect classification for stft.json and stft_real.json - Issue #53 by @andyx13
  • Support for more complex pipeline architectures - Issue #52 by @andyx13
  • Update primitive interfaces - Issue #51 by @andyx13
  • Syntax for pipeline creation - Issue #41 by @andyx13
  • Load demo dataset at random index - Issue #35 by @andyx13

0.1.2 - 2023-12-11

Features

  • Python version update - Issue #44 by @andyx13
  • Add demo notebook and per-primitive documentation - Issue #47 by @andyx13

0.1.1 - 2023-04-06

Features

  • Accepting single value data frame format - Issue #36 by @frances-h @sarahmish
  • Update demos - Issue #26 by @frances-h

0.1.0 - 2021-11-14

Features

  • Rework SigPro to be class based

0.0.3 - 2021-09-27

Features

  • Add process_signals function to take a collection of primitives and create features for the given data.

0.0.2 - 2021-02-05

Bug Fixes

  • MANIFEST.in: copy the json files of the primitives with the package installation.

0.0.1 - 2021-01-26

First release to PyPI.

This release comes with the first version of the contributing module, which makes it easier to create new primitives and to test those with the demo data included in this package.

This release also includes the following User Guides:

  • PRIMITIVES.md: Information about the primitive families, their expected input and output.
  • USAGE.md: Instructions about how to usee the three main functionalities of SigPro.
  • DEVELOPMENT.md: Step by step guide about how to write a valid SigPro primitive and contribute it to either SigPro or your own library.

Features

  • Demo data: Available demo data to test primitives.
  • First primitives: The following list of primitives were added:
    • sigpro.aggregations.amplitude.statistical.crest_factor
    • sigpro.aggregations.amplitude.statistical.kurtosis
    • sigpro.aggregations.amplitude.statistical.mean
    • sigpro.aggregations.amplitude.statistical.rms
    • sigpro.aggregations.amplitude.statistical.skew
    • sigpro.aggregations.amplitude.statistical.std
    • sigpro.aggregations.amplitude.statistical.var
    • sigpro.transformations.amplitude.identity.identity
    • sigpro.transformations.frequency.fft.fft
    • sigpro.transformations.frequency.fft.fft_real
    • sigpro.transformations.frequency_time.stft.stft
    • sigpro.transformations.frequency_time.stft.stft_real
  • Contributing module.
  • Documentation on how to contribute new primitives and how to run those.

Metadata

Release files for sigpro 0.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for sigpro 0.3.0
File Size Uploaded Provenance
sigpro-0.3.0.tar.gz 2.8 MB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for sigpro 0.3.0
File Interpreter ABI Platform
sigpro-0.3.0-py2.py3-none-any.whl Python 2, Python 3 none any Details

Total release size: 5.6 MB

Release files / sigpro-0.3.0.tar.gz

Download URL sigpro-0.3.0.tar.gz
Size 2.8 MB
Tags Source
SHA-256 checksum
How to use checksums
5d7061af018a762bc156db7a4f5cbf8d896f4cf1aed46d0c036502bc7689c5ac
BLAKE2b-256 checksum
How to use checksums
f39dfc337c19cd1fe7594402a39fbf9ba2b079c35116c30d53a4c6cf068ade15
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.3.0 pkginfo/1.10.0 requests/2.31.0 setuptools/68.2.2 requests-toolbelt/1.0.0 tqdm/4.66.2 CPython/3.9.19

Release files / sigpro-0.3.0-py2.py3-none-any.whl

Download URL sigpro-0.3.0-py2.py3-none-any.whl
Size 2.8 MB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
83355d8539334242032b441542e2d3bfb37c013125b71d236906f564865e8db5
BLAKE2b-256 checksum
How to use checksums
35c4c3ef8560e1a3da4ce53ed37e34d07ea08cecd2c07ab3cc53bfddc13f29a1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.3.0 pkginfo/1.10.0 requests/2.31.0 setuptools/68.2.2 requests-toolbelt/1.0.0 tqdm/4.66.2 CPython/3.9.19

Security for sigpro 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.

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