Skip to main content

Contributing

Contributions are welcome. This page covers local setup, style, tests, and docs.

Development setup

Prerequisites

  • Python 3.8 or higher
  • Git
  • pip

Installation

git clone https://github.com/datacoon/apibackuper.git
cd apibackuper
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -e ".[dev]"
pre-commit install

Code style

  • black — line length 100
  • isort — Black profile, line length 100
  • flake8 — max line length 100, ignore E203
  • mypymypy apibackuper --ignore-missing-imports --no-strict-optional
  • banditbandit -r apibackuper -ll
black --line-length=100 apibackuper
isort --profile=black --line-length=100 apibackuper
flake8 apibackuper --max-line-length=100 --extend-ignore=E203

Tests

pytest
pytest --cov=apibackuper --cov-report=html
tox # multiple Python versions

See tests/README.md for markers, fixtures, and file layout.

Documentation

The site is Docusaurus in docs/:

make docs-serve # or: cd docs && npm start
make docs # production build

Edit markdown in docs/docs/. Keep frontmatter (title, description). npm run build fails on broken links (onBrokenLinks: 'throw').

Pull requests

  • Follow existing CLI and YAML conventions
  • Add or update tests for behavior changes
  • Update the docs site when commands or config fields change
  • Add a CHANGELOG.md note under Unreleased