Metadata-Version: 2.4
Name: epochlib
Version: 5.0.1
Summary: Epoch Libraries is the base for Team Epoch competitions.
Project-URL: Homepage, https://teamepoch.ai/
Project-URL: Documentation, https://TeamEpochGithub.github.io/epochlib/
Project-URL: Repository, https://github.com/TeamEpochGithub/epochlib
Project-URL: Download, https://pypi.org/project/epochlib/#files
Project-URL: Issues, https://github.com/TeamEpochGithub/epochlib/issues
Project-URL: Release notes, https://github.com/TeamEpochGithub/epochlib/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: annotated-types>=0.6.0
Requires-Dist: joblib>=1.4.0
Requires-Dist: numpy<3,>=1.22.4
Requires-Dist: torch>=2.1.0
Requires-Dist: typing-extensions>=4.9.0; python_version < '3.12'
Provides-Extra: audio
Requires-Dist: audiomentations>=0.36.0; extra == 'audio'
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: onnx
Requires-Dist: onnx>=1.16.1; extra == 'onnx'
Requires-Dist: onnxruntime>=1.18.0; extra == 'onnx'
Provides-Extra: openvino
Requires-Dist: openvino>=2024.2.0; extra == 'openvino'
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](https://raw.githubusercontent.com/TeamEpochGithub/epochlib/main/assets/EpochLib_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/epochlib.svg)](https://pypi.org/project/epochlib/)
[![PyPI Downloads](https://img.shields.io/pypi/dm/epochlib.svg?label=PyPI%20downloads)](https://pypi.org/project/epochlib/)
[![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/epochlib/main.svg)](https://results.pre-commit.ci/latest/github/TeamEpochGithub/epochlib/main)

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

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

## Installation

Install `epochlib` using [Rye](https://rye.astral.sh/):

```shell
rye add epochlib
```

Or via pip:

```shell
pip install epochlib
```

### Optional Dependencies

Depending on what data libraries you use, you can install the following optional dependencies:
```shell
rye add epochlib[numpy,pandas,dask,polars]  # Pick one or more of these
```

Depending on what type of competition you are participating in, you can install the following optional dependencies:
```shell
rye add epochlib[image,audio]  # Pick one or more of these
```

Aside from that, you can install the following optional dependencies:
```shell
rye add epochlib[onnx,openvino]  # Optimizing model inference
```

## Pytest coverage report

To generate pytest coverage report run

```shell
rye run pytest --cov=epochlib --cov-branch --cov-report=html:coverage_re
```

## pre-commit

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:

```bash
rye run pre-commit install
```

To run the pre-commit checks on all files, run:

```bash
rye run pre-commit run --all-files
```

## Documentation

Documentation is generated using [Sphinx](https://www.sphinx-doc.org/en/master/) and can be found [here](https://teamepochgithub.github.io/epochlib).

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

## Maintainers

EpochLib is maintained by [Team Epoch](https://teamepoch.ai), based in the [Dream Hall](https://www.tudelft.nl/ddream) of the [Delft University of Technology](https://www.tudelft.nl/).
