This file defines how agents and contributors should operate in this repository.
This SDK is read-only/data-plane:
- market and chain data access
- performance benchmarking
- stream ingestion helpers
It explicitly excludes:
- signing
- order placement
- private key custody logic
- Keep interfaces typed and backwards-compatible where practical.
- Prefer additive API changes over breaking renames.
- Update tests for every behavior change.
- Update
README.md,PROJECT_STATE.md, andCHANGELOG.mdin the same change. - Keep examples runnable from repo root.
- If a gRPC example changes auth or diagnostics behavior, verify whether failures are caused by local key resolution or endpoint-side authorization before handoff, including mixed-key environments where RPC-scoped and unified-stream keys coexist.
Run before merging:
cd /Users/jaws/research/dev/aleatoric/public/hypercore-python-sdk
source .venv/bin/activate
pytest -q
mypy -p hypercore_sdk
python -m build
python -m twine check dist/*- Verify CLI entrypoint resolves to local venv:
which hypercore-sdk
- Verify imports:
python -c "import hypercore_sdk; print(hypercore_sdk.__file__)"
- Run benchmark smoke:
python3 examples/feed_latency_examples.py --runs 1 --coin BTC --skip-unified --skip-grpc
- Update:
CHANGELOG.mdPROJECT_STATE.md- benchmark profiles/baselines when the benchmark output contract changes
- Verify packaging artifacts:
python -m buildpython -m twine check dist/*
- For gRPC example/auth diagnostics changes:
- verify the active endpoint behavior when credentials are available
- note whether denial is local config drift or endpoint-side auth policy