Metadata-Version: 2.1
Name: sigpro
Version: 0.3.0
Summary: Signal Processing Tools for Machine Learning
Home-page: https://github.com/sintel-dev/SigPro
Author: MIT Data To AI Lab
Author-email: dailabmit@gmail.com
License: MIT license
Keywords: sigpro signal processing tools machine learning
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Requires-Python: >=3.9,<3.13
Description-Content-Type: text/markdown
License-File: LICENSE
License-File: AUTHORS.rst
Requires-Dist: mlblocks >=0.6.2
Requires-Dist: pandas >=1.5.3
Requires-Dist: numpy >=1.26.0
Requires-Dist: scipy >=1.11.3
Provides-Extra: dev
Requires-Dist: bumpversion <0.6,>=0.5.3 ; extra == 'dev'
Requires-Dist: pip >=9.0.1 ; extra == 'dev'
Requires-Dist: watchdog <0.11,>=0.8.3 ; extra == 'dev'
Requires-Dist: m2r <0.3,>=0.2.0 ; extra == 'dev'
Requires-Dist: Sphinx <3,>=1.7.1 ; extra == 'dev'
Requires-Dist: sphinx-rtd-theme <0.5,>=0.2.4 ; extra == 'dev'
Requires-Dist: autodocsumm >=0.1.10 ; extra == 'dev'
Requires-Dist: markupsafe <2.1.0 ; extra == 'dev'
Requires-Dist: Jinja2 <3.1,>=2 ; extra == 'dev'
Requires-Dist: alabaster <=0.7.12 ; extra == 'dev'
Requires-Dist: sphinxcontrib-applehelp <1.0.8 ; extra == 'dev'
Requires-Dist: sphinxcontrib-devhelp <1.0.6 ; extra == 'dev'
Requires-Dist: sphinxcontrib-htmlhelp <2.0.5 ; extra == 'dev'
Requires-Dist: sphinxcontrib-serializinghtml <1.1.10 ; extra == 'dev'
Requires-Dist: sphinxcontrib-qthelp <1.0.7 ; extra == 'dev'
Requires-Dist: flake8 <4,>=3.7.7 ; extra == 'dev'
Requires-Dist: flake8-absolute-import <2,>=1.0 ; extra == 'dev'
Requires-Dist: flake8-docstrings <2,>=1.5.0 ; extra == 'dev'
Requires-Dist: flake8-sfs <0.1,>=0.0.3 ; extra == 'dev'
Requires-Dist: isort <5,>=4.3.4 ; extra == 'dev'
Requires-Dist: pylint <3,>=2.5.3 ; extra == 'dev'
Requires-Dist: autoflake <2,>=1.1 ; extra == 'dev'
Requires-Dist: autopep8 <2,>=1.4.3 ; extra == 'dev'
Requires-Dist: twine <4,>=1.10.0 ; extra == 'dev'
Requires-Dist: wheel >=0.30.0 ; extra == 'dev'
Requires-Dist: coverage <6,>=4.5.1 ; extra == 'dev'
Requires-Dist: tox <4,>=2.9.1 ; extra == 'dev'
Requires-Dist: importlib-metadata <5 ; extra == 'dev'
Requires-Dist: mistune <2 ; extra == 'dev'
Requires-Dist: invoke ; extra == 'dev'
Requires-Dist: pytest >=7.2.2 ; extra == 'dev'
Requires-Dist: pytest-cov >=4.1.0 ; extra == 'dev'
Requires-Dist: jupyter <2,>=1.0.0 ; extra == 'dev'
Requires-Dist: rundoc <0.5,>=0.4.3 ; extra == 'dev'
Provides-Extra: test
Requires-Dist: pytest >=7.2.2 ; extra == 'test'
Requires-Dist: pytest-cov >=4.1.0 ; extra == 'test'
Requires-Dist: jupyter <2,>=1.0.0 ; extra == 'test'
Requires-Dist: rundoc <0.5,>=0.4.3 ; extra == 'test'

<p align="left">
<img width=15% src="https://dai.lids.mit.edu/wp-content/uploads/2018/06/Logo_DAI_highres.png" alt="DAI-Lab" />
<i>An open source project from Data to AI Lab at MIT.</i>
</p>

