Metadata-Version: 2.1
Name: tsuniverse
Version: 0.0.12
Summary: A library for efficiently processing a time series universe to determine causal features.
Home-page: https://github.com/8W9aG/tsuniverse
Author: Will Sackfield
Author-email: will.sackfield@gmail.com
License: MIT
Keywords: features,timeseries
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: pandas>=2.2.3
Requires-Dist: pyarrow>=19.0.1
Requires-Dist: scikit-learn>=1.6.1
Requires-Dist: timeseriesfeatures>=0.1.2
Requires-Dist: scipy>=1.15.3
Requires-Dist: dcor>=0.6
Requires-Dist: numpy>=1.26.4
Requires-Dist: pyHSICLasso>=1.4.2
Requires-Dist: stumpy>=1.13.0

# tsuniverse

<a href="https://pypi.org/project/tsuniverse/">
    <img alt="PyPi" src="https://img.shields.io/pypi/v/tsuniverse">
</a>

A library for efficiently processing a time series universe to determine causal features.

## Dependencies :globe_with_meridians:

Python 3.11.6:

- [pandas](https://pandas.pydata.org/)
- [pyarrow](https://arrow.apache.org/docs/python/index.html)
- [scikit-learn](https://scikit-learn.org/)
- [timeseries-features](https://github.com/8W9aG/timeseries-features)
- [scipy](https://scipy.org/)
- [dcor](https://dcor.readthedocs.io/en/latest/index.html)
- [numpy](https://numpy.org/)
- [pyHSICLasso](https://github.com/riken-aip/pyHSICLasso)
- [stumpy](https://stumpy.readthedocs.io/en/latest/)

## Raison D'être :thought_balloon:

`tsuniverse` aims take a universe of time series and figure out features from that universe that can be used to predict a single time series.

## Architecture :triangular_ruler:

`tsuniverse` is a functional library, meaning that each phase of the feature extraction goes through functions without side-effects. It attempts to do as much multiprocessing as it can to make this process quicker. Each feature extraction is done in different phases, those phases are:

1. Pearson Correlations.
2. Mutual Information.
3. Spearmans Rho.
4. Kendalls Tau.
5. Distance Correlations.
6. HSIC.
7. Stumpy.

## Installation :inbox_tray:

This is a python package hosted on pypi, so to install simply run the following command:

`pip install tsuniverse`

or install using this local repository:

`python setup.py install --old-and-unmanageable`

## Usage example :eyes:

The use of `tsuniverse` is entirely through code due to it being a library. It attempts to hide most of its complexity from the user, so it only has a few functions of relevance in its outward API.

### Generating Features

To generate features:

```python
import datetime

import pandas as pd

from tsuniverse.process import process

df = ... # Your timeseries dataframe
features = process(df)
```

This will produce a list of features that you can produce with [timeseries-features](https://github.com/8W9aG/timeseries-features).

## License :memo:

The project is available under the [MIT License](LICENSE).
