README¶
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¶
Generally ‘one class = one file’ unless they are very tightly coupled.
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.