From 9a1d54124f13b955215441c33a53cf8167d89798 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=9Clgen=20Sar=C4=B1kavak?= Date: Mon, 24 Nov 2025 18:47:00 +0300 Subject: [PATCH 1/2] Enable ruff formatter in CI --- .github/workflows/test-and-lint.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/test-and-lint.yml b/.github/workflows/test-and-lint.yml index 9552400..75b6b9c 100644 --- a/.github/workflows/test-and-lint.yml +++ b/.github/workflows/test-and-lint.yml @@ -47,6 +47,7 @@ jobs: - name: Lint with Ruff run: | uv run ruff check src/typesense + uv run ruff format src/typesense - name: Check types with mypy run: | From e77447891903f0a6e8841e62a5efba434b628128 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=9Clgen=20Sar=C4=B1kavak?= Date: Mon, 24 Nov 2025 18:47:45 +0300 Subject: [PATCH 2/2] Apply "ruff format" fixes --- README.md | 3 --- src/typesense/analytics_events.py | 2 -- src/typesense/analytics_v1.py | 2 -- src/typesense/collections.py | 13 ++++++------- src/typesense/configuration.py | 4 +++- src/typesense/overrides.py | 4 ++-- src/typesense/synonyms.py | 4 ++-- src/typesense/types/analytics_rule_v1.py | 2 -- src/typesense/types/collection.py | 1 - src/typesense/types/curation_set.py | 2 -- src/typesense/types/synonym_set.py | 4 +++- 11 files changed, 16 insertions(+), 25 deletions(-) diff --git a/README.md b/README.md index bbe9f08..208a7a5 100644 --- a/README.md +++ b/README.md @@ -37,6 +37,3 @@ Bug reports and pull requests are welcome on GitHub at [https://github.com/types ## License `typesense-python` is distributed under the Apache 2 license. - - - diff --git a/src/typesense/analytics_events.py b/src/typesense/analytics_events.py index c462e6c..651591d 100644 --- a/src/typesense/analytics_events.py +++ b/src/typesense/analytics_events.py @@ -69,5 +69,3 @@ def status(self) -> AnalyticsStatus: entity_type=AnalyticsStatus, ) return response - - diff --git a/src/typesense/analytics_v1.py b/src/typesense/analytics_v1.py index 657af6c..baa18a7 100644 --- a/src/typesense/analytics_v1.py +++ b/src/typesense/analytics_v1.py @@ -47,5 +47,3 @@ def __init__(self, api_call: ApiCall) -> None: @property def rules(self) -> AnalyticsRulesV1: return self._rules - - diff --git a/src/typesense/collections.py b/src/typesense/collections.py index 72fa381..dd9fe53 100644 --- a/src/typesense/collections.py +++ b/src/typesense/collections.py @@ -72,7 +72,6 @@ def __contains__(self, collection_name: str) -> bool: """ if collection_name in self.collections: try: # noqa: WPS229, WPS529 - self.collections[collection_name].retrieve() # noqa: WPS529 return True except Exception: @@ -100,7 +99,7 @@ def __getitem__(self, collection_name: str) -> Collection[TDoc]: Example: >>> collections = Collections(api_call) - >>> fruits_collection = collections['fruits'] + >>> fruits_collection = collections["fruits"] """ if not self.collections.get(collection_name): self.collections[collection_name] = Collection( @@ -126,11 +125,11 @@ def create(self, schema: CollectionCreateSchema) -> CollectionSchema: >>> schema = { ... "name": "companies", ... "fields": [ - ... {"name": "company_name", "type": "string" }, - ... {"name": "num_employees", "type": "int32" }, - ... {"name": "country", "type": "string", "facet": True } + ... {"name": "company_name", "type": "string"}, + ... {"name": "num_employees", "type": "int32"}, + ... {"name": "country", "type": "string", "facet": True}, ... ], - ... "default_sorting_field": "num_employees" + ... "default_sorting_field": "num_employees", ... } >>> created_schema = collections.create(schema) """ @@ -154,7 +153,7 @@ def retrieve(self) -> typing.List[CollectionSchema]: >>> collections = Collections(api_call) >>> all_collections = collections.retrieve() >>> for collection in all_collections: - ... print(collection['name']) + ... print(collection["name"]) """ call: typing.List[CollectionSchema] = self.api_call.get( endpoint=Collections.resource_path, diff --git a/src/typesense/configuration.py b/src/typesense/configuration.py index d82408d..1720233 100644 --- a/src/typesense/configuration.py +++ b/src/typesense/configuration.py @@ -223,7 +223,9 @@ def __init__( ) self.verify = config_dict.get("verify", True) self.additional_headers = config_dict.get("additional_headers", {}) - self.suppress_deprecation_warnings = config_dict.get("suppress_deprecation_warnings", False) + self.suppress_deprecation_warnings = config_dict.get( + "suppress_deprecation_warnings", False + ) def _handle_nearest_node( self, diff --git a/src/typesense/overrides.py b/src/typesense/overrides.py index 4f8bc80..8581e93 100644 --- a/src/typesense/overrides.py +++ b/src/typesense/overrides.py @@ -63,7 +63,7 @@ class Overrides: resource_path: typing.Final[str] = "overrides" - @warn_deprecation( # type: ignore[misc] + @warn_deprecation( # type: ignore[misc] "Overrides is deprecated on v30+. Use client.curation_sets instead.", flag_name="overrides_deprecation", ) @@ -71,7 +71,7 @@ def __init__( self, api_call: ApiCall, collection_name: str, - ) -> None: + ) -> None: """ Initialize the Overrides object. diff --git a/src/typesense/synonyms.py b/src/typesense/synonyms.py index 3a5622f..fe5f508 100644 --- a/src/typesense/synonyms.py +++ b/src/typesense/synonyms.py @@ -61,12 +61,12 @@ class Synonyms: resource_path: typing.Final[str] = "synonyms" - @warn_deprecation( # type: ignore[misc] + @warn_deprecation( # type: ignore[misc] "The synonyms API (collections/{collection}/synonyms) is deprecated is removed on v30+. " "Use synonym sets (synonym_sets) instead.", flag_name="synonyms_deprecation", ) - def __init__(self, api_call: ApiCall, collection_name: str) -> None: + def __init__(self, api_call: ApiCall, collection_name: str) -> None: """ Initialize the Synonyms object. diff --git a/src/typesense/types/analytics_rule_v1.py b/src/typesense/types/analytics_rule_v1.py index 3f76046..88ffd00 100644 --- a/src/typesense/types/analytics_rule_v1.py +++ b/src/typesense/types/analytics_rule_v1.py @@ -201,5 +201,3 @@ class RulesRetrieveSchema(typing.TypedDict): """ rules: typing.List[typing.Union[RuleSchemaForQueries, RuleSchemaForCounters]] - - diff --git a/src/typesense/types/collection.py b/src/typesense/types/collection.py index 702fb41..e49fbc0 100644 --- a/src/typesense/types/collection.py +++ b/src/typesense/types/collection.py @@ -236,4 +236,3 @@ class CollectionUpdateSchema(typing.TypedDict): ] synonym_sets: typing.NotRequired[typing.List[str]] curation_sets: typing.NotRequired[typing.List[str]] - diff --git a/src/typesense/types/curation_set.py b/src/typesense/types/curation_set.py index a19ee0f..6468166 100644 --- a/src/typesense/types/curation_set.py +++ b/src/typesense/types/curation_set.py @@ -126,5 +126,3 @@ class CurationSetDeleteSchema(typing.TypedDict): """Response schema for deleting a curation set.""" name: str - - diff --git a/src/typesense/types/synonym_set.py b/src/typesense/types/synonym_set.py index 9d0dfe1..d036411 100644 --- a/src/typesense/types/synonym_set.py +++ b/src/typesense/types/synonym_set.py @@ -29,6 +29,7 @@ class SynonymItemSchema(typing.TypedDict): locale: typing.NotRequired[Locales] symbols_to_index: typing.NotRequired[typing.List[str]] + class SynonymItemDeleteSchema(typing.TypedDict): """ Schema for deleting a synonym item. @@ -36,6 +37,7 @@ class SynonymItemDeleteSchema(typing.TypedDict): id: str + class SynonymSetCreateSchema(typing.TypedDict): """ Schema for creating or updating a synonym set. @@ -73,4 +75,4 @@ class SynonymSetDeleteSchema(typing.TypedDict): name (str): Name of the deleted synonym set. """ - name: str \ No newline at end of file + name: str