Contributing to the MLOps Platform¶
Thank you for your interest in contributing. This document gives a short guide to keep the project consistent and easy to maintain.
Development setup¶
- Clone the repository and create a virtual environment (Python 3.10+).
- Install in editable mode with dev and docs extras:
- (Optional) Install pre-commit hooks:
Code style¶
- Formatting: Black (line length 88). Run
black .before committing. - Imports: isort (Black-compatible). Run
isort .. - Linting: flake8. Fix any reported issues.
- Types: mypy is optional but encouraged for new code.
Tests¶
- Use pytest; async tests use pytest-asyncio.
- Run tests:
With coverage:
Config and pipelines¶
- Keep pipeline configuration in
configs/pipelines_config.yml(or documented override files). - Document new config keys and pipeline behavior in
docs/(e.g. under Pipelines or Development Conventions). - Preserve idempotency for new pipelines: use a config hash and metadata so re-runs with the same config skip work.
Documentation¶
- Documentation is in
docs/and built with MkDocs (Material theme). - Write in English for the main docs.
- Build locally:
- The site is structured for Read the Docs; ensure
mkdocs.ymland.readthedocs.yamlstay valid after adding new pages.
Pull requests¶
- Keep changes focused; prefer several small PRs over one large one.
- Ensure tests pass and the docs build.
- Update docs/ if you add or change pipelines, config, or behavior.
Questions and issues¶
- Open issues in the project’s issue tracker for bugs, feature requests, or documentation improvements.
- For configuration or usage questions, check the Quick Start, Pipelines, and Prefect & Production first.
Thank you for contributing.