Skip to main content

astraeadb

CI PyPI Python versions

Python client for AstraeaDB, a graph database with vector search written in Rust. Talks to the AstraeaDB server over newline-delimited JSON-over-TCP (no dependencies) with an optional Apache Arrow Flight transport and pandas integration.

Installation

pip install astraeadb                 # core client, zero dependencies
pip install "astraeadb[arrow]"        # + Arrow Flight transport (pyarrow)
pip install "astraeadb[pandas]"       # + DataFrame helpers (pandas)
pip install "astraeadb[all]"          # everything

Requires Python 3.9+. A running AstraeaDB server is required — see the AstraeaDB documentation.

Quick start

from astraeadb import AstraeaClient

with AstraeaClient(host="127.0.0.1", port=7687) as client:
    alice = client.create_node(["Person"], {"name": "Alice", "age": 30})
    bob = client.create_node(["Person"], {"name": "Bob"})
    client.create_edge(alice, bob, "KNOWS", weight=0.9)

    # Traversals
    client.bfs(alice, max_depth=2)
    client.dfs(alice, max_depth=2)
    client.shortest_path(alice, bob, weighted=True)

    # Lookups
    client.find_by_label("Person")
    client.find_edge_by_type("KNOWS")

    # Vector similarity (results carry node_id + distance; smaller is closer)
    hits = client.vector_search([0.1, 0.9, 0.3], k=5)

    # Graph algorithms (computed server-side)
    client.run_pagerank()
    client.run_louvain()
    client.run_betweenness_centrality()

    # GQL
    client.query("MATCH (p:Person) RETURN p.name")

Features

  • CRUD — create/read/update/delete nodes and edges with arbitrary properties
  • Lookupsfind_by_label, find_edge_by_type, bulk delete_by_label
  • Traversalsbfs, dfs, shortest_path, neighbors
  • Temporal queries — time-travel variants (bfs_at, dfs_at, neighbors_at, shortest_path_at) over edge validity windows
  • Graph algorithmsrun_pagerank, run_louvain, run_connected_components, run_degree_centrality, run_betweenness_centrality
  • Vector searchvector_search (k-NN), hybrid_search (graph + vector), semantic_neighbors, semantic_walk
  • GraphRAGextract_subgraph and graph_rag for LLM context assembly
  • Statisticsgraph_stats and raw get_subgraph export
  • GQLquery for Cypher-style graph queries
  • Batchcreate_nodes, create_edges, delete_nodes, delete_edges
  • DataFrames — import/export helpers in astraeadb.dataframe (pandas)
  • Arrow Flight — high-throughput columnar transport when pyarrow is installed

Clients

Class Transport Notes
JsonClient JSON/TCP Always available, zero dependencies
ArrowClient Arrow Flight Requires pyarrow; high-throughput bulk/query
AstraeaClient Auto-select Uses Arrow when available, falls back to JSON
from astraeadb import JsonClient       # explicit JSON/TCP
from astraeadb import ArrowClient      # explicit Arrow Flight (needs pyarrow)
from astraeadb import AstraeaClient    # unified, auto-selecting

License

MIT © 2026 James Harris.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

astraeadb-0.1.1.tar.gz (15.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

astraeadb-0.1.1-py3-none-any.whl (14.9 kB view details)

Uploaded Python 3

File details

Details for the file astraeadb-0.1.1.tar.gz.

File metadata

  • Download URL: astraeadb-0.1.1.tar.gz
  • Upload date:
  • Size: 15.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for astraeadb-0.1.1.tar.gz
Algorithm Hash digest
SHA256 f233d66716c03b7fd671b38fcb58c89a12c13a397cbb599c8d0209c8c9bedc16
MD5 1b1f4ec278e28554281c11b2b06cf7de
BLAKE2b-256 3d01e8136b8a889f299cf9ffb1bd4fa86061c5a5e31543a437630a7faf48fa68

See more details on using hashes here.

Provenance

The following attestation bundles were made for astraeadb-0.1.1.tar.gz:

Publisher: publish.yml on AstraeaDB/astraeadb-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file astraeadb-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: astraeadb-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 14.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for astraeadb-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 b765121d7f278663c007b41aeca5c601c6edf71477f693f89438d83bf0d2b1e4
MD5 aac1c58bceaad9448bd749ed1817a399
BLAKE2b-256 b1454b539dac147d8e57aa7ef0246c214ba0bed7a0a6552e032745f6517f612c

See more details on using hashes here.

Provenance

The following attestation bundles were made for astraeadb-0.1.1-py3-none-any.whl:

Publisher: publish.yml on AstraeaDB/astraeadb-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page