Thanks for your interest. This project wraps
latitudesh-python-sdk
with permissive catalog enums to support multi-provider deployments. See
SPEC.md for the design rationale.
- Bugs in our wrapper — open an issue here with a minimal repro.
- Bugs in the underlying SDK (anything under
_generated/that exists unchanged in upstream) — file at latitudesh/latitudesh-python-sdk. - Security issues — see
SECURITY.md. Do not open a public issue.
Requires Python ≥ 3.10 and uv.
git clone https://github.com/Digital-Frontier-LDA/edge-python-sdk
cd edge-python-sdk
# One-time: build the patched _generated/ tree from upstream + patches/
./scripts/apply-patches.sh
# Sync dependencies + dev tools
uv sync --all-extras
# Run the full suite
uv run pytest -q
uv run ruff check .
uv run mypy src- Branch off
mainwith a descriptive prefix:fix/,feat/,docs/,chore/. - Keep PRs focused. One concern per PR; smaller is better.
- Add tests. Every behavior change needs a test. The wire-format tests in
tests/conformance/are the regression net against upstream schemas. - Run the full suite locally before pushing. CI runs ruff, mypy, and pytest across Python 3.10 – 3.13.
- Update
CHANGELOG.mdunder the## Unreleasedsection. One bullet per user-visible change.
Patches in patches/ apply against upstream latitudesh-python-sdk during
apply-patches.sh. To add or modify a patch:
- Extract the pinned upstream sdist locally (the script does this under
/tmp— copy that tree somewhere durable to work in). - Edit and regenerate the patch with
git format-patchordiff -u. - Number it sequentially:
patches/000N-short-description.patch. - Re-run
./scripts/apply-patches.shand the test suite.
See SPEC.md §3 – §4 for the design constraints patches must
respect (in particular, what stays strict for provider="latitude").
Maintainers only — see docs/release.md.