pandas-arango
pandas-arango is a synchronous connector for moving data between ArangoDB
documents and pandas DataFrames. It supports AQL and collection reads, chunked
results, and batched insert, update, replace, and upsert operations.
Requirements
- Python 3.11 or newer
- pandas 2.2 or newer
- python-arango 8.0 or newer
- A running ArangoDB server
Install it with:
python -m pip install pandas-arango
Quickstart
Connect with python-arango, read documents into a DataFrame, use pandas, and
write the result to another collection:
from arango import ArangoClient
from pandas_arango import read_collection, write_collection
client = ArangoClient(hosts="http://127.0.0.1:8529")
database = client.db("my_database", username="root", password="passwd")
users = read_collection(
database,
"users",
columns=["_key", "name", "active"],
)
active_users = users.loc[users["active"]]
result = write_collection(
active_users,
database,
"active_users",
mode="upsert",
create_collection=True,
)
print(result.written_count)
Use read_aql for custom queries and pass chunksize for large results.
Advanced example
Converters let you store Python values that are not JSON-compatible by default. This example preserves decimal prices as strings, converts UUIDs to document keys, omits missing fields, and reads matching documents in chunks:
from decimal import Decimal
from uuid import uuid4
import pandas as pd
from pandas_arango import read_aql, write_collection
measurements = pd.DataFrame(
[
{
"measurement_id": uuid4(),
"price": Decimal("19.95"),
"captured_at": pd.Timestamp.now(tz="UTC"),
"comment": pd.NA,
}
]
)
write_collection(
measurements,
database,
"measurements",
key_column="measurement_id",
create_collection=True,
null_policy="omit",
converters={"measurement_id": str, "price": str},
)
chunks = read_aql(
database,
"""
FOR measurement IN measurements
FILTER TO_NUMBER(measurement.price) >= @minimum_price
RETURN measurement
""",
bind_vars={"minimum_price": 10},
chunksize=10_000,
)
for chunk in chunks:
print(chunk[["_key", "price", "captured_at"]])
Constraints
- Nested objects and arrays remain values in DataFrame cells by default.
- AQL projection is preferred; client-side flattening is opt-in.
- Writes accept JSON-compatible values. Other values require converters.
- Timezone-naive timestamps are rejected instead of assuming a timezone.
More information
Release files for pandas-arango 0.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pandas_arango-0.1.2.tar.gz | 22.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pandas_arango-0.1.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 36.3 kB
Release files / pandas_arango-0.1.2.tar.gz
| Download URL | pandas_arango-0.1.2.tar.gz |
|---|---|
| Size | 22.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
836720c78ae3d886989dd2f39f61f6fa96e13f33bffc3e456862d376fc0bfb40
|
|
BLAKE2b-256 checksum How to use checksums |
5687e40bd12039f8d9e7d0b021c575a3b6539d25af89ef0fb9c81276095999a8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 25, 2026.
Transparency logRelease files / pandas_arango-0.1.2-py3-none-any.whl
| Download URL | pandas_arango-0.1.2-py3-none-any.whl |
|---|---|
| Size | 14.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6a5c955a7757185a18ceac544f83b03ee5834b931d8e479d56bdf74269c307e9
|
|
BLAKE2b-256 checksum How to use checksums |
75b78ff8eede74814b2999a79308bb4424fbd6b1f60e7f4256bd3fd5716cffca
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 25, 2026.
Transparency log