- clients/README.md: canonical API surface and error type reference - clients/testdata/: shared JSON response fixtures - clients/go/: mciasgoclient package; net/http + TLS 1.2+; sync.RWMutex token state; DisallowUnknownFields on all decoders; 25 tests pass - clients/rust/: async mcias-client crate; reqwest+rustls (no OpenSSL); thiserror MciasError enum; Arc<RwLock> token state; 22+1 tests pass; cargo clippy -D warnings clean - clients/lisp/: ASDF mcias-client; dexador HTTP, yason JSON; mcias-error condition hierarchy; Hunchentoot mock-dispatcher; 37 fiveam checks pass on SBCL 2.6.1; yason boolean normalisation in validate-token - clients/python/: mcias_client package (Python 3.11+); httpx sync; py.typed; dataclasses; 32 pytest tests; mypy --strict + ruff clean - test/mock/mockserver.go: in-memory mock server for Go client tests - ARCHITECTURE.md §19: updated per-language notes to match implementation - PROGRESS.md: Phase 9 marked complete - .gitignore: exclude clients/rust/target/, python .venv, .pytest_cache, .fasl files Security: token never logged or exposed in error messages in any library; TLS enforced in all four languages; token stored under lock/mutex/RwLock
28 lines
563 B
Python
28 lines
563 B
Python
"""MCIAS Python client library."""
|
|
from ._client import Client
|
|
from ._errors import (
|
|
MciasAuthError,
|
|
MciasConflictError,
|
|
MciasError,
|
|
MciasForbiddenError,
|
|
MciasInputError,
|
|
MciasNotFoundError,
|
|
MciasServerError,
|
|
)
|
|
from ._models import Account, PGCreds, PublicKey, TokenClaims
|
|
|
|
__all__ = [
|
|
"Client",
|
|
"MciasError",
|
|
"MciasAuthError",
|
|
"MciasForbiddenError",
|
|
"MciasNotFoundError",
|
|
"MciasInputError",
|
|
"MciasConflictError",
|
|
"MciasServerError",
|
|
"Account",
|
|
"PublicKey",
|
|
"TokenClaims",
|
|
"PGCreds",
|
|
]
|