Contributing¶
We welcome contributions! Whether you’re adding a new deep learning architecture or a baseline model, here’s how to get started.
Adding a New Model¶
Implement the Module: Place your model in the appropriate directory: * Deep Learning:
fishy/models/deep/* Classic ML:fishy/models/classic/* Probabilistic:fishy/models/probabilistic/Register the Model: Open
fishy/configs/models.yamland add your model class path and default hyperparameters.Update the Factory: If your model requires a unique initialization signature (e.g., specific number of heads), add a condition to
fishy/_core/factory.py.
Development Workflow¶
Linting: We use
blackfor formatting andpylintfor code quality.Testing: Ensure any new code has unit tests in the
tests/folder and passing doctests in the docstrings.Documentation: If you add a new high-level feature, consider adding a tutorial in the
examples/folder.
Running Tests¶
# Run all unit tests
pytest tests/
# Run all docstring tests
pytest --doctest-modules fishy/