typesense
Python client for Typesense, an open source and typo tolerant search engine.
What it is and what it does
Typesense is a Python client for Typesense, an open-source search engine designed for typo-tolerant full-text search. The package wraps the Typesense HTTP API, allowing developers to create and manage search collections, index documents, and execute search queries from Python applications. It supports both synchronous and asynchronous workflows through separate Client and AsyncClient classes, making it suitable for different application architectures.
The library depends on httpx for HTTP communication and typing-extensions for type hints, keeping its dependency footprint minimal. It targets modern Python versions (3.9 through 3.13) and maintains version alignment with the Typesense server—version 2.0.0 requires server >= v30.0. The package is actively maintained and includes both sync and async code paths, with sync implementations generated automatically from async sources.
Use it for:
- Building a search interface for a web application that needs typo tolerance and fast full-text search
- Indexing and querying documents in a Python backend service using Typesense as the search backend
- Implementing async search operations in a FastAPI or async Python application
- Managing multiple search collections and their schemas programmatically
- Integrating Typesense search into a data pipeline that processes and indexes documents
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Python client library for Typesense search engine, providing both synchronous and asynchronous APIs to query, index, and manage search collections.
Yes. The package is actively maintained, has low install friction, carries a permissive license, and provides both sync and async APIs for a mature search engine. Install it if you are already running a Typesense server and need a Python client to interact with it; it is not useful without a Typesense instance to connect to.
Install
typesense on PyPI
pip
pip install typesenseuv
uv add typesensepoetry
poetry add typesenseInstalling typesense
Before you install
Low friction installation with only two lightweight runtime dependencies (httpx and typing-extensions). Actively maintained with a recent release and ongoing repository activity.
License in practice
Apache 2.0 permissive license allows use in commercial and open-source projects with minimal restrictions; attribution required but no copyleft obligations.
Quickstart
pip install typesense
import typesense
client = typesense.Client({
"api_key": "your-api-key",
"nodes": [{"host": "localhost", "port": "8108", "protocol": "http"}],
})
collections = client.collections.retrieve()
Requires a running Typesense server instance; client version 2.0.0 requires Typesense server >= v30.0
Verify before relying
- Whether the package handles connection pooling or retry logic automatically
- Performance characteristics when handling large result sets or bulk indexing operations
Package facts
| License | Apache 2.0 (permissive) |
| Python support | supports the current Python release (>=3.9) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 2 — httpx, typing-extensions |
| Maintenance | actively maintained — 179 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 1,202,985/month — #4,228 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: typesense-2.0.0-py3-none-any.whl
Keywords: search, typesense
Tags
More Front-Ends packages
SQLAlchemy is a Python SQL toolkit and Object…
permissive · top 100 on PyPI
psycopg2-binarypsycopg2-binary is a PostgreSQL database…
copyleft · top 1,000 on PyPI
alembicAlembic generates and manages database schema…
permissive · top 1,000 on PyPI
weaviate-clientA Python client library for connecting to and…
permissive · top 1,000 on PyPI
databricks-sql-connectorA Python client library that connects to…
permissive · top 1,000 on PyPI
psycopgPsycopg 3 is a PostgreSQL database adapter for…
copyleft · top 1,000 on PyPI
pagefindProvides an async Python API to index and…
permissive · top 5,000 on PyPI
glean-api-clientA Python SDK for accessing Glean's REST API,…
unclear · top 15,000 on PyPI
django-elasticsearch-dslIndexes Django model instances into…
permissive · top 15,000 on PyPI
modelsearchIndexes Django models into Elasticsearch,…
permissive · top 15,000 on PyPI
WhooshWhoosh is a pure-Python full-text search and…
permissive · top 5,000 on PyPI
meilisearch-python-sdkProvides both async and sync Python clients for…
permissive · top 15,000 on PyPI
mistralaiPython client SDK for the Mistral AI API,…
unclear · top 1,000 on PyPI
Whoosh-ReloadedWhoosh-Reloaded is a pure-Python full-text…
permissive · top 15,000 on PyPI
aiogithubapiAsynchronous Python client library for…
permissive · top 15,000 on PyPI
axiom-pyaxiom-py provides a Python client for ingesting…
permissive · top 5,000 on PyPI