Metadata-Version: 2.4
Name: dodil
Version: 0.0.6
Summary: DODIL Python SDK
Author-email: DODIL <support@dodil.io>
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Requires-Python: <4.0,>=3.10
Requires-Dist: grpcio-tools<2,>=1.76.0
Requires-Dist: grpcio<2,>=1.76.0
Requires-Dist: httpx<0.28,>=0.27.0
Requires-Dist: pydantic-settings<3,>=2.12.0
Requires-Dist: pydantic<3,>=2.12.5
Requires-Dist: pymilvus<3,>=2.6.6
Description-Content-Type: text/markdown

# DODIL Python SDK

The **DODIL Python SDK** lets you interact with DODIL services from Python.

Currently supported services:
- **VNG**: multi-modal vector ingestion
- **VBase**: vector database (Milvus-backed)

---

## Install

```bash
pip install dodil
```

---

## Quick start

Create a client using a **service account**:

```python
from dodil import Client

c = Client(
    profile="staging",  # or "prod"
    service_account_id="...",
    service_account_secret="...",
)
```

VBase (connect + list collections):

```python
from dodil import VBaseConfig

vbase = c.vbase.connect(
    VBaseConfig(
        host="vbase-db-<id>.infra.dodil.cloud",
        port=443,
        scheme="https",
        db_name="db_<id>",
    )
)

print(vbase.list_collections())

vbase.close()
c.close()
```

---

## Documentation

- [Getting Started](https://github.com/dodilio/sdk-dodil-python/blob/0.1/docs/getting_started.md)
- [Multi-model Vector Embedding (VNG)](https://github.com/dodilio/sdk-dodil-python/blob/0.1/docs/vng/overview.md)
- [Vector Database (VBase)](https://github.com/dodilio/sdk-dodil-python/blob/0.1/docs/vbase/overview.md)

---

## Development

```bash
poetry install
pytest
```

---

## Contributing

We welcome issues and pull requests.

	–	Keep public APIs stable (prefer additive changes).
	–	Maintain backward compatibility where possible.
	-	Add tests for bug fixes and new features.
	-	Format and lint before opening a PR.

Project conventions

	-	Root client: Client
	-	Services are accessed through handles (e.g. client.vng, client.vbase).
	-	Bound service clients are created via .connect(...)