[![Development Status](https://img.shields.io/badge/Development%20Status-2%20--%20Pre--Alpha-yellow)](https://pypi.org/search/?c=Development+Status+%3A%3A+2+-+Pre-Alpha)
[![PyPi Shield](https://img.shields.io/pypi/v/SigPro.svg)](https://pypi.python.org/pypi/SigPro)
[![Tests](https://github.com/sintel-dev/SigPro/workflows/Run%20Tests/badge.svg)](https://github.com/sintel-dev/SigPro/actions?query=workflow%3A%22Run+Tests%22+branch%3Amaster)
[![Downloads](https://pepy.tech/badge/sigpro)](https://pepy.tech/project/sigpro)


# SigPro: Signal Processing Tools for Machine Learning

* License: [MIT](https://github.com/sintel-dev/SigPro/blob/master/LICENSE)
* Development Status: [Pre-Alpha](https://pypi.org/search/?c=Development+Status+%3A%3A+2+-+Pre-Alpha)
* Homepage: https://github.com/sintel-dev/SigPro

## 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](https://www.python.org/downloads/)
on GNU/Linux and macOS systems.

Also, although it is not strictly required, the usage of a [virtualenv](
https://virtualenv.pypa.io/en/latest/) 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](
https://pip.pypa.io/en/stable/):

```bash
pip install sigpro
```

This will pull and install the latest stable release from [PyPi](https://pypi.org/).

If you want to install from source or contribute to the project please read the
[Contributing Guide](CONTRIBUTING.md).


# User Guides

`SigPro` comes with the following user guides:

* [PRIMITIVES.md](PRIMITIVES.md): Information about the primitive families, their expected input
  and output.
* [USAGE.md](USAGE.md): Instructions about how to usee the three main functionalities of `SigPro`.
* [DEVELOPMENT.md](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](https://github.com/sintel-dev/SigPro/pull/63) by @sarahmish
* Add fft frequency transformation - [Issue #62](https://github.com/sintel-dev/SigPro/pull/62) by @SaraPido
* Band rms - [Issue #61](https://github.com/sintel-dev/SigPro/pull/61) by @SaraPido


## 0.2.1 - 2024-04-24

### Features

* Frequency primitive - [Issue #60](https://github.com/sintel-dev/SigPro/pull/60) by @SaraPido 


## 0.2.0 - 2024-02-02

### Features
* Demo Notebooks for Pipeline usage  - [Issue #55](https://github.com/sintel-dev/SigPro/issues/55) by @andyx13
* Added `contributing_primitive` and `basic_primitives` module to assist with new primitive creation/usage   - [Issue #54](https://github.com/sintel-dev/SigPro/issues/54) by @andyx13
* Incorrect classification for stft.json and stft_real.json - [Issue #53](https://github.com/sintel-dev/SigPro/issues/53) by @andyx13
* Support for more complex pipeline architectures - [Issue #52](https://github.com/sintel-dev/SigPro/issues/52) by @andyx13
* Update primitive interfaces - [Issue #51](https://github.com/sintel-dev/SigPro/issues/51) by @andyx13
* Syntax for pipeline creation - [Issue #41](https://github.com/sintel-dev/SigPro/issues/41) by @andyx13
* Load demo dataset at random index - [Issue #35](https://github.com/sintel-dev/SigPro/issues/35) by @andyx13


## 0.1.2 - 2023-12-11

### Features
* Python version update - [Issue #44](https://github.com/sintel-dev/SigPro/issues/44) by @andyx13
* Add demo notebook and per-primitive documentation - [Issue #47](https://github.com/sintel-dev/SigPro/issues/47) by @andyx13


## 0.1.1 - 2023-04-06

### Features
* Accepting single value data frame format - [Issue #36](https://github.com/sintel-dev/SigPro/issues/36) by @frances-h @sarahmish
* Update demos - [Issue #26](https://github.com/sintel-dev/SigPro/pull/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](https://github.com/sintel-dev/SigPro/blob/master/PRIMITIVES.md): Information
  about the primitive families, their expected input and output.
* [USAGE.md](https://github.com/sintel-dev/SigPro/blob/master/USAGE.md): Instructions about how
  to usee the three main functionalities of `SigPro`.
* [DEVELOPMENT.md](https://github.com/sintel-dev/SigPro/blob/master/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.
