Metadata-Version: 2.4
Name: proximadb
Version: 0.2.2
Summary: Python client SDK for ProximaDB - Cloud-native vector database engineered for AI-first applications
Author-email: Vijaykumar Singh <singhvjd@gmail.com>
License: Apache-2.0
Project-URL: Homepage, https://github.com/vjsingh1984/proximadb
Project-URL: Documentation, https://github.com/vjsingh1984/proximadb#readme
Project-URL: Repository, https://github.com/vjsingh1984/proximadb
Project-URL: Issues, https://github.com/vjsingh1984/proximadb/issues
Keywords: vector,database,similarity,search,ml,ai,embeddings,proximity
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
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: Topic :: Scientific/Engineering :: Artificial Intelligence
Requires-Python: >=3.10
Description-Content-Type: text/markdown
Requires-Dist: httpx>=0.24.0
Requires-Dist: h2>=4.0.0
Requires-Dist: attrs>=23.1.0
Requires-Dist: python-dateutil>=2.8.0
Requires-Dist: pydantic>=2.0.0
Requires-Dist: numpy>=1.21.0
Requires-Dist: typing-extensions>=4.0.0
Requires-Dist: grpcio>=1.80.0
Requires-Dist: protobuf<7,>=6.31.1
Requires-Dist: asyncio-mqtt>=0.13.0
Requires-Dist: tenacity>=8.0.0
Requires-Dist: orjson>=3.8.0
Requires-Dist: click>=8.1.0
Requires-Dist: rich>=13.0.0
Requires-Dist: tabulate>=0.9.0
Requires-Dist: requests>=2.28.0
Provides-Extra: embedded
Requires-Dist: proximadb_embedded<0.3.0,>=0.2.0; extra == "embedded"
Provides-Extra: embeddings
Requires-Dist: sentence-transformers<6,>=3.2; extra == "embeddings"
Provides-Extra: embeddings-cloud
Requires-Dist: openai>=2; extra == "embeddings-cloud"
Requires-Dist: cohere>=5; extra == "embeddings-cloud"
Requires-Dist: fastembed>=0.3; extra == "embeddings-cloud"
Provides-Extra: llm
Requires-Dist: victor-ai>=0.2.0; extra == "llm"
Requires-Dist: sentence-transformers<6,>=3.2; extra == "llm"
Provides-Extra: chunking
Requires-Dist: tree-sitter>=0.25; extra == "chunking"
Requires-Dist: tree-sitter-language-pack>=1.0; extra == "chunking"
Provides-Extra: code-chunking
Requires-Dist: tree-sitter>=0.25; extra == "code-chunking"
Requires-Dist: tree-sitter-language-pack>=1.0; extra == "code-chunking"
Provides-Extra: codegraph
Requires-Dist: victor-codegraph>=0.1.2; extra == "codegraph"
Provides-Extra: langchain
Requires-Dist: langchain-core>=0.3.0; extra == "langchain"
Provides-Extra: victor
Requires-Dist: victor-ai>=0.2.0; extra == "victor"
Provides-Extra: crewai
Requires-Dist: crewai>=1.0.0; extra == "crewai"
Provides-Extra: langgraph
Requires-Dist: langgraph>=1.0.0; extra == "langgraph"
Requires-Dist: langchain-core>=0.3.0; extra == "langgraph"
Provides-Extra: dspy
Requires-Dist: dspy>=3.0.0; extra == "dspy"
Provides-Extra: autogen
Requires-Dist: autogen-agentchat>=0.4.0; extra == "autogen"
Provides-Extra: llama-index
Requires-Dist: llama-index-core>=0.12.0; extra == "llama-index"
Provides-Extra: haystack
Requires-Dist: haystack-ai>=2.0.0; extra == "haystack"
Provides-Extra: dev
Requires-Dist: pytest>=7.0.0; extra == "dev"
Requires-Dist: pytest-asyncio>=0.20.0; extra == "dev"
Requires-Dist: pytest-timeout>=2.1.0; extra == "dev"
Requires-Dist: pytest-cov>=4.0.0; extra == "dev"
Requires-Dist: pytest-html>=3.1.0; extra == "dev"
Requires-Dist: pytest-xdist>=3.0.0; extra == "dev"
Requires-Dist: sentence-transformers<6,>=3.2; extra == "dev"
Requires-Dist: requests>=2.28.0; extra == "dev"
Requires-Dist: grpcio-tools>=1.80.0; extra == "dev"
Requires-Dist: black>=22.0.0; extra == "dev"
Requires-Dist: isort>=5.10.0; extra == "dev"
Requires-Dist: mypy>=1.0.0; extra == "dev"
Requires-Dist: pre-commit>=2.20.0; extra == "dev"
Requires-Dist: ruff>=0.0.280; extra == "dev"
Provides-Extra: test
Requires-Dist: pytest>=7.0.0; extra == "test"
Requires-Dist: pytest-asyncio>=0.20.0; extra == "test"
Requires-Dist: pytest-timeout>=2.1.0; extra == "test"
Requires-Dist: pytest-cov>=4.0.0; extra == "test"
Requires-Dist: pytest-html>=3.1.0; extra == "test"
Requires-Dist: pytest-xdist>=3.0.0; extra == "test"
Requires-Dist: sentence-transformers<6,>=3.2; extra == "test"
Requires-Dist: requests>=2.28.0; extra == "test"
Provides-Extra: docs
Requires-Dist: sphinx>=5.0.0; extra == "docs"
Requires-Dist: sphinx-rtd-theme>=1.0.0; extra == "docs"
Requires-Dist: myst-parser>=0.18.0; extra == "docs"
Provides-Extra: performance
Requires-Dist: uvloop>=0.17.0; extra == "performance"
Requires-Dist: aiodns>=3.0.0; extra == "performance"
Requires-Dist: cchardet>=2.1.0; extra == "performance"

# proximadb

Python client SDK for **ProximaDB** — a cloud-native vector + graph database engineered
for AI-first applications (vector search, OLTP/OLAP, graph, document, multimodal) over
REST, gRPC, Arrow Flight, and the PostgreSQL wire protocol.

- **Distribution:** `proximadb` (PyPI) · **import:** `proximadb_sdk`
- **In-process engine:** `proximadb_embedded` (native PyO3 wheels) — `pip install 'proximadb[embedded]'`

## Install

```bash
pip install proximadb                 # client SDK (REST/gRPC/Flight)
pip install 'proximadb[embedded]'     # + in-process native engine (no server)
pip install 'proximadb[embeddings]'   # + local embedding providers
pip install 'proximadb[codegraph]'    # + shared code->CPG chunker (victor-codegraph)
```

Extras compose, e.g. `pip install 'proximadb[embeddings,langchain,llama_index]'`.

## Quickstart

```python
from proximadb_sdk import ProximaDBClient

client = ProximaDBClient(url="http://localhost:5678")
client.create_collection("docs", dimension=384)
client.insert("docs", vectors=[...], ids=[...])
hits = client.search("docs", query=[...], top_k=5)
```

Embedded (in-process, no server):

```python
from proximadb_embedded import Client  # requires the [embedded] extra

db = Client(data_dir="./data")
```

## Transports

The SDK speaks REST (ergonomics), gRPC (typed RPC), and Arrow Flight (zero-copy bulk) on
ProximaDB's multiplexed port, plus standard PostgreSQL drivers via pgwire. The REST surface
is generated from the canonical OpenAPI spec behind an ergonomic facade.

## License

Apache-2.0.
