axonis-core — Library Modules & Features
Repo-local inventory of axonis-core's actual modules, public exports, class hierarchy, and environment variables. Companion to the platform-tier contract platform.axonis-core (which states the cross-cutting purpose, invariants, and import boundaries); this spec is the per-repo feature/module detail. Import root is axonis; pip name is axonis-core.
Folded from the former generated STRUCTURE.md (originally generated 2026-05-26 @ 0c6a653, fix/test-infra-fixes). Where this inventory and platform.axonis-core's #package-structure diverge, the platform spec states the golden target and this spec records the present tree.
Modules
The package tree, by directory, with each area's purpose. The parenthetical count is the number of modules in that area at generation time.
Top-level package
axonis/(16) — axonis-core: shared foundation library for all Axonis services.
apollo
axonis/apollo/(5) —axonis.apollo: shared Apollo subscriber/emitter SDK.
auth
axonis/auth/(6) — Authentication module for axonis-core.
dask
axonis/dask/(1) — dask integration.
elastic
axonis/elastic/(4) —client,async_client,query.
gateway
axonis/gateway/(4) — Federation gateway client module.
http
axonis/http/(1) —client.
k8s
axonis/k8s/(2) — Kubernetes API integration for dynamic Ingress management.
llm
axonis/llm/(2) —client,spec.
mcp
axonis/mcp/(4) — Shared MCP models and utilities.
memory
axonis/memory/(4) —service,extractor,store.
middleware
axonis/middleware/(1) — ASGI middleware: OAuth2 Bearer token validation + audit logging.
operations
axonis/operations/(1) —axonis.operations: shared infrastructure for feature-engineering operations.
redis
axonis/redis/(1) — Redis client module for axonis-core.
system
axonis/system/(1) — Reusable/system/metadatarouter for schema-serving services.
userspace
axonis/userspace/(5) — Userspace primitives for Axonis.
tests
tests/(4) —_integration,_claude_cli,conftest.
Public API
Key exports per module.
exceptions
axonis/exceptions.py — BadRequestException, InvalidRequestError, NotAcceptableException, SearchException, DataException, PipelineException, ModelTrainingException, ModelServingException, ComputeException, SecurityException (and 7 more).
middleware
axonis/middleware/__init__.py — get_auth_context, get_request_context, get_request_headers, get_access_token, get_token_payload, get_user_metadata, get_auth_or_error, set_auth_context, Middleware, requires_auth.
gateway
axonis/gateway/client.py — LOCAL_FEDERATE (federate_id, status, metadata); extract_http_headers, get_status, get_federates, send, send_fire_and_forget, scatter_gather_filtered, scatter_gather; ServiceClient (get, post, put, delete).
userspace.intelligence
axonis/userspace/intelligence.py — Memory, Profile, Accountability, Domain, DecisionTemplate, TaskTemplate, Experience, SignalPolicy.
userspace.objects
axonis/userspace/objects.py — Profile, Experience, Domain, Accountability, DecisionTemplate, TaskTemplate, SignalPolicy, Memory.
mcp.models
axonis/mcp/models.py — Pagination, ToolEnvelope, BaseToolResult, ToolResult, Error, OperationResult, SingleObjectResult, StatusResult.
schema
axonis/schema.py — Schema, TrainingStatus, NLP, Pytorch, LibrarySchema, TransformSchema, NLPToken.
decorators
axonis/decorators.py — required, ignore_exception, timeit, profiler, deprecated, federate, lazy_property.
trace
axonis/trace.py — TraceContext (format, parse_traceparent, mint_traceparent, format_traceparent, set_current_traceparent, get_current_traceparent, current_trace_id).
text
axonis/text.py — abbreviate, finditem, find_keys, clean_term, clean_elastic_id, flatten_dict.
k8s.kubernetes
axonis/k8s/kubernetes.py — clean_id, get_cpu_size_in_cores, get_pod_size_in_bytes, get_kube_resources; Kubernetes (configuration, clean, deployment_name, envs, label, annotations, pod, n_pods, watch).
userspace.validators
axonis/userspace/validators.py — deep_merge, resolve_archetype_chain, resolve_archetypes, validate_experience_layers, validate_domain.
mcp.utils
axonis/mcp/utils.py — clean_tool_schemas, get_tool_dicts, tool_result, envelope_summary, error_result.
env
axonis/env.py — strtobool, getenv_bool, is_edge_node, send_to_federation.
display
axonis/display.py — format_bytes, format_seconds, format_duration, show_size.
Class Hierarchy
NotAcceptableException→ComputeException,DataException,FederateRegistrationException,InsufficientResourcesException,ModelServingException,ModelTrainingException,PipelineException,SearchException,SecurityException.UDS→Accountability,DecisionTemplate,Domain,Experience,Memory,Profile,SignalPolicy,TaskTemplate,UserPreferences.BaseToolResult→Error,OperationResult,SingleObjectResult,StatusResult.BadRequestException→InvalidRequestError,NotAcceptableException.
Environment Variables
Env vars read by the library, with default (*required* = no default; *expr* = computed) and defining module.
ApolloIntegration.APOLLO_BASE_URL=_DEFAULT_APOLLO_BASE_URL—axonis/apollo/integration.pyApolloClient.APOLLO_INGEST_BATCH_SIZE=50—axonis/apollo/client.pyApolloClient.APOLLO_INGEST_FLUSH_INTERVAL_MS=500—axonis/apollo/client.pyApolloClient.APOLLO_INGEST_POST_TIMEOUT_SEC=30—axonis/apollo/client.pyApolloClient.APOLLO_INGEST_RETRY_ATTEMPTS=2—axonis/apollo/client.pyApolloClient.APOLLO_INGEST_RETRY_BASE_MS=200—axonis/apollo/client.pyApolloClient.APOLLO_INGEST_RETRY_CAP_MS=2000—axonis/apollo/client.pyATLAS_LOG_LEVEL=INFO—axonis/logger.pyAUTHORIZATION=*required*—axonis/auth/authenticator.pyAXONIS_EMBEDDING_MODEL=_DEFAULT_MODEL—axonis/memory/embedder.pyAXONIS_LOG_LEVEL=*expr*—axonis/logger.pyAXONIS_LOG_VERBOSE_LIBS=*required*—axonis/logger.pyAXONIS_WORKSPACE=*expr*—axonis/logger.pyCONVERSATION_MAX_MESSAGES=100—axonis/memory/store.pyDASK_SCHEDULER_ADDRESS=*required*—axonis/dask/dask.pyElastic.ELASTIC_HOST=https://127.0.0.1:9200—axonis/elastic/client.pyQuery.ELASTIC_LIMIT=10000—axonis/elastic/query.pyElastic.ELASTIC_PASSWORD=*required*—axonis/elastic/client.pyElastic.ELASTIC_PKI_CA=*required*—axonis/elastic/client.pyQuery.ELASTIC_SCROLL=5m—axonis/elastic/query.pyTEMPLATES_DIR=*required*—axonis/files.pyElastic.ELASTIC_TIMEOUT=20—axonis/elastic/client.pyElastic.ELASTIC_USERNAME=*required*—axonis/elastic/client.pyFEDERATE_DOMAIN=*required*—axonis/uds.pyFEDERATE_GATEWAY_TIMEOUT=5—axonis/gateway/client.pyFEDERATE_GATEWAY_URL=*required*—axonis/env.pyFEDERATE_LOCATION_LATITUDE=*required*—axonis/gateway/client.pyFEDERATE_LOCATION_LONGITUDE=*required*—axonis/gateway/client.pyFEDERATE_NAME=<Name>—axonis/gateway/client.pyFEDERATE_PARTY_V1=*required*—axonis/gateway/client.py
This list is the generated inventory's head; the source generator truncated the remainder (+48 more). Settings are read via AxonisSettings (pydantic-settings) per platform.axonis-core; the canonical, complete env-var surface is each module's Settings subclass and conf/development.axonis.ai.env, not this snapshot.
Depends on: platform.axonis-core