Official bindings for the Axiom API
Project description
[!WARNING] Version v0.9.0 removes the aggregation operation enum, see #158.
axiom-py

Install
pip install axiom-py
Synchronous Client
import axiom_py
client = axiom_py.Client()
client.ingest_events(dataset="DATASET_NAME", events=[{"foo": "bar"}, {"bar": "baz"}])
client.query(r"['DATASET_NAME'] | where foo == 'bar' | limit 100")
Edge Ingestion
For improved data locality, you can configure the client to use regional edge endpoints for ingest and query operations. All other API operations continue to use the main Axiom API endpoint.
import axiom_py
# Using a regional edge domain
edge_client = axiom_py.Client(
token="xaat-your-api-token",
edge="eu-central-1.aws.edge.axiom.co"
)
# Or using an explicit edge URL
edge_client = axiom_py.Client(
token="xaat-your-api-token",
edge_url="https://custom-edge.example.com"
)
Note: Edge endpoints require API tokens (xaat-), not personal tokens.
Edge configuration must be passed explicitly when creating the client.
Asynchronous Client
The library also provides an async client for use with asyncio:
import asyncio
from axiom_py import AsyncClient
async def main():
async with AsyncClient() as client:
# Ingest events
await client.ingest_events(
dataset="DATASET_NAME",
events=[{"foo": "bar"}, {"bar": "baz"}]
)
# Query data
result = await client.query(r"['DATASET_NAME'] | where foo == 'bar' | limit 100")
print(f"Found {len(result.matches)} matches")
asyncio.run(main())
Concurrent Operations
The async client enables efficient concurrent operations:
import asyncio
from axiom_py import AsyncClient
async def main():
async with AsyncClient() as client:
# Ingest to multiple datasets concurrently
await asyncio.gather(
client.ingest_events("dataset1", [{"event": "data1"}]),
client.ingest_events("dataset2", [{"event": "data2"}]),
client.ingest_events("dataset3", [{"event": "data3"}]),
)
asyncio.run(main())
Documentation
Read documentation on axiom.co/docs/guides/python.
License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file axiom_py-0.10.0.tar.gz.
File metadata
- Download URL: axiom_py-0.10.0.tar.gz
- Upload date:
- Size: 112.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c528e298e29bf127af50fe0a92b537d504fb44d82e7fda43776446564a81649f
|
|
| MD5 |
80e4663d54d6eda6eff4048acd7e94b0
|
|
| BLAKE2b-256 |
fbdfffb7edc56ed883806556adfdeb2791551922d02d0f71aeba27b23c0d8bf8
|
File details
Details for the file axiom_py-0.10.0-py3-none-any.whl.
File metadata
- Download URL: axiom_py-0.10.0-py3-none-any.whl
- Upload date:
- Size: 34.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8d6a1572a2b36a49b828615021ea8ca6a820e72e40b5aaa1107b108cdd661fe6
|
|
| MD5 |
b727e99efa259c84caf08158cb2f0494
|
|
| BLAKE2b-256 |
978539686ed09eb1524bdd60b5b065faf089fd115daa04d384812619f35d6617
|