Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
c38aefb
fix(document): fix types for document deletion
tharropoulos Nov 17, 2025
fdd23b3
chore: bump mypy
tharropoulos Dec 4, 2025
4ea85c9
chore: add httpx
tharropoulos Dec 4, 2025
8a54688
chore(tests): remove redudant mocked tests
tharropoulos Dec 4, 2025
17af1bf
test(curation_set): add missing integration tests
tharropoulos Dec 4, 2025
ad2a7fd
test(synonym_set): add missing integration tests
tharropoulos Dec 4, 2025
a0b8d70
refactor: migrate request handler from requests to httpx with async s…
tharropoulos Dec 8, 2025
944846e
chore: update test dependencies for httpx migration
tharropoulos Dec 8, 2025
d5b656d
refactor: migrate api_call from requests to httpx and add async support
tharropoulos Dec 8, 2025
2795e3a
feat(alias): add async support for alias operations
tharropoulos Dec 8, 2025
af2e72e
feat(analytics): add async support for analytics operations
tharropoulos Dec 8, 2025
071cefe
feat(analyticsV1): add async support for analytics v1 operations
tharropoulos Dec 8, 2025
d72f3d4
refactor(collection): make TDoc typevar covariant in collection classes
tharropoulos Dec 8, 2025
aa95966
feat(collection): add async support for collection operations
tharropoulos Dec 8, 2025
6a52a43
feat(convo): add async support for conversation model operations
tharropoulos Dec 8, 2025
f06f226
feat(curation): add async support for curation set operations
tharropoulos Dec 8, 2025
fc7ea1c
feat(debug): add async support for debug operations
tharropoulos Dec 8, 2025
977f032
feat(documents): add async support for document operations
tharropoulos Dec 8, 2025
78774fe
feat(api-keys): add async support for key operations
tharropoulos Dec 8, 2025
c4347f8
feat(metrics): add async support for metrics operations
tharropoulos Dec 8, 2025
b214785
feat(multi-search): add async support for multi-search operations
tharropoulos Dec 8, 2025
e367722
feat(nl-search): add async support for nl search model operations
tharropoulos Dec 8, 2025
e3e6c82
feat(ops): add async support for operations
tharropoulos Dec 8, 2025
b6f9843
feat(overrides): add async support for override operations
tharropoulos Dec 8, 2025
efc11b1
feat(synonyms): add async support for synonym operations
tharropoulos Dec 8, 2025
fbd3995
feat(synonym-set): add async support for synonym set operations
tharropoulos Dec 8, 2025
c742abc
lint: remove annotations imports
tharropoulos Dec 8, 2025
dc0d9e0
chore: bump deps
tharropoulos Dec 8, 2025
8ad2414
feat(stemming): add async support for stemming operations
tharropoulos Dec 8, 2025
ae23d41
feat(stopwords): add async support for stopwords operations
tharropoulos Dec 8, 2025
4e0b5c6
feat(client): expose async client class
tharropoulos Dec 8, 2025
8dffb3f
chore: bump version to 2.0.0
tharropoulos Dec 9, 2025
7907cac
chore(test): remove unused imports on test files
tharropoulos Feb 3, 2026
5b73f90
feat: expose async client to entrypoint
tharropoulos Feb 3, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 23 additions & 0 deletions flake.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
{
description = "Typesense Python client development shell";

inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
flake-utils.url = "github:numtide/flake-utils";
};

outputs = { self, nixpkgs, flake-utils }:
flake-utils.lib.eachDefaultSystem (system:
let
pkgs = import nixpkgs { inherit system; };
python = pkgs.python312;
in
{
devShells.default = pkgs.mkShell {
packages = [
python
pkgs.uv
];
};
});
}
12 changes: 8 additions & 4 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,10 @@ classifiers = [
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
]
dependencies = ["requests", "typing-extensions"]
dependencies = [
"httpx>=0.28.1",
"typing-extensions",
]
dynamic = ["version"]

[project.urls]
Expand All @@ -35,16 +38,17 @@ build-backend = "setuptools.build_meta"

[dependency-groups]
dev = [
"mypy",
"mypy>=1.19.0",
"pytest",
"pytest-asyncio",
"coverage",
"pytest-mock",
"requests-mock",
"python-dotenv",
"types-requests",
"faker",
"ruff>=0.11.11",
"isort>=6.0.1",
"respx>=0.22.0",
"requests",
]

[tool.uv]
Expand Down
1 change: 1 addition & 0 deletions pytest.ini
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
[pytest]
pythonpath = src
asyncio_mode = auto
markers =
open_ai
5 changes: 3 additions & 2 deletions src/typesense/__init__.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
from .client import Client # NOQA
from .async_client import AsyncClient # NOQA


__all__ = ["Client"]
__version__ = "1.3.0"
__version__ = "2.0.0"
__all__ = ["Client", "AsyncClient"]
2 changes: 1 addition & 1 deletion src/typesense/analytics_rule_v1.py
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ class AnalyticsRuleV1:
rule_id (str): The ID of the analytics rule.
"""

@warn_deprecation( # type: ignore[misc]
@warn_deprecation( # type: ignore[untyped-decorator]
"AnalyticsRuleV1 is deprecated on v30+. Use client.analytics.rules[rule_id] instead.",
flag_name="analytics_rules_v1_deprecation",
)
Expand Down
2 changes: 1 addition & 1 deletion src/typesense/analytics_rules_v1.py
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ class AnalyticsRulesV1(object):

resource_path: typing.Final[str] = "/analytics/rules"

@warn_deprecation( # type: ignore[misc]
@warn_deprecation( # type: ignore[untyped-decorator]
"AnalyticsRulesV1 is deprecated on v30+. Use client.analytics instead.",
flag_name="analytics_rules_v1_deprecation",
)
Expand Down
Loading