README

image

Team Epoch PyPI Latest Release PyPI Downloads Python Version Rye Ruff Checked with mypy pre-commit.ci status

EpochLib is the base for Team Epoch competitions.

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

Installation

Install epochlib using Rye:

rye add epochlib

Or via pip:

pip install epochlib

Optional Dependencies

Depending on what data libraries you use, you can install the following optional dependencies:

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:

rye add epochlib[image,audio]  # Pick one or more of these

Aside from that, you can install the following optional dependencies:

rye add epochlib[onnx,openvino]  # Optimizing model inference

Pytest coverage report

To generate pytest coverage report run

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

pre-commit

This repository uses pre-commit with Ruff and MyPy hooks for code quality checks and auto-formatting. To install the pre-commit hooks, run:

rye run pre-commit install

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

rye run pre-commit run --all-files

Documentation

Documentation is generated using Sphinx and can be found here.

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.

Architectural guidelines

  1. Generally ‘one class = one file’ unless they are very tightly coupled.

  2. Use init.py to change import paths so they are shorter for the end user

Maintainers

EpochLib is maintained by Team Epoch, based in the Dream Hall of the Delft University of Technology.