axiom-py
Official bindings for the Axiom API
What it is and what it does
axiom-py is the official Python client for Axiom, a serverless analytics platform. It lets you ingest structured events into named datasets and query them using Axiom's query language, with built-in support for both blocking and async workflows. The library wraps HTTP calls to Axiom's API via httpx and requests, handling serialization through ujson and dacite for type conversion.
The package supports regional edge endpoints for improved data locality during ingest and query, and includes a dedicated client method for Metrics Processing Language (MPL) queries on OpenTelemetry metrics. Both sync and async clients are provided; the async variant enables concurrent operations like ingesting to multiple datasets in parallel. It targets Python 3.8+ and is actively maintained.
Use it for:
- Ingest application logs and events into Axiom datasets from a Python service or script.
- Query stored events and metrics programmatically to build dashboards or alerts.
- Use regional edge endpoints to reduce latency for high-volume event ingestion in distributed systems.
- Run concurrent ingest operations to multiple datasets using the async client.
- Query OpenTelemetry metrics using MPL from Python applications.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
axiom-py provides a Python client for ingesting events and querying data in Axiom, with support for both synchronous and asynchronous operations, regional edge endpoints, and metrics queries using MPL.
Yes. axiom-py is actively maintained, has no known vulnerabilities, low install friction, and a permissive MIT license. Install it if you are building on Axiom's platform and need a Python client for event ingestion and querying. The async support and edge endpoint configuration make it suitable for production observability pipelines.
Install
axiom-py on PyPI
pip
pip install axiom-pyuv
uv add axiom-pypoetry
poetry add axiom-pyInstalling axiom-py
Before you install
Low friction install with a pure-Python wheel and active maintenance—last release 88 days ago with no known vulnerabilities. Depends on common HTTP and serialization libraries (httpx, requests, ujson, dacite, pyhumps, iso8601, requests-toolbelt).
License in practice
MIT License permits unrestricted use, modification, and distribution with minimal restrictions—suitable for commercial and open-source projects.
Quickstart
pip install axiom-py
import axiom_py
client = axiom_py.Client()
client.ingest_events(dataset="DATASET_NAME", events=[{"foo": "bar"}])
result = client.query(r"['DATASET_NAME'] | where foo == 'bar' | limit 100")
Requires an Axiom API token (xaat- prefix for edge endpoints, or personal token for main API) set via environment variable or passed to Client().
Verify before relying
- Whether the async client's concurrent operations scale efficiently under high load or have rate-limiting constraints.
- Performance characteristics of edge endpoint routing for ingest vs. query workloads.
- Backward compatibility guarantees after the v0.9.0 aggregation enum removal mentioned in the warning.
Package facts
| License | MIT License Copyright (c) 2021 Axiom, Inc. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal… (full text in the JSON record) (permissive) |
| Python support | supports the current Python release (>=3.8) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 7 — dacite, httpx, iso8601, pyhumps, requests-toolbelt, requests, ujson |
| Maintenance | actively maintained — 88 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 875,618/month — #4,833 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: axiom_py-0.12.0-py3-none-any.whl
Tags
More Logging packages
Wraps any iterable to display a real-time…
copyleft · top 100 on PyPI
python-json-loggerFormats Python logging output as JSON, making…
permissive · top 1,000 on PyPI
structlogstructlog is a structured logging library that…
permissive · top 1,000 on PyPI
loguruLoguru provides a pre-configured logger that…
permissive · top 1,000 on PyPI
coloredlogsAdds colored output to Python's standard…
permissive · top 1,000 on PyPI
wandbwandb is a machine learning experiment tracking…
permissive · top 1,000 on PyPI
openmeterOpenMeter Python SDK provides a client library…
permissive · top 15,000 on PyPI
signalfxPython client library for sending metrics,…
permissive · top 15,000 on PyPI
arize-phoenix-clientPhoenix Client provides a Python interface to…
permissive · top 5,000 on PyPI
azure-monitor-ingestionSends custom logs and structured data to Azure…
permissive · top 5,000 on PyPI
openmetadata-ingestionOpenMetadata Ingestion is a framework for…
unclear · top 15,000 on PyPI
humiolibPython SDK that wraps Humio's web API to enable…
permissive · top 15,000 on PyPI
azure-kusto-ingestIngest data into Azure Kusto clusters from…
permissive · top 5,000 on PyPI
energyquantifiedA Python client library for querying Energy…
permissive · top 15,000 on PyPI
databricks-zerobus-ingest-sdkA Python client for streaming data ingestion…
unclear · top 15,000 on PyPI
prometheus-api-clientConnects to Prometheus monitoring systems and…
permissive · top 5,000 on PyPI