Python SDK for the OpenDecree configuration service. Wraps the gRPC API with sync and async clients, a field-watching subscription layer, and optional OpenTelemetry instrumentation.
| Concern | Tool |
|---|---|
| Language | Python 3.10+ |
| Transport | grpcio |
| Serialization | protobuf, googleapis-common-protos |
| Code generation | grpcio-tools (Docker) |
| Lint / format | ruff |
| Type checking | mypy |
| Tests | pytest, pytest-asyncio |
| Docs | pdoc |
Python 3.10+, Docker (for proto generation), Make.
make generate # regenerate proto stubs + _constants.py (Docker)
make lint # ruff check + format check
make typecheck # mypy
make test # pytest (unit)
make integration # pytest -m integration (requires live server)
make pre-commit # lint + typecheck + testsdk/
├── src/opendecree/ # public package
│ ├── _generated/ # generated proto stubs (committed)
│ └── ...
├── tests/ # unit + integration tests
└── pyproject.toml
See coding-guidelines.md for the shared philosophy (vanilla principle, minimal deps) and the Python-specific section (runtime deps, type annotations, asyncio patterns, ruff enforcement).
- Generated proto stubs live in
sdk/src/opendecree/_generated/and are committed _constants.pyis generated frompyproject.tomlviabuild/gen-constants.py- Apache 2.0 license