Python client for the Typesense API: https://github.com/typesense/typesense
$ pip install typesense You can also add typesense to your project's requirements.txt.
You can find some examples here.
See detailed API documentation.
Use AsyncClient when working in an async runtime:
import asyncio import typesense async def main() -> None: client = typesense.AsyncClient({ "api_key": "abcd", "nodes": [{"host": "localhost", "port": "8108", "protocol": "http"}], "connection_timeout_seconds": 2, }) print(await client.collections.retrieve()) await client.api_call.aclose() if __name__ == "__main__": asyncio.run(main())See examples/async_collection_operations.py for a fuller async walkthrough.
| Typesense Server | typesense-python |
|---|---|
| >= v30.0 | >= v2.0.0 |
| >= v28.0 | >= v1.0.0 |
| >= v26.0 | >= v0.20.0 |
| >= v0.25.0 | >= v0.16.0 |
| >= v0.23.0 | >= v0.14.0 |
| >= v0.21.0 | >= v0.13.0 |
| >= v0.20.0 | >= v0.11.0 |
| >= v0.19.0 | >= v0.10.0 |
| >= v0.17.0 | >= v0.9.0 |
| >= v0.16.0 | >= v0.8.0 |
| >= v0.15.0 | >= v0.7.0 |
Note
Development happens in async-only code; sync code is generated automatically via utils/run-unasync.py.
Bug reports and pull requests are welcome on GitHub at [https://github.com/typesense/typesense-python]. If you change any part of the client's source code, run uv run utils/run-unasync.py before opening a PR to keep the generated sync files in sync.
typesense-python is distributed under the Apache 2 license.