Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

GestaltDB

Coverage Documentation

GestaltDB is a pure Python graph database toolkit for attributed graphs. It stores nodes, edges, labels, typed adjacency records, and property indexes on embedded key-value backends.

Documentation: https://mylonasc.github.io/gestaltdb/

Install

From a local checkout:

uv sync

Install into another project:

uv add /path/to/gestaltdb

With pip:

python -m pip install /path/to/gestaltdb

Optional extras include lmdb, leveldb, rocksdb, arrow, polars, fast-ingest, msgpack, protobuf, bloom, docs, dev, and all.

Quick Example

from gestaltdb.graphdb import Edge, GraphDB, Node
from gestaltdb.kvstores import LMDBStore
from gestaltdb.serializers import PickleSerializer

graph = GraphDB(LMDBStore(path="example_lmdb"), PickleSerializer())

graph.put_node(Node(node_id="alice", labels=["Person"], properties={"name": "Alice"}))
graph.put_node(Node(node_id="bob", labels=["Person"], properties={"name": "Bob"}))
graph.put_edge(Edge(
    edge_id="alice-knows-bob",
    source="alice",
    target="bob",
    properties={"type": "knows", "since": 2024},
))

result = graph.query('MATCH (a:Person {name: "Alice"}) MATCH (a)-[:knows]->(b) RETURN a.id, b.name')
print(result.records)

graph.close()

Features

  • Attributed Node and Edge objects with stable IDs.
  • Native node labels and typed edge traversal through edge.properties["type"].
  • LMDB, LevelDB, and RocksDB/PyRex storage backends.
  • Pickle, JSON, MessagePack, and Protobuf serializers.
  • Label, relationship type, property, composite, and range indexes.
  • Read-only Cypher subset for indexed scans, typed traversal, filtering, ordering, limits, and chained MATCH clauses.
  • Bulk and columnar ingestion helpers.
  • Typed path and subgraph sampling.

See the full documentation for backend selection, indexing, Cypher syntax, ingestion, sampling, and benchmarks.

Name origin

The name GestaltDB is inspired by Gestalt psychology and the idea that the whole is something more than its parts.

Download files

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

Source Distribution

gestaltdb-0.3.0a0.tar.gz (59.6 kB view details)

Uploaded Source

Built Distribution

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

gestaltdb-0.3.0a0-py3-none-any.whl (47.9 kB view details)

Uploaded Python 3

File details

Details for the file gestaltdb-0.3.0a0.tar.gz.

File metadata

  • Download URL: gestaltdb-0.3.0a0.tar.gz
  • Upload date:
  • Size: 59.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for gestaltdb-0.3.0a0.tar.gz
Algorithm Hash digest
SHA256 dc31d9ece994afff3fd1b3a5b0ed8fe8962ad92b07b65e0e60c76fca38b45b84
MD5 3fce17a613402197e8c2694d319ebc30
BLAKE2b-256 d4883b2235ad0c61919d61a98f7839107a8bf825b29061412c7ead07c4fff77a

See more details on using hashes here.

Provenance

The following attestation bundles were made for gestaltdb-0.3.0a0.tar.gz:

Publisher: publish.yml on mylonasc/gestaltdb

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

File details

Details for the file gestaltdb-0.3.0a0-py3-none-any.whl.

File metadata

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

File hashes

Hashes for gestaltdb-0.3.0a0-py3-none-any.whl
Algorithm Hash digest
SHA256 66513b91b30036de163d8d28b8034dec953c9845ead443588bb56e06ab1396b0
MD5 ddd49768ea56eb0c83418029316bb8e7
BLAKE2b-256 b5846e2aa8ec503d2751d707f50abd49cd853b1dcb92fcb29cfc09f1e60bca02

See more details on using hashes here.

Provenance

The following attestation bundles were made for gestaltdb-0.3.0a0-py3-none-any.whl:

Publisher: publish.yml on mylonasc/gestaltdb

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

Release history Release notifications | RSS feed

0.5.2

2 files

0.5.1

2 files

0.3.0

2 files

This release

0.3.0a0 This release

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page