- engineering-docs → archive/2026-03-29-engineering-docs (63/63 tasks complete) - phase-2-production-ready → archive/2026-03-29-phase-2-production-ready (89/89 tasks complete) - openspec/specs/ synced with all Phase 1 + Phase 2 + engineering-docs capabilities (22 specs total) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
25 lines
939 B
Markdown
25 lines
939 B
Markdown
# Spec: Python SDK (`sentryagent-idp`)
|
|
|
|
**Status**: Pending CEO approval
|
|
**Workstream**: 2 of 8
|
|
|
|
## Scope
|
|
- `sdk-python/` directory at project root
|
|
- `AgentIdPClient` with sync and async variants
|
|
- `TokenManager` with 60s auto-refresh
|
|
- Service clients: `AgentRegistryClient`, `CredentialClient`, `TokenClient`, `AuditClient`
|
|
- `AgentIdPError` typed exception
|
|
- Full type hints — `mypy --strict` clean
|
|
- `sdk-python/README.md` with installation and usage
|
|
|
|
## Acceptance Criteria
|
|
- [ ] All 14 API endpoints covered
|
|
- [ ] Sync client: `requests` library
|
|
- [ ] Async client: `httpx` library
|
|
- [ ] `mypy --strict` passes with zero errors
|
|
- [ ] Zero untyped code
|
|
- [ ] `AgentIdPError` raised (not raw requests/httpx exceptions) on all failure paths
|
|
- [ ] `TokenManager` tested: caches token, refreshes at exp-60s
|
|
- [ ] `pyproject.toml` with: name=sentryagent-idp, python>=3.9, dependencies declared
|
|
- [ ] README matches Node.js SDK structure
|