Metadata-Version: 2.1
Name: sigpro
Version: 0.2.2.dev0
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: 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"
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"

<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.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.
