Skip to content

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

  1. Clone the repository and create a virtual environment (Python 3.10+).
  2. Install in editable mode with dev and docs extras:
pip install -e ".[etl,ml,dev,docs]"
  1. (Optional) Install pre-commit hooks:
pre-commit install

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:
pytest

With coverage:

pytest --cov=mlops -v

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:
mkdocs serve
  • The site is structured for Read the Docs; ensure mkdocs.yml and .readthedocs.yaml stay 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.