xerberus.constants
Documentation for eth_defi.xerberus.constants Python module.
Shared constants for Xerberus integration.
Centralises API URLs, default paths, and configuration values used by
eth_defi.xerberus.session, eth_defi.xerberus.database,
and eth_defi.xerberus.scanner.
Module Attributes
Xerberus public REST API base URL. |
|
User-Agent header for API requests. |
|
Score scale label embedded in every export record. |
|
Platforms accepted by |
|
Hard rate-limit cap under the public 10 requests / 60 s quota. |
|
Minimum spacing between authenticated requests (pacing under the minute cap). |
|
Export max-age for scores (days). |
|
Default HTTP request timeout in seconds. |
|
Default cap for report URL backfill per run. |
Functions
Resolve the registered email for Xerberus API auth from the environment. |
|
Resolve the Xerberus DuckDB database path. |
- XERBERUS_API_URL: str = 'https://api.xerberus.io/public/v1'
Xerberus public REST API base URL.
All endpoint paths are appended to this, e.g.
XERBERUS_API_URL + "/registry/scores".
- XERBERUS_DATABASE_PATH: pathlib.Path = PosixPath('/home/runner/.tradingstrategy/vaults/xerberus/xerberus.duckdb')
Default DuckDB path for Xerberus risk data.
- XERBERUS_RATE_LIMIT_SQLITE_DATABASE: pathlib.Path = PosixPath('/home/runner/.tradingstrategy/vaults/xerberus/rate-limit.sqlite')
Default SQLite database path for rate limiting state.
- XERBERUS_SCORE_SCALE: str = '0_100_higher_is_better'
Score scale label embedded in every export record.
Higher composite scores indicate better risk posture (opposite polarity to Core3 PoL, where lower is safer).
- XERBERUS_VAULT_PLATFORMS: tuple[str, ...] = ('ipor', 'morpho', 'spark', 't3tris')
Platforms accepted by
GET /vault/list.
- XERBERUS_DEFAULT_REQUESTS_PER_MINUTE: float = 8.0
Hard rate-limit cap under the public 10 requests / 60 s quota.
- XERBERUS_DEFAULT_MIN_REQUEST_INTERVAL_SECONDS: float = 7.5
Minimum spacing between authenticated requests (pacing under the minute cap).
- XERBERUS_DEFAULT_MAX_SCORE_AGE_DAYS: int = 30
Export max-age for scores (days). Older snapshots are treated as missing.
- resolve_xerberus_database_path()
Resolve the Xerberus DuckDB database path.
Scripts share the same
XERBERUS_DATABASE_PATHenvironment variable override. Keeping the resolver next toXERBERUS_DATABASE_PATHavoids each caller repeating the same environment lookup.- Returns
Path from
XERBERUS_DATABASE_PATHor the default DuckDB path.- Return type
- resolve_xerberus_api_email()
Resolve the registered email for Xerberus API auth from the environment.
Xerberus requires the email registered with the API key on every authenticated request (
x-user-emailheader). This helper only readsXERBERUS_API_EMAIL.It does not invent, default, or derive an email from git config, hostname, or other heuristics. Callers and agents must not guess the value: if this returns
None, the operator must set the env var or passapi_email=explicitly intocreate_xerberus_session().See
README-xerberus.md(Authentication section).