Skip to main content

Cognitor | All-in-one semantic search engine for AI and humans.

cognitor-python

Python SDK for Cognitor.

Installation

pip install cognitor

Quick start

from cognitor import Cognitor

with Cognitor("http://localhost:7530", api_key="your-api-key") as client:
    print(client.ping())
    print(client.health_ready())  # "ready" or "loading"

The api_key parameter is optional, omit it if your cognitor instance does not require authentication.

Usage

Collections

# Create a collection (server-side embedding)
collection = client.create_collection(
    "my-collection",
    emb_model="text-embedding-3-small",
)

# Create a collection with a fixed vector dimension (client-side embedding)
collection = client.create_collection("my-collection", dim=1536)

# List all collections
collections = client.list_collections()

# Get a single collection
collection = client.get_collection("my-collection")

# Delete a collection
client.delete_collection("my-collection")

Documents

# Add documents (texts are embedded server-side when emb_model is set)
ids = client.add_documents(
    "my-collection",
    texts=["Hello world", "Cognitor is a vector store"],
    metadatas=[{"source": "docs"}, {"source": "docs"}],
)

# Add documents with explicit vectors (client-side embedding)
ids = client.add_documents(
    "my-collection",
    texts=["Hello world"],
    metadatas=[{"source": "docs"}],
    vectors=[[0.1, 0.2, ...]],
)

# Add a large number of documents in batches
ids = client.bulk_add_documents(
    "my-collection",
    texts=[...],
    metadatas=[...],
    batch_size=512,
)

# List documents (paginated)
page = client.list_documents("my-collection", offset=0, limit=50)
print(page.total, page.documents)

# Get a single document
doc = client.get_document("my-collection", doc_id)

# Update document metadata
doc = client.update_document_metadata("my-collection", doc_id, {"source": "updated"})

# Delete a document
client.delete_document("my-collection", doc_id)

Search

# Search by text (requires server-side embedding model)
response = client.search("my-collection", query_text="Hello", top_k=10)

# Search by vector
response = client.search("my-collection", query_vector=[0.1, 0.2, ...], top_k=10)

# Filter results by metadata
response = client.search(
    "my-collection",
    query_text="Hello",
    filters={"source": "docs"},
)

# Include vectors in results
response = client.search("my-collection", query_text="Hello", include_vectors=True)

for hit in response.results:
    print(f"score={hit.score:.4f}  text={hit.text!r}")

Admin

# Compact a collection (removes deleted vectors)
result = client.compact("my-collection")
print(result.deleted_count, "vectors removed")

Health

# Readiness probe status
status = client.health_ready()
if status == "ready":
    print("Server is ready")
else:
    print("Server is still loading models")

Connection management

Use the client as a context manager (recommended) to ensure the underlying HTTP connection is closed:

with Cognitor("http://localhost:7530") as client:
    ...

Or close it manually:

client = Cognitor("http://localhost:7530")
try:
    ...
finally:
    client.close()

Download files

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

Source Distribution

cognitor-0.5.0.tar.gz (16.7 kB view details)

Uploaded Source

Built Distribution

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

cognitor-0.5.0-py3-none-any.whl (9.0 kB view details)

Uploaded Python 3

File details

Details for the file cognitor-0.5.0.tar.gz.

File metadata

  • Download URL: cognitor-0.5.0.tar.gz
  • Upload date:
  • Size: 16.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for cognitor-0.5.0.tar.gz
Algorithm Hash digest
SHA256 8bafd39c601db231bd84da8f5ad97d40ac087ce4c898cf90edad51dc96a18c40
MD5 53f4d6f9cbbc78c1a10c6e70d5265581
BLAKE2b-256 dfdf72dfb77f25c50d552002394a5798dbbc1323f0ec9a102aa39cfbdede0743

See more details on using hashes here.

File details

Details for the file cognitor-0.5.0-py3-none-any.whl.

File metadata

  • Download URL: cognitor-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 9.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for cognitor-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0e69d29efdb6bd55bcd60c26956aee37d7150a48d54e2f698eec4698610a0d5f
MD5 a07d31b6c7fa21cece5ac7fa69eb9b07
BLAKE2b-256 1ac40bc2d248b081458d8608bc9f1c424b7fd0950e7c28965a241c23772781ca

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.5.0 This release

2 files

0.4.0

2 files

0.3.0

2 files

Supported by

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