Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Separate docs packages. #113

Open
wants to merge 57 commits into
base: development
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
57 commits
Select commit Hold shift + click to select a range
4e07830
Bug fixed on max_power_spectrum feature
mbarandas Sep 10, 2021
f30e12e
:pencil: Fixed typo in get_started.rst
Gjacquenot Dec 6, 2021
f59957d
Merge pull request #104 from Gjacquenot/patch-1
mbarandas Dec 6, 2021
b99a3f0
Bug fix on LPCC feature.
Dec 17, 2021
6fb37bf
Merge pull request #105 from MargaridaAntunes/development_lpcc
mbarandas Dec 23, 2021
e0237c5
Create MANIFEST.in
thewchan Feb 18, 2022
ed39e62
Update MANIFEST.in
thewchan Feb 18, 2022
70e87ec
Merge pull request #111 from thewchan/add-license-sdist
mbarandas Mar 16, 2022
be713dc
Separate docs packages.
Mar 28, 2022
757acb6
Test github actions.
Mar 29, 2022
a93d4f3
Run isort test folder.
Mar 29, 2022
a9d269d
No support for python 3.10.
Mar 29, 2022
7765026
Update github action to v3.
Mar 29, 2022
1574347
Update github action to v3.
Mar 29, 2022
7abb1d6
Check branch name.
Mar 29, 2022
033310c
Check ubuntu-18.04.
Mar 29, 2022
cb5792c
Fix constants.
Mar 29, 2022
99f9a8d
Change to float64 wave array.
Mar 29, 2022
7e633c9
Check surpressing wave test.
Mar 29, 2022
3b73dfc
Change action to test on ubuntu 18.04 and 20.04.
Mar 29, 2022
3edacee
Remove gSheetsFilter and dependencies.
Mar 29, 2022
e631865
Run tests on windows and macos.
Mar 29, 2022
8cb88bf
Add pre-commit and editorconfig.
Mar 29, 2022
0c2f8e0
Add ISSUE_TEMPLATES and codeql workflow.
Mar 29, 2022
a2abbff
fix: issues templates and setup.py.
Mar 31, 2022
2081a36
fix: ISSUE_TEMPLATE names.
Mar 31, 2022
7f59976
Add release drafter.
Apr 1, 2022
d041fda
fix: setup.py install is deprecated.
Apr 1, 2022
4ae4c2c
test: pin numpy scipy pandas versions to check test actions.
Apr 1, 2022
17ad64f
check numpy and scipy compiler flags.
Apr 1, 2022
c4e7343
fix wave signal.
Apr 5, 2022
331874e
rollback requirements versions.
Apr 5, 2022
40fdcea
nose don't support python 3.10
Apr 5, 2022
18fbda8
Add nbQA pre-commit recipes.
Apr 5, 2022
84cc936
add: dlint action.
Apr 5, 2022
92a731a
fix: dlint action.
Apr 5, 2022
50eba23
fix: codeql action.
Apr 5, 2022
3770557
bump min python version to 3.7
Apr 5, 2022
ff706bf
Resolve merge conflicts
mbarandas May 6, 2022
d21439c
Update unit tests
mbarandas May 6, 2022
5e25d6a
Add imports in __init__
mbarandas May 6, 2022
7663b6a
Add vectorize decorator to ecdf feature and change pandas from_record…
mbarandas May 27, 2022
ecffcdd
Removed unnecessary prints.
dmfolgado Jun 2, 2022
9db0530
Fix df.append deprecation warning
atick-faisal Jul 11, 2022
5dedf6f
Update features.py
Kurokabe Nov 17, 2022
6428fc5
Merge pull request #128 from Kurokabe/patch-1
mluacnunes Feb 28, 2023
4385ff1
Revert "Update features.py"
mluacnunes Feb 28, 2023
a4e7130
Merge pull request #130 from fraunhoferportugal/revert-128-patch-1
mluacnunes Feb 28, 2023
57a5c49
build: update scipy median absolute deviation function
mluacnunes Feb 28, 2023
83b655f
Merge pull request #120 from atick-faisal/fix-pandas-warning
mluacnunes Feb 28, 2023
a129ea7
fix: scipy feature function: median_abs_deviation
mluacnunes Feb 28, 2023
644ac14
Merge branch 'build/upd' of github.com:fraunhoferportugal/tsfel into …
mluacnunes Feb 28, 2023
048e73c
Merge branch 'build/upd'
mbarandas Mar 2, 2023
1d05e21
Updated release version and requirements
mbarandas Mar 2, 2023
fa4ceee
Merge branch 'ops' of github.com:fraunhoferportugal/tsfel into ops
Mar 21, 2023
4188145
fix: run pre-commit
Mar 21, 2023
1df8a32
fix: add option for missing credentials
Mar 21, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 37 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# EditorConfig helps developers define and maintain consistent coding styles between different editors and IDEs
# More information at https://EditorConfig.org

