Metadata-Version: 2.3
Name: epochalyst
Version: 0.3.7
Summary: Epochalyst is the base for Team Epoch competitions.
Project-URL: Homepage, https://teamepoch.ai/
Project-URL: Documentation, https://TeamEpochGithub.github.io/epochalyst/
Project-URL: Repository, https://github.com/TeamEpochGithub/epochalyst
Project-URL: Download, https://pypi.org/project/epochalyst/#files
Project-URL: Issues, https://github.com/TeamEpochGithub/epochalyst/issues
Project-URL: Release notes, https://github.com/TeamEpochGithub/epochalyst/releases
Author-email: Jasper van Selm <jmvanselm@gmail.com>, Ariel Ebersberger <arielebersberger@gmail.com>, Tolga Kopar <cahittolgakopar@gmail.com>, Jeffrey Lim <jeffrey-lim@outlook.com>, Hugo de Heer <hugodeheer1234@gmail.com>, Emiel Witting <emiel.witting@gmail.com>, Gregoire Dumont <dumont.gregoire.a@gmail.com>, Kristóf Sandor <emherk512@gmail.com>, Daniel De Dios Allegue <danieldediosallegue@gmail.com>
License: MIT License
        
        Copyright (c) 2024 Team Epoch
        
        Permission is hereby granted, free of charge, to any person obtaining a copy
        of this software and associated documentation files (the "Software"), to deal
        in the Software without restriction, including without limitation the rights
        to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
        copies of the Software, and to permit persons to whom the Software is
        furnished to do so, subject to the following conditions:
        
        The above copyright notice and this permission notice shall be included in all
        copies or substantial portions of the Software.
        
        THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
        IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
        FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
        AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
        LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
        OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
        SOFTWARE.
License-File: LICENSE
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Typing :: Typed
Requires-Python: >=3.10
Requires-Dist: agogos>=0.4
Requires-Dist: annotated-types>=0.6.0
Requires-Dist: joblib>=1.4.0
Requires-Dist: torch>=2.1.0
Requires-Dist: typing-extensions>=4.9.0; python_version < '3.12'
Provides-Extra: dask
Requires-Dist: dask-expr>=0.5.3; extra == 'dask'
Requires-Dist: dask[dataframe]>=2024.2.1; extra == 'dask'
Provides-Extra: image
Requires-Dist: kornia>=0.7.2; extra == 'image'
Requires-Dist: timm>=0.9.16; extra == 'image'
Provides-Extra: numpy
Requires-Dist: numpy<2,>=1.22.4; extra == 'numpy'
Provides-Extra: pandas
Requires-Dist: pandas[parquet,performance]>=2.0.0; extra == 'pandas'
Provides-Extra: polars
Requires-Dist: polars>=0.20.22; extra == 'polars'
Description-Content-Type: text/markdown

![image](./docs/_static/images/logo/Epochalyst_Logo_Dark.png#gh-light-mode-only)
![image](./docs/_static/images/logo/Epochalyst_Logo_Light.png#gh-dark-mode-only)

[![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/)

Epochalyst is the base for [Team Epoch](https://teamepoch.ai/) competitions.

This package contains many modules and classes necessary to construct the src code for machine learning competitions.

Epochalyst: A fusion of "Epoch" and "Catalyst," this name positions your pipeline as a catalyst in the field of machine learning, sparking significant advancements and transformations.

## Installation

Install `epochalyst` via pip:

```shell
pip install epochalyst
```

Or using [Poetry](https://python-poetry.org/):

```shell
poetry add epochalyst
```

## Pytest coverage report

To generate pytest coverage report run

```python
python -m pytest --cov=epochalyst --cov-branch --cov-report=html:coverage_re
```

## Imports

### Caching

For caching some imports are only required, these have to be manually installed when needed

- dask >= 2023.12.0 & dask-expr
- pandas >= 1.3.0
- polars
- pyarrow >= 6.0.0 (Read parquet files)
- annotated-types >= 0.6.0

### Model

There is support for using timm models. To be able to do so the user must manually install timm.
- timm >= 0.9.16

### Augmentation

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.

- kornia >= 0.7.2

## Documentation

Documentation is generated using [Sphinx](https://www.sphinx-doc.org/en/master/).

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

Here's a short command to make the documentation and open it in the browser:

```shell
cd ./docs/;
./make.bat html; start chrome file://$PWD/_build/html/index.html
cd ../
```
