Metadata-Version: 2.4
Name: entdb-sdk
Version: 1.4.0
Summary: Python SDK for EntDB tenant-sharded graph database
Author-email: EntDB Team <team@entdb.io>
License-Expression: MIT
Project-URL: Homepage, https://github.com/elloloop/tenant-shard-db
Project-URL: Documentation, https://github.com/elloloop/tenant-shard-db#readme
Project-URL: Repository, https://github.com/elloloop/tenant-shard-db
Project-URL: Issues, https://github.com/elloloop/tenant-shard-db/issues
Keywords: database,graph,tenant,sharding,grpc,entdb
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Database
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Typing :: Typed
Requires-Python: >=3.10
Description-Content-Type: text/markdown
Requires-Dist: grpcio>=1.60.0
Requires-Dist: grpcio-tools>=1.60.0
Requires-Dist: protobuf>=4.25.0

# EntDB SDK

Python client library for [EntDB](https://github.com/elloloop/tenant-shard-db) — a tenant-sharded graph database with nodes and edges.

## Install

```bash
pip install entdb-sdk
```

## Quick Start

```python
from entdb_sdk import DbClient, NodeTypeDef, field

# Define types
Task = NodeTypeDef(
    type_id=101,
    name="Task",
    fields=(
        field(1, "title", "str", required=True),
        field(2, "status", "enum", enum_values=("todo", "done")),
    ),
)

# Connect and create
async with DbClient("localhost:50051") as db:
    plan = db.atomic("tenant_1", "user:42")
    plan.create(Task, {"title": "My Task", "status": "todo"})
    result = await plan.commit()
```

## License

MIT
