diff --git a/README.md b/README.md index 05802ad..e1c33c9 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,13 @@ ![image](https://raw.githubusercontent.com/TeamEpochGithub/epochalyst/main/assets/Epochalyst_Logo_Auto.svg) +[![Team Epoch](https://img.shields.io/endpoint?url=https%3A%2F%2Fraw.githubusercontent.com%2FJeffrey-Lim%2Fepoch-dvdscreensaver%2Fmaster%2Fbadge.json)](https://teamepoch.ai/) [![PyPI Latest Release](https://img.shields.io/pypi/v/epochalyst.svg)](https://pypi.org/project/epochalyst/) [![PyPI Downloads](https://img.shields.io/pypi/dm/epochalyst.svg?label=PyPI%20downloads)](https://pypi.org/project/epochalyst/) +[![Python Version](https://img.shields.io/badge/Python-3.10_|_3.11_|_3.12-4584b6.svg?logo=data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI2NCIgaGVpZ2h0PSI2NCIgdmlld0JveD0iMCAwIDMyIDMyIj48ZGVmcz48bGluZWFyR3JhZGllbnQgaWQ9IkEiIHgxPSI4MTEuNTI3IiB5MT0iNTc0Ljg5NSIgeDI9IjY2NS4yNTUiIHkyPSI1NzMuNzMyIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+PHN0b3Agb2Zmc2V0PSIwIiBzdG9wLWNvbG9yPSIjMzY2YTk2Ii8+PHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjMzY3OWIwIi8+PC9saW5lYXJHcmFkaWVudD48bGluZWFyR3JhZGllbnQgaWQ9IkIiIHgxPSI4NjIuODI0IiB5MT0iNjQyLjE3NiIgeDI9IjU3My4yNzYiIHkyPSI2NDIuMTc2IiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+PHN0b3Agb2Zmc2V0PSIwIiBzdG9wLWNvbG9yPSIjZmZjODM2Ii8+PHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjZmZlODczIi8+PC9saW5lYXJHcmFkaWVudD48L2RlZnM+PGcgdHJhbnNmb3JtPSJtYXRyaXgoLjE2MTcgMCAwIC4xNTgwODkgLTEwNy41Mzc2NCAtODEuNjYxODcpIj48cGF0aCBkPSJNNzE2LjI1NSA1NDQuNDg3YzAtMTMuNjIzIDMuNjUzLTIxLjAzNCAyMy44MjItMjQuNTYzIDEzLjY5My0yLjQgMzEuMjUtMi43IDQ3LjYyNyAwIDEyLjkzNSAyLjEzNSAyMy44MjIgMTEuNzcgMjMuODIyIDI0LjU2M3Y0NC45NDVjMCAxMy4xODItMTAuNTcgMjMuOTgtMjMuODIyIDIzLjk4aC00Ny42MjdjLTE2LjE2NCAwLTI5Ljc4NyAxMy43ODItMjkuNzg3IDI5LjM2M3YyMS41NjRoLTE2LjM3NmMtMTMuODUyIDAtMjEuOTE3LTkuOTg4LTI1LjMwNS0yMy45NjQtNC41Ny0xOC43NzYtNC4zNzYtMjkuOTYzIDAtNDcuOTQ1IDMuNzk0LTE1LjY4NyAxNS45MTctMjMuOTY0IDI5Ljc3LTIzLjk2NGg2NS41MnYtNmgtNDcuNjQ1di0xNy45OHoiIGZpbGw9InVybCgjQSkiLz48cGF0aCBkPSJNODExLjUyNyA2ODguMzJjMCAxMy42MjMtMTEuODIzIDIwLjUyMy0yMy44MjIgMjMuOTY0LTE4LjA1MiA1LjE4OC0zMi41NCA0LjM5NC00Ny42MjcgMC0xMi42LTMuNjctMjMuODIyLTExLjE3LTIzLjgyMi0yMy45NjR2LTQ0Ljk0NWMwLTEyLjkzNSAxMC43ODItMjMuOTggMjMuODIyLTIzLjk4aDQ3LjYyN2MxNS44NjQgMCAyOS43ODctMTMuNzEgMjkuNzg3LTI5Ljk2M3YtMjAuOTY0aDE3Ljg1OGMxMy44NyAwIDIwLjQgMTAuMzA1IDIzLjgyMiAyMy45NjQgNC43NjQgMTguOTcgNC45NzYgMzMuMTU3IDAgNDcuOTQ1LTQuODE3IDE0LjM2NC05Ljk3IDIzLjk2NC0yMy44MjIgMjMuOTY0SDc2My45djZoNDcuNjI3djE3Ljk4eiIgZmlsbD0idXJsKCNCKSIvPjxwYXRoIGQ9Ik03MjguMTY2IDU0MS41MDVjMC00Ljk3NiAzLjk4OC05IDguOTMtOSA0LjkyMyAwIDguOTMgNC4wMjMgOC45MyA5IDAgNC45Ni00LjAwNiA4Ljk4Mi04LjkzIDguOTgyLTQuOTQgMC04LjkzLTQuMDIzLTguOTMtOC45ODJ6bTUzLjU5IDE0OS43OThjMC00Ljk2IDQuMDA2LTguOTgyIDguOTMtOC45ODIgNC45NCAwIDguOTMgNC4wMjMgOC45MyA4Ljk4MiAwIDQuOTc2LTMuOTg4IDktOC45MyA5LTQuOTIzIDAtOC45My00LjAyMy04LjkzLTl6IiBmaWxsPSIjZmZmIi8+PC9nPjwvc3ZnPg==)](https://www.python.org/downloads/) +[![Rye](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/rye/main/artwork/badge.json)](https://rye-up.com) +[![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff) +[![Checked with mypy](https://www.mypy-lang.org/static/mypy_badge.svg)](https://mypy-lang.org/) +[![pre-commit.ci status](https://results.pre-commit.ci/badge/github/TeamEpochGithub/epochalyst/main.svg)](https://results.pre-commit.ci/latest/github/TeamEpochGithub/epochalyst/main) Epochalyst is the base for [Team Epoch](https://teamepoch.ai/) competitions. @@ -11,59 +17,76 @@ Epochalyst: A fusion of "Epoch" and "Catalyst," this name positions your pipelin ## Installation -Install `epochalyst` via pip: +Install `epochalyst` using [Rye](https://rye.astral.sh/): ```shell -pip install epochalyst +rye add epochalyst ``` -Or using [Poetry](https://python-poetry.org/): +Or via pip: ```shell -poetry add epochalyst +pip install epochalyst ``` -## Pytest coverage report +### Optional Dependencies -To generate pytest coverage report run +Depending on what data libraries you use, you can install the following optional dependencies: +```shell +rye add epochalyst[numpy,pandas,dask,polars] # Pick one or more of these +``` -```python -python -m pytest --cov=epochalyst --cov-branch --cov-report=html:coverage_re +Depending on what type of competition you are participating in, you can install the following optional dependencies: +```shell +rye add epochalyst[image,audio] # Pick one or more of these ``` -## Imports +Aside from that, you can install the following optional dependencies: +```shell +rye add epochalyst[onnx,openvino] # Optimizing model inference +``` -### Caching +## Pytest coverage report -For caching some imports are only required, these have to be manually installed when needed +To generate pytest coverage report run -- dask >= 2023.12.0 & dask-expr -- pandas >= 1.3.0 -- polars -- pyarrow >= 6.0.0 (Read parquet files) -- annotated-types >= 0.6.0 +```shell +rye run pytest --cov=epochalyst --cov-branch --cov-report=html:coverage_re +``` -### Model +## pre-commit -There is support for using timm models. To be able to do so the user must manually install timm. -- timm >= 0.9.16 +This repository uses [pre-commit](https://pre-commit.com/) with [Ruff](https://github.com/astral-sh/ruff) +and [MyPy](https://mypy-lang.org/) hooks for code quality checks and auto-formatting. +To install the pre-commit hooks, run: -### Augmentation +```bash +rye run pre-commit install +``` -There is also implementations of augmentations that are not in commonly used packages. Most of these are for time series data but there are implmenetations for CutMix and MixUp for images that can be used in the pipeline. To be able to use these the user must manually install kornia. +To run the pre-commit checks on all files, run: -- kornia >= 0.7.2 +```bash +rye run pre-commit run --all-files +``` ## Documentation -Documentation is generated using [Sphinx](https://www.sphinx-doc.org/en/master/). +Documentation is generated using [Sphinx](https://www.sphinx-doc.org/en/master/) and can be found [here](https://teamepochgithub.github.io/epochalyst). -To make the documentation, run `make html` with `docs` as the working directory. The documentation can then be found in `docs/_build/html/index.html`. +To make the documentation yourself, run `make html` with `docs` as the working directory. +The documentation can then be found in `docs/_build/html/index.html`. -Here's a short command to make the documentation and open it in the browser: +## Contributors -```shell -cd ./docs/; -./make.bat html; start chrome file://$PWD/_build/html/index.html -cd ../ -``` +Epochalyst was created by [Team Epoch IV](https://teamepoch.ai/team#iv), based in the [Dream Hall](https://www.tudelft.nl/ddream) of the [Delft University of Technology](https://www.tudelft.nl/). + +[![Github Badge](https://img.shields.io/badge/-Emiel_Witting-24292e?style=flat&logo=Github)](https://github.com/EWitting) +[![Github Badge](https://img.shields.io/badge/-Jeffrey_Lim-24292e?style=flat&logo=Github)](https://github.com/Jeffrey-Lim) +[![Github Badge](https://img.shields.io/badge/-Hugo_de_Heer-24292e?style=flat&logo=Github)](https://github.com/hjdeheer) +[![Github Badge](https://img.shields.io/badge/-Jasper_van_Selm-24292e?style=flat&logo=Github)](https://github.com/schobbejak) +[![Github Badge](https://img.shields.io/badge/-Tolga_Kopar-24292e?style=flat&logo=Github)](https://github.com/tolgakopar) +[![Github Badge](https://img.shields.io/badge/-Ariel_Ebersberger-24292e?style=flat&logo=Github)](https://github.com/justanotherariel) +[![Github Badge](https://img.shields.io/badge/-Gregoire_Dumont-24292e?style=flat&logo=Github)](https://github.com/Gregoire-Andre-Dumont) +[![Github Badge](https://img.shields.io/badge/-Kristóf_Sándor-24292e?style=flat&logo=Github)](https://github.com/emherk) +[![Github Badge](https://img.shields.io/badge/-Daniel_De_Dios_Allegue-24292e?style=flat&logo=Github)](https://github.com/daniallegue) diff --git a/requirements.txt b/requirements.txt deleted file mode 100644 index 1fb8be9..0000000 --- a/requirements.txt +++ /dev/null @@ -1,48 +0,0 @@ -agogos==0.4 -annotated-types==0.6.0 -certifi==2024.2.2 -charset-normalizer==3.3.2 -click==8.1.7 -cloudpickle==3.0.0 -coverage==7.4.3 -dask>=2024.2.1 -dask-expr>=0.5.3 -filelock==3.13.1 -fsspec==2024.2.0 -idna==3.6 -importlib-metadata==7.0.1 -iniconfig==2.0.0 -Jinja2==3.1.3 -joblib==1.3.2 -locket==1.0.0 -MarkupSafe==2.1.5 -mpmath==1.3.0 -networkx==3.2.1 -numpy==1.26.4 -packaging==23.2 -pandas==2.2.1 -partd==1.4.1 -pillow==10.2.0 -pluggy==1.4.0 -timm==0.9.16 -polars==0.20.16 -pre-commit==3.7.0 -pyarrow>=6.0.0 -pytest==8.0.2 -pytest-cov==4.1.0 -PyYAML==6.0.1 -requests==2.31.0 -sympy==1.12 -toolz==0.12.1 ---find-links https://download.pytorch.org/whl/torch_stable.html -torch==2.2.1+cu118 -torchaudio==2.2.1+cu118 -torchvision==0.17.1+cu118 -tqdm==4.66.2 -typing_extensions==4.10.0 -urllib3==2.2.1 -zipp==3.17.0 -kornia==0.7.2 -onnxruntime==1.18.0 -onnx==1.16.1 -openvino==2024.2.0