Clients and Endpoint Methods
Public API surface
Section titled “Public API surface”src/odins_eye/__init__.py re-exports:
OdinsEyeClientAsyncOdinsEyeClientRetryConfigOdinsEyeErrorOdinsEyeAPIError
Synchronous client (OdinsEyeClient)
Section titled “Synchronous client (OdinsEyeClient)”Initialization
Section titled “Initialization”api_key: optional, sent asx-api-keywhen providedheaders: merged into default headerstimeout: optionalhttpx.Timeouthttp2: defaults toTrueretry_config: optionalRetryConfigenable_logging: enables debug logging
Defaults:
Accept: application/jsonUser-Agent: odins-eye-pypi/<package-version>timeout=httpx.Timeout(10.0, connect=5.0)- Base host fixed to
https://api.brookmimir.com
Lifecycle
Section titled “Lifecycle”- Context manager supported via
__enter__/__exit__ - Call
close()for manual cleanup
Asynchronous client (AsyncOdinsEyeClient)
Section titled “Asynchronous client (AsyncOdinsEyeClient)”- Mirrors sync method names and semantics
- Uses
httpx.AsyncClient - Supports async context manager (
__aenter__/__aexit__) - Call
aclose()for manual cleanup
Endpoint methods
Section titled “Endpoint methods”| Method | HTTP Verb | Path | Notes |
|---|---|---|---|
index() | GET | / | Returns status message |
document(doc_id) | GET | /document | Sends bmm-doc-id header |
query(query) | POST | /query | Validates with QueryRequest |
profile() | GET | /profile | User profile |
version() | GET | /version | API version |
credits() | GET | /credits | Credit balance / status |
face_search(image_path, payload=None) | POST | /face/search | Encodes file to Base64 |
nettest() | GET | /nettest | Lightweight connectivity check |