pyts

A Python package for time series classification

https://github.com/johannfaouzi/pyts

Science Score: 59.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 3 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Committers with academic emails
    4 of 15 committers (26.7%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (18.2%) to scientific vocabulary

Keywords

classification machine-learning python time-series time-series-analysis time-series-classification

Keywords from Contributors

closember
Last synced: 6 months ago · JSON representation

Repository

A Python package for time series classification

Basic Info
  • Host: GitHub
  • Owner: johannfaouzi
  • License: bsd-3-clause
  • Language: Python
  • Default Branch: main
  • Homepage: https://pyts.readthedocs.io
  • Size: 7.53 MB
Statistics
  • Stars: 1,841
  • Watchers: 24
  • Forks: 174
  • Open Issues: 52
  • Releases: 8
Topics
classification machine-learning python time-series time-series-analysis time-series-classification
Created over 8 years ago · Last pushed 8 months ago
Metadata Files
Readme Contributing License

README.md

Build Status Documentation Status Codecov PyPI - Python Version PyPI version Conda Version CodeQL DOI

pyts: a Python package for time series classification

pyts is a Python package for time series classification. It aims to make time series classification easily accessible by providing preprocessing and utility tools, and implementations of state-of-the-art algorithms. Most of these algorithms transform time series, thus pyts provides several tools to perform these transformations.

Installation

Dependencies

pyts requires:

  • Python (>= 3.8)
  • NumPy (>= 1.22.4)
  • SciPy (>= 1.8.1)
  • Scikit-Learn (>= 1.2.0)
  • Joblib (>= 1.1.1)
  • Numba (>= 0.55.2)

To run the examples Matplotlib (>=2.0.0) is required.

User installation

If you already have a working installation of numpy, scipy, scikit-learn, joblib and numba, you can easily install pyts using pip

pip install pyts

or conda via the conda-forge channel

conda install -c conda-forge pyts

You can also get the latest version of pyts by cloning the repository

git clone https://github.com/johannfaouzi/pyts.git
cd pyts
pip install .

Testing

After installation, you can launch the test suite from outside the source directory using pytest:

pytest pyts

Changelog

See the changelog for a history of notable changes to pyts.

Development

The development of this package is in line with the one of the scikit-learn community. Therefore, you can refer to their Development Guide. A slight difference is the use of Numba instead of Cython for optimization.

Documentation

The section below gives some information about the implemented algorithms in pyts. For more information, please have a look at the HTML documentation available via ReadTheDocs.

Citation

If you use pyts in a scientific publication, we would appreciate citations to the following paper: Johann Faouzi and Hicham Janati. pyts: A python package for time series classification. Journal of Machine Learning Research, 21(46):1−6, 2020.

Bibtex entry: @article{JMLR:v21:19-763, author = {Johann Faouzi and Hicham Janati}, title = {pyts: A Python Package for Time Series Classification}, journal = {Journal of Machine Learning Research}, year = {2020}, volume = {21}, number = {46}, pages = {1-6}, url = {http://jmlr.org/papers/v21/19-763.html} }

Implemented features

Note: the content described in this section corresponds to the main branch (i.e., the latest version), and not the latest released version. You may have to install the latest version to use some of these features.

pyts consists of the following modules:

License

The contents of this repository is under a BSD 3-Clause License.

Owner

  • Name: Johann Faouzi
  • Login: johannfaouzi
  • Kind: user
  • Location: Paris, France

Postdoctorate researcher at Paris Brain Institute. Interested in Machine Learning and Python programming with medical applications.

GitHub Events

Total
  • Issues event: 6
  • Watch event: 87
  • Issue comment event: 5
  • Push event: 2
  • Pull request event: 6
  • Fork event: 8
Last Year
  • Issues event: 6
  • Watch event: 87
  • Issue comment event: 5
  • Push event: 2
  • Pull request event: 6
  • Fork event: 8

Committers

Last synced: 9 months ago

All Time
  • Total Commits: 378
  • Total Committers: 15
  • Avg Commits per committer: 25.2
  • Development Distribution Score (DDS): 0.571
Past Year
  • Commits: 1
  • Committers: 1
  • Avg Commits per committer: 1.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Johann Faouzi j****i@g****m 162
johann.faouzi j****i@i****g 109
Johann Faouzi j****o@o****r 69
Hicham Janati h****i@i****r 24
Ken Lee h****a@h****m 2
Lucas Plagwitz l****z@u****e 2
FAOUZI Johann j****i@u****g 2
AvisP a****1@g****m 1
Bruno P. Kinoshita k****w 1
Darigov Research 3****h 1
Roman Yurchak r****k@s****m 1
Santiago M. Mola s****i@m****o 1
SvenBarray 8****y 1
Tobias T****r 1
lgtm-com[bot] 4****] 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 7 months ago

All Time
  • Total issues: 68
  • Total pull requests: 56
  • Average time to close issues: 7 days
  • Average time to close pull requests: 16 days
  • Total issue authors: 61
  • Total pull request authors: 12
  • Average comments per issue: 3.74
  • Average comments per pull request: 1.89
  • Merged pull requests: 50
  • Bot issues: 0
  • Bot pull requests: 1
Past Year
  • Issues: 8
  • Pull requests: 4
  • Average time to close issues: about 23 hours
  • Average time to close pull requests: about 17 hours
  • Issue authors: 7
  • Pull request authors: 3
  • Average comments per issue: 0.25
  • Average comments per pull request: 1.0
  • Merged pull requests: 2
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • Sandy4321 (2)
  • fkiraly (2)
  • wwjd1234 (2)
  • zneha (2)
  • jmrichardson (2)
  • rgieseke (2)
  • aleksejs-fomins (2)
  • GiovannaR (1)
  • toncho11 (1)
  • thunderbug1 (1)
  • holderhe (1)
  • aglenis (1)
  • darigovresearch (1)
  • lambdatascience (1)
  • BrannonKing (1)
Pull Request Authors
  • johannfaouzi (42)
  • protti (2)
  • smola (2)
  • antonioscarinci (2)
  • lucasplagwitz (2)
  • SvenBarray (2)
  • lgtm-com[bot] (1)
  • valcarcexyz (1)
  • stepanmk (1)
  • jmrichardson (1)
  • darigovresearch (1)
  • kinow (1)
Top Labels
Issue Labels
Pull Request Labels

Packages

  • Total packages: 5
  • Total downloads:
    • pypi 115,692 last-month
  • Total dependent packages: 22
    (may contain duplicates)
  • Total dependent repositories: 78
    (may contain duplicates)
  • Total versions: 30
  • Total maintainers: 2
pypi.org: pyts

A python package for time series classification

  • Versions: 16
  • Dependent Packages: 20
  • Dependent Repositories: 66
  • Downloads: 115,692 Last month
  • Docker Downloads: 0
Rankings
Downloads: 0.8%
Dependent packages count: 0.8%
Docker downloads count: 1.3%
Stargazers count: 1.7%
Average: 1.7%
Dependent repos count: 1.8%
Forks count: 3.9%
Maintainers (1)
Last synced: 6 months ago
proxy.golang.org: github.com/johannfaouzi/pyts
  • Versions: 7
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent packages count: 5.5%
Average: 5.6%
Dependent repos count: 5.8%
Last synced: 7 months ago
spack.io: py-pyts

pyts is a Python package for time series classification. It aims to make time series classification easily accessible by providing preprocessing and utility tools, and implementations of state-of-the-art algorithms. Most of these algorithms transform time series, thus pyts provides several tools to perform these transformations.

  • Versions: 1
  • Dependent Packages: 1
  • Dependent Repositories: 0
Rankings
Dependent repos count: 0.0%
Stargazers count: 6.3%
Forks count: 8.4%
Average: 10.7%
Dependent packages count: 28.1%
Maintainers (1)
Last synced: 6 months ago
conda-forge.org: pyts

pyts is a Python package for time series transformation and classification. It aims to make time series classification easily accessible by providing preprocessing and utility tools, and implementations of state-of-the-art algorithms. Most of these algorithms transform time series, thus pyts provides several tools to perform these transformations.

  • Versions: 5
  • Dependent Packages: 1
  • Dependent Repositories: 6
Rankings
Stargazers count: 10.5%
Dependent repos count: 14.0%
Forks count: 14.7%
Average: 17.0%
Dependent packages count: 29.0%
Last synced: 6 months ago
anaconda.org: pyts

pyts is a Python package for time series transformation and classification. It aims to make time series classification easily accessible by providing preprocessing and utility tools, and implementations of state-of-the-art algorithms. Most of these algorithms transform time series, thus pyts provides several tools to perform these transformations.

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 6
Rankings
Stargazers count: 19.6%
Forks count: 25.9%
Average: 34.7%
Dependent repos count: 42.2%
Dependent packages count: 51.2%
Last synced: 6 months ago

Dependencies

requirements.txt pypi
  • joblib >=0.12
  • numba >=0.48.0
  • numpy >=1.17.5
  • scikit-learn >=0.22.1
  • scipy >=1.3.0
.github/workflows/codeql.yml actions
  • actions/checkout v3 composite
  • github/codeql-action/analyze v2 composite
  • github/codeql-action/autobuild v2 composite
  • github/codeql-action/init v2 composite
.github/workflows/publish_pypi.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v1 composite
setup.py pypi
environment.yml conda
  • numba
  • numpy
  • scikit-learn
  • scipy