root = true

# Unix-style newlines with a newline ending every file
[*]
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true
charset = utf-8
indent_style = space

# Python: PEP8 defines 4 spaces for indentation
[*.{py,java,r,R,sh}]
indent_size = 4

# The JSON files contain newlines inconsistently
[*.json]
indent_size = 2
insert_final_newline = false

[*.{md,Rmd,rst}]
trim_trailing_whitespace = false
indent_size = 2

# Tabs matter for Makefile and .gitmodules
[{makefile*,Makefile*,*.mk,*.mak,*.makefile,*.Makefile,GNUmakefile,BSDmakefile,make.bat,Makevars*,*.gitmodules}]
indent_style = tab
insert_final_newline = false

# Placeholder files
[{*.gitkeep,__init__.py}]
insert_final_newline = false

[{LICENSE, VERSION*, requirements*}]
insert_final_newline = false
18 changes: 18 additions & 0 deletions .github/ISSUE_TEMPLATE/bug-report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
---
name: "\U0001F41B Bug report"
about: Create a report to help us improve

---

<!--
Thank you for reporting a possible bug in tsfel.

If possible, please provide code that demonstrates the problem, keeping it as
simple and free of external dependencies as you can.
-->

* **Version**:
* **Platform**:
* **Subsystem**:

<!-- Please provide more details below this comment. -->
1 change: 1 addition & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
blank_issues_enabled: false
20 changes: 20 additions & 0 deletions .github/ISSUE_TEMPLATE/feature-request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
name: "\U0001F680 Feature request"
about: Suggest an idea for this project

---

<!--
Thank you for suggesting an idea to make tsfel better.

Please fill in as much of the template below as you're able.
-->

**Is your feature request related to a problem? Please describe.**
Please describe the problem you are trying to solve.

**Describe the solution you'd like**
Please describe the desired behavior.

**Describe alternatives you've considered**
Please describe alternative solutions or features you have considered.
27 changes: 27 additions & 0 deletions .github/release-drafter.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
categories:
- title: ':boom: Breaking Changes'
label: 'breaking'
- title: ':package: Build System'
label: 'build'
- title: ':construction_worker: Continuous Integration'
label: 'ci'
- title: ':books: Documentation'
label: 'documentation'
- title: ':rocket: Features'
label: 'enhancement'
- title: ':beetle: Fixes'
label: 'bug'
- title: ':racehorse: Performance'
label: 'performance'
- title: ':hammer: Refactoring'
label: 'refactoring'
- title: ':fire: Removals and Deprecations'
label: 'removal'
- title: ':lipstick: Style'
label: 'style'
- title: ':rotating_light: Testing'
label: 'testing'
template: |
## What’s Changed

$CHANGES
37 changes: 37 additions & 0 deletions .github/workflows/codeql.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
name: "CodeQL"

on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
schedule:
- cron: '43 5 * * 0'

jobs:
analyze:
name: Analyze
runs-on: ubuntu-latest
permissions:
actions: read
contents: read
security-events: write

strategy:
fail-fast: false
matrix:
language: [ 'python' ]

steps:
- name: Checkout repository
uses: actions/checkout@v3
with:
ref: ${{ github.head_ref }}

- name: Initialize CodeQL
uses: github/codeql-action/init@v1
with:
languages: ${{ matrix.language }}

- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v1
11 changes: 11 additions & 0 deletions .github/workflows/dlint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
name: Dlint
on: [push, pull_request]
jobs:
dlint:
runs-on: ubuntu-latest
name: Dlint
steps:
- uses: actions/checkout@v3
with:
ref: ${{ github.head_ref }}
- uses: dlint-py/dlint-action@master
12 changes: 12 additions & 0 deletions .github/workflows/release-drafter.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
name: Release Drafter
on:
push:
branches:
- master
jobs:
draft_release:
runs-on: ubuntu-latest
steps:
- uses: release-drafter/[email protected]
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
44 changes: 44 additions & 0 deletions .github/workflows/tests.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
name: "Tests"

on:
push:
pull_request:
types: [opened, synchronize, reopened]

jobs:
test:
name: Run template tests
strategy:
max-parallel: 4
fail-fast: false
matrix:
python-version: ['3.7', '3.8', '3.9']
platform: ['ubuntu-18.04', 'ubuntu-20.04', 'macos-latest', 'windows-latest']
runs-on: ${{ matrix.platform }}
timeout-minutes: 30

steps:
- name: Git Checkout
uses: actions/checkout@v3
with:
ref: ${{ github.head_ref }}
- name: Extract branch name
run: echo running on branch ${GITHUB_REF##*/}
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v3
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -VV
python -m pip install --upgrade pip setuptools
pip install -r requirements/requirements.txt
pip install -r requirements/requirements-test.txt
python -m pip install .
- name: Check numpy and scipy flags
run: |
python -c "import numpy as np; np.show_config()"
python -c "import scipy as sp; sp.show_config()"
- name: Run pytest
run: |
python -m pytest -vvv tests
9 changes: 7 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,9 @@ celerybeat-schedule
# Environments
.env
.venv
.venv-dev
.venv-test
.venv-docs
env/
venv/
ENV/
Expand All @@ -115,12 +118,14 @@ dmypy.json
# Pyre type checker
.pyre/
.idea/

# Notebooks
notebooks/UCI HAR Dataset
notebooks/__MACOSX
notebooks/CorrelationReport.html
notebooks/orange_input_test.csv
notebooks/orange_input_train.csv
notebooks/UCI HAR Dataset.zip



# Test outputs
output/
101 changes: 101 additions & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
---
##########################################################################################
# #
# Pre-commit configuration file #
# #
# #
# See https://pre-commit.com for more information #
# See https://pre-commit.com/hooks.html for more hooks #
# #
# To install the git pre-commit hook run: #
# pre-commit install #
# pre-commit autoupdate #
# To update the pre-commit hooks run: #
# pre-commit install-hooks #
# pre-commit install --hook-type commit-msg #
# To run all hooks against current changes in your repository #
# pre-commit run --all-files #
# If you wish to execute an individual hook use pre-commit run <hook_id>. Example: #
# pre-commit run black #
# #
##########################################################################################
default_language_version:
python: python3
default_stages: [commit, push]
fail_fast: false
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.1.0
hooks:
- id: fix-byte-order-marker
name: fix-byte-order-marker
description: removes UTF-8 byte order marker
- id: trailing-whitespace
name: trailing-whitespace
description: Trims trailing whitespace
args: [--markdown-linebreak-ext=md]
- id: end-of-file-fixer
name: end-of-file-fixer
description: Makes sure files end in a newline and only a newline.
- id: check-json
name: check-json
description: Attempts to load all json files to verify syntax.
- id: check-toml
name: check-toml
description: Attempts to load all TOML files to verify syntax.
- id: check-symlinks
name: check-symlinks
description: Checks for symlinks which do not point to anything.
- id: check-added-large-files
name: check-added-large-files
description: Prevent giant files from being committed.
- id: check-case-conflict
name: check-case-conflict
description: Check for files with names that would conflict on a case-insensitive filesystem like MacOS HFS+ or Windows FAT
- id: end-of-file-fixer
name: end-of-file-fixer
description: Makes sure files end in a newline and only a newline.
- id: mixed-line-ending
name: mixed-line-ending
description: Replaces or checks mixed line ending.
- id: check-ast
name: check-ast
description: Simply check whether files parse as valid python.
- id: debug-statements
name: debug-statements
description: Check for debugger imports and py37+ breakpoint() calls in python source.
- id: detect-aws-credentials
name: detect-aws-credentials
description: Checks for the existence of AWS/Minio secrets that you have set up.
args: [--allow-missing-credentials]
- id: detect-private-key
name: detect-private-key
description: Checks for the existence of private keys.
- id: requirements-txt-fixer
name: requirements-txt-fixer
description: Sorts entries in requirements.txt and removes incorrect entries
- repo: https://github.com/psf/black
rev: 22.3.0
hooks:
- id: black
description: The uncompromising Python code formatter
- repo: https://github.com/PyCQA/isort
rev: 5.10.1
hooks:
- id: isort
description: Library to sort imports.
- repo: https://github.com/asottile/pyupgrade
rev: v2.31.1
hooks:
- id: pyupgrade
args: [--py36-plus]
- repo: https://github.com/nbQA-dev/nbQA
rev: 1.3.1
hooks:
- id: nbqa-isort
additional_dependencies: [isort]
- id: nbqa-pyupgrade
additional_dependencies: [pyupgrade]
args: [--py36-plus]
- id: nbqa-black
additional_dependencies: [black]
2 changes: 1 addition & 1 deletion AUTHORS.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ Authors
==========
This package is being developed and maintained by `Fraunhofer AICOS <https://www.aicos.fraunhofer.pt/en/home.html>`_.

.. image:: imgs/fhp_logo.png
.. image:: docs/imgs/fhp_logo.png
:align: center
:scale: 25 %
:alt: FhP-AICOS
Expand Down
2 changes: 2 additions & 0 deletions MANIFEST.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
include LICENSE.txt
include requirements/*.txt
19 changes: 10 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,12 @@

# Time Series Feature Extraction Library
## Intuitive time series feature extraction
This repository hosts the **TSFEL - Time Series Feature Extraction Library** python package. TSFEL assists researchers on exploratory feature extraction tasks on time series without requiring significant programming effort.
This repository hosts the **TSFEL - Time Series Feature Extraction Library** python package. TSFEL assists researchers on
exploratory feature extraction tasks on time series without requiring significant programming effort.

Users can interact with TSFEL using two methods:
##### Online
It does not requires installation as it relies on Google Colabs and a user interface provided by Google Sheets

##### Offline
Advanced users can take full potential of TSFEL by installing as a python package
## Installation

```python
pip install tsfel
```
Expand All @@ -40,10 +38,10 @@ import pandas as pd
df = pd.read_csv('Dataset.txt')

# Retrieves a pre-defined feature configuration file to extract all available features
cfg = tsfel.get_features_by_domain()
cfg = tsfel.feature_extraction.features_settings.get_features_by_domain()

# Extract features
X = tsfel.time_series_features_extractor(cfg, df)
X = tsfel.feature_extraction.calc_features.time_series_features_extractor(cfg, df)
```

## Available features
Expand Down Expand Up @@ -129,4 +127,7 @@ When using TSFEL please cite the following publication:
Barandas, Marília and Folgado, Duarte, et al. "*TSFEL: Time Series Feature Extraction Library.*" SoftwareX 11 (2020). [https://doi.org/10.1016/j.softx.2020.100456](https://doi.org/10.1016/j.softx.2020.100456)

## Acknowledgements
We would like to acknowledge the financial support obtained from the project Total Integrated and Predictive Manufacturing System Platform for Industry 4.0, co-funded by Portugal 2020, framed under the COMPETE 2020 (Operational Programme Competitiveness and Internationalization) and European Regional Development Fund (ERDF) from European Union (EU), with operation code POCI-01-0247-FEDER-038436.
We would like to acknowledge the financial support obtained from the project Total Integrated and Predictive Manufacturing
System Platform for Industry 4.0, co-funded by Portugal 2020, framed under the COMPETE 2020 (Operational Programme
Competitiveness and Internationalization) and European Regional Development Fund (ERDF) from European Union (EU),
with operation code POCI-01-0247-FEDER-038436.
Loading