[READ-ONLY] Mirror of https://github.com/openstatusHQ/sdk-python. Official Python SDK for openstatus
sdk-python CONTRIBUTING.md
1.1 kB · 46 lines
Markdown
at main

Contributing #

Development setup #

uv sync

This installs the dev dependency group (pytest, pyright, ruff, respx).

Running checks #

uv run ruff check .
uv run ruff format --check .
uv run pyright
uv run pytest tests/unit

Regenerating protobuf message classes #

The generated tree under src/openstatus/_gen/ is committed. To bump the pinned schema version:

  1. Edit BUF_PY_VERSION in scripts/regen.sh.
  2. Run bash scripts/regen.sh.
  3. Commit scripts/regen.sh and the resulting src/openstatus/_gen/ diff together.

A weekly GitHub Action opens this PR automatically when a newer archive is published.

Integration tests #

Integration tests hit the live API and are gated on OPENSTATUS_API_KEY. They are not run in CI:

OPENSTATUS_API_KEY=... uv run pytest tests/integration

PR conventions #

  • Use from __future__ import annotations at the top of every hand-written module.
  • Keep public surface explicit via __all__.
  • Add a CHANGELOG.md entry under [Unreleased] for any user-visible change.