meilisearch-python-sdk 7.4.0__tar.gz → 7.5.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (112) hide show
  1. {meilisearch_python_sdk-7.4.0 → meilisearch_python_sdk-7.5.0}/.github/workflows/testing.yml +1 -1
  2. {meilisearch_python_sdk-7.4.0 → meilisearch_python_sdk-7.5.0}/PKG-INFO +2 -7
  3. {meilisearch_python_sdk-7.4.0 → meilisearch_python_sdk-7.5.0}/README.md +0 -5
  4. {meilisearch_python_sdk-7.4.0 → meilisearch_python_sdk-7.5.0}/docker-compose.https.yml +1 -1
  5. {meilisearch_python_sdk-7.4.0 → meilisearch_python_sdk-7.5.0}/docker-compose.yml +1 -1
  6. {meilisearch_python_sdk-7.4.0 → meilisearch_python_sdk-7.5.0}/meilisearch_python_sdk/_http_requests.py +4 -2
  7. meilisearch_python_sdk-7.5.0/meilisearch_python_sdk/_version.py +1 -0
  8. {meilisearch_python_sdk-7.4.0 → meilisearch_python_sdk-7.5.0}/meilisearch_python_sdk/models/index.py +2 -0
  9. {meilisearch_python_sdk-7.4.0 → meilisearch_python_sdk-7.5.0}/prek.toml +3 -3
  10. {meilisearch_python_sdk-7.4.0 → meilisearch_python_sdk-7.5.0}/pyproject.toml +4 -4
  11. {meilisearch_python_sdk-7.4.0 → meilisearch_python_sdk-7.5.0}/tests/test_async_index.py +2 -0
  12. {meilisearch_python_sdk-7.4.0 → meilisearch_python_sdk-7.5.0}/tests/test_index.py +2 -0
  13. meilisearch_python_sdk-7.5.0/tests/test_json_handler.py +13 -0
  14. {meilisearch_python_sdk-7.4.0 → meilisearch_python_sdk-7.5.0}/uv.lock +228 -184
  15. meilisearch_python_sdk-7.4.0/meilisearch_python_sdk/_version.py +0 -1
  16. {meilisearch_python_sdk-7.4.0 → meilisearch_python_sdk-7.5.0}/.github/FUNDING.yml +0 -0
  17. {meilisearch_python_sdk-7.4.0 → meilisearch_python_sdk-7.5.0}/.github/release-draft-template.yaml +0 -0
  18. {meilisearch_python_sdk-7.4.0 → meilisearch_python_sdk-7.5.0}/.github/renovate.json5 +0 -0
  19. {meilisearch_python_sdk-7.4.0 → meilisearch_python_sdk-7.5.0}/.github/workflows/docs_publish.yml +0 -0
  20. {meilisearch_python_sdk-7.4.0 → meilisearch_python_sdk-7.5.0}/.github/workflows/nightly_testing.yml +0 -0
  21. {meilisearch_python_sdk-7.4.0 → meilisearch_python_sdk-7.5.0}/.github/workflows/prek_update.yml +0 -0
  22. {meilisearch_python_sdk-7.4.0 → meilisearch_python_sdk-7.5.0}/.github/workflows/pypi_publish.yml +0 -0
  23. {meilisearch_python_sdk-7.4.0 → meilisearch_python_sdk-7.5.0}/.github/workflows/release-drafter.yml +0 -0
  24. {meilisearch_python_sdk-7.4.0 → meilisearch_python_sdk-7.5.0}/.gitignore +0 -0
  25. {meilisearch_python_sdk-7.4.0 → meilisearch_python_sdk-7.5.0}/CONTRIBUTING.md +0 -0
  26. {meilisearch_python_sdk-7.4.0 → meilisearch_python_sdk-7.5.0}/LICENSE +0 -0
  27. {meilisearch_python_sdk-7.4.0 → meilisearch_python_sdk-7.5.0}/assets/add_in_batches.png +0 -0
  28. {meilisearch_python_sdk-7.4.0 → meilisearch_python_sdk-7.5.0}/assets/searches.png +0 -0
  29. {meilisearch_python_sdk-7.4.0 → meilisearch_python_sdk-7.5.0}/codecov.yml +0 -0
  30. {meilisearch_python_sdk-7.4.0 → meilisearch_python_sdk-7.5.0}/datasets/small_movies.json +0 -0
  31. {meilisearch_python_sdk-7.4.0 → meilisearch_python_sdk-7.5.0}/docs/.nojekyll +0 -0
  32. {meilisearch_python_sdk-7.4.0 → meilisearch_python_sdk-7.5.0}/docs/CNAME +0 -0
  33. {meilisearch_python_sdk-7.4.0 → meilisearch_python_sdk-7.5.0}/docs/async_client_api.md +0 -0
  34. {meilisearch_python_sdk-7.4.0 → meilisearch_python_sdk-7.5.0}/docs/async_index_api.md +0 -0
  35. {meilisearch_python_sdk-7.4.0 → meilisearch_python_sdk-7.5.0}/docs/client_api.md +0 -0
  36. {meilisearch_python_sdk-7.4.0 → meilisearch_python_sdk-7.5.0}/docs/css/custom.css +0 -0
  37. {meilisearch_python_sdk-7.4.0 → meilisearch_python_sdk-7.5.0}/docs/decorators_api.md +0 -0
  38. {meilisearch_python_sdk-7.4.0 → meilisearch_python_sdk-7.5.0}/docs/index.md +0 -0
  39. {meilisearch_python_sdk-7.4.0 → meilisearch_python_sdk-7.5.0}/docs/index_api.md +0 -0
  40. {meilisearch_python_sdk-7.4.0 → meilisearch_python_sdk-7.5.0}/docs/js/umami.js +0 -0
  41. {meilisearch_python_sdk-7.4.0 → meilisearch_python_sdk-7.5.0}/docs/json_handler.md +0 -0
  42. {meilisearch_python_sdk-7.4.0 → meilisearch_python_sdk-7.5.0}/docs/overrides/partials/footer.html +0 -0
  43. {meilisearch_python_sdk-7.4.0 → meilisearch_python_sdk-7.5.0}/docs/plugins.md +0 -0
  44. {meilisearch_python_sdk-7.4.0 → meilisearch_python_sdk-7.5.0}/docs/pydantic.md +0 -0
  45. {meilisearch_python_sdk-7.4.0 → meilisearch_python_sdk-7.5.0}/examples/.gitignore +0 -0
  46. {meilisearch_python_sdk-7.4.0 → meilisearch_python_sdk-7.5.0}/examples/README.md +0 -0
  47. {meilisearch_python_sdk-7.4.0 → meilisearch_python_sdk-7.5.0}/examples/__init__.py +0 -0
  48. {meilisearch_python_sdk-7.4.0 → meilisearch_python_sdk-7.5.0}/examples/add_documents_decorator.py +0 -0
  49. {meilisearch_python_sdk-7.4.0 → meilisearch_python_sdk-7.5.0}/examples/add_documents_in_batches.py +0 -0
  50. {meilisearch_python_sdk-7.4.0 → meilisearch_python_sdk-7.5.0}/examples/async_add_documents_decorator.py +0 -0
  51. {meilisearch_python_sdk-7.4.0 → meilisearch_python_sdk-7.5.0}/examples/async_add_documents_in_batches.py +0 -0
  52. {meilisearch_python_sdk-7.4.0 → meilisearch_python_sdk-7.5.0}/examples/async_documents_and_search_results.py +0 -0
  53. {meilisearch_python_sdk-7.4.0 → meilisearch_python_sdk-7.5.0}/examples/async_search_tracker.py +0 -0
  54. {meilisearch_python_sdk-7.4.0 → meilisearch_python_sdk-7.5.0}/examples/async_update_settings.py +0 -0
  55. {meilisearch_python_sdk-7.4.0 → meilisearch_python_sdk-7.5.0}/examples/documents_and_search_results.py +0 -0
  56. {meilisearch_python_sdk-7.4.0 → meilisearch_python_sdk-7.5.0}/examples/fastapi_example.py +0 -0
  57. {meilisearch_python_sdk-7.4.0 → meilisearch_python_sdk-7.5.0}/examples/orjson_example.py +0 -0
  58. {meilisearch_python_sdk-7.4.0 → meilisearch_python_sdk-7.5.0}/examples/pyproject.toml +0 -0
  59. {meilisearch_python_sdk-7.4.0 → meilisearch_python_sdk-7.5.0}/examples/requirements.txt +0 -0
  60. {meilisearch_python_sdk-7.4.0 → meilisearch_python_sdk-7.5.0}/examples/search_tracker.py +0 -0
  61. {meilisearch_python_sdk-7.4.0 → meilisearch_python_sdk-7.5.0}/examples/tests/__init__.py +0 -0
  62. {meilisearch_python_sdk-7.4.0 → meilisearch_python_sdk-7.5.0}/examples/tests/conftest.py +0 -0
  63. {meilisearch_python_sdk-7.4.0 → meilisearch_python_sdk-7.5.0}/examples/tests/test_async_examples.py +0 -0
  64. {meilisearch_python_sdk-7.4.0 → meilisearch_python_sdk-7.5.0}/examples/tests/test_examples.py +0 -0
  65. {meilisearch_python_sdk-7.4.0 → meilisearch_python_sdk-7.5.0}/examples/update_settings.py +0 -0
  66. {meilisearch_python_sdk-7.4.0 → meilisearch_python_sdk-7.5.0}/justfile +0 -0
  67. {meilisearch_python_sdk-7.4.0 → meilisearch_python_sdk-7.5.0}/meilisearch_python_sdk/__init__.py +0 -0
  68. {meilisearch_python_sdk-7.4.0 → meilisearch_python_sdk-7.5.0}/meilisearch_python_sdk/_batch.py +0 -0
  69. {meilisearch_python_sdk-7.4.0 → meilisearch_python_sdk-7.5.0}/meilisearch_python_sdk/_client/__init__.py +0 -0
  70. {meilisearch_python_sdk-7.4.0 → meilisearch_python_sdk-7.5.0}/meilisearch_python_sdk/_client/_async_client.py +0 -0
  71. {meilisearch_python_sdk-7.4.0 → meilisearch_python_sdk-7.5.0}/meilisearch_python_sdk/_client/_base_client.py +0 -0
  72. {meilisearch_python_sdk-7.4.0 → meilisearch_python_sdk-7.5.0}/meilisearch_python_sdk/_client/_client.py +0 -0
  73. {meilisearch_python_sdk-7.4.0 → meilisearch_python_sdk-7.5.0}/meilisearch_python_sdk/_client/_common.py +0 -0
  74. {meilisearch_python_sdk-7.4.0 → meilisearch_python_sdk-7.5.0}/meilisearch_python_sdk/_task.py +0 -0
  75. {meilisearch_python_sdk-7.4.0 → meilisearch_python_sdk-7.5.0}/meilisearch_python_sdk/_utils.py +0 -0
  76. {meilisearch_python_sdk-7.4.0 → meilisearch_python_sdk-7.5.0}/meilisearch_python_sdk/decorators.py +0 -0
  77. {meilisearch_python_sdk-7.4.0 → meilisearch_python_sdk-7.5.0}/meilisearch_python_sdk/errors.py +0 -0
  78. {meilisearch_python_sdk-7.4.0 → meilisearch_python_sdk-7.5.0}/meilisearch_python_sdk/index/__init__.py +0 -0
  79. {meilisearch_python_sdk-7.4.0 → meilisearch_python_sdk-7.5.0}/meilisearch_python_sdk/index/_common.py +0 -0
  80. {meilisearch_python_sdk-7.4.0 → meilisearch_python_sdk-7.5.0}/meilisearch_python_sdk/index/async_index.py +0 -0
  81. {meilisearch_python_sdk-7.4.0 → meilisearch_python_sdk-7.5.0}/meilisearch_python_sdk/index/index.py +0 -0
  82. {meilisearch_python_sdk-7.4.0 → meilisearch_python_sdk-7.5.0}/meilisearch_python_sdk/json_handler.py +0 -0
  83. {meilisearch_python_sdk-7.4.0 → meilisearch_python_sdk-7.5.0}/meilisearch_python_sdk/models/__init__.py +0 -0
  84. {meilisearch_python_sdk-7.4.0 → meilisearch_python_sdk-7.5.0}/meilisearch_python_sdk/models/batch.py +0 -0
  85. {meilisearch_python_sdk-7.4.0 → meilisearch_python_sdk-7.5.0}/meilisearch_python_sdk/models/client.py +0 -0
  86. {meilisearch_python_sdk-7.4.0 → meilisearch_python_sdk-7.5.0}/meilisearch_python_sdk/models/documents.py +0 -0
  87. {meilisearch_python_sdk-7.4.0 → meilisearch_python_sdk-7.5.0}/meilisearch_python_sdk/models/health.py +0 -0
  88. {meilisearch_python_sdk-7.4.0 → meilisearch_python_sdk-7.5.0}/meilisearch_python_sdk/models/search.py +0 -0
  89. {meilisearch_python_sdk-7.4.0 → meilisearch_python_sdk-7.5.0}/meilisearch_python_sdk/models/settings.py +0 -0
  90. {meilisearch_python_sdk-7.4.0 → meilisearch_python_sdk-7.5.0}/meilisearch_python_sdk/models/task.py +0 -0
  91. {meilisearch_python_sdk-7.4.0 → meilisearch_python_sdk-7.5.0}/meilisearch_python_sdk/models/version.py +0 -0
  92. {meilisearch_python_sdk-7.4.0 → meilisearch_python_sdk-7.5.0}/meilisearch_python_sdk/models/webhook.py +0 -0
  93. {meilisearch_python_sdk-7.4.0 → meilisearch_python_sdk-7.5.0}/meilisearch_python_sdk/plugins.py +0 -0
  94. {meilisearch_python_sdk-7.4.0 → meilisearch_python_sdk-7.5.0}/meilisearch_python_sdk/py.typed +0 -0
  95. {meilisearch_python_sdk-7.4.0 → meilisearch_python_sdk-7.5.0}/meilisearch_python_sdk/types.py +0 -0
  96. {meilisearch_python_sdk-7.4.0 → meilisearch_python_sdk-7.5.0}/mkdocs.yaml +0 -0
  97. {meilisearch_python_sdk-7.4.0 → meilisearch_python_sdk-7.5.0}/tests/__init__.py +0 -0
  98. {meilisearch_python_sdk-7.4.0 → meilisearch_python_sdk-7.5.0}/tests/conftest.py +0 -0
  99. {meilisearch_python_sdk-7.4.0 → meilisearch_python_sdk-7.5.0}/tests/test_async_client.py +0 -0
  100. {meilisearch_python_sdk-7.4.0 → meilisearch_python_sdk-7.5.0}/tests/test_async_documents.py +0 -0
  101. {meilisearch_python_sdk-7.4.0 → meilisearch_python_sdk-7.5.0}/tests/test_async_index_plugins.py +0 -0
  102. {meilisearch_python_sdk-7.4.0 → meilisearch_python_sdk-7.5.0}/tests/test_async_search.py +0 -0
  103. {meilisearch_python_sdk-7.4.0 → meilisearch_python_sdk-7.5.0}/tests/test_client.py +0 -0
  104. {meilisearch_python_sdk-7.4.0 → meilisearch_python_sdk-7.5.0}/tests/test_decorators.py +0 -0
  105. {meilisearch_python_sdk-7.4.0 → meilisearch_python_sdk-7.5.0}/tests/test_documents.py +0 -0
  106. {meilisearch_python_sdk-7.4.0 → meilisearch_python_sdk-7.5.0}/tests/test_errors.py +0 -0
  107. {meilisearch_python_sdk-7.4.0 → meilisearch_python_sdk-7.5.0}/tests/test_http_requests.py +0 -0
  108. {meilisearch_python_sdk-7.4.0 → meilisearch_python_sdk-7.5.0}/tests/test_index_plugins.py +0 -0
  109. {meilisearch_python_sdk-7.4.0 → meilisearch_python_sdk-7.5.0}/tests/test_search.py +0 -0
  110. {meilisearch_python_sdk-7.4.0 → meilisearch_python_sdk-7.5.0}/tests/test_settings_models.py +0 -0
  111. {meilisearch_python_sdk-7.4.0 → meilisearch_python_sdk-7.5.0}/tests/test_utils.py +0 -0
  112. {meilisearch_python_sdk-7.4.0 → meilisearch_python_sdk-7.5.0}/tests/test_version.py +0 -0
@@ -31,7 +31,7 @@ jobs:
31
31
  runs-on: ubuntu-latest
32
32
  steps:
33
33
  - uses: actions/checkout@v7
34
- - uses: j178/prek-action@v2
34
+ - uses: j178/prek-action@v3.0.0
35
35
  env:
36
36
  PREK_SKIP: no-commit-to-branch,pyrefly-check
37
37
  parallel-testing:
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.4
1
+ Metadata-Version: 2.5
2
2
  Name: meilisearch-python-sdk
3
- Version: 7.4.0
3
+ Version: 7.5.0
4
4
  Summary: A Python client providing both async and sync support for the Meilisearch API
5
5
  Project-URL: repository, https://github.com/sanders41/meilisearch-python-sdk
6
6
  Project-URL: homepage, https://github.com/sanders41/meilisearch-python-sdk
@@ -265,11 +265,6 @@ This test compares how long it takes to complete 1000 searches (lower is better)
265
265
  to be ~30% faster than the sync client for data ingestion. You can find a good write-up of the
266
266
  results how he tested them in his [blog post](https://thedataquarry.com/posts/meilisearch-async/).
267
267
 
268
- ## Testing
269
-
270
- [pytest-meilisearch](https://github.com/sanders41/pytest-meilisearch) is a pytest plugin that can
271
- help with testing your code. It provides a lot of the boiler plate code you will need.
272
-
273
268
  ## Documentation
274
269
 
275
270
  See our [docs](https://meilisearch-python-sdk.paulsanders.dev) for the full documentation.
@@ -213,11 +213,6 @@ This test compares how long it takes to complete 1000 searches (lower is better)
213
213
  to be ~30% faster than the sync client for data ingestion. You can find a good write-up of the
214
214
  results how he tested them in his [blog post](https://thedataquarry.com/posts/meilisearch-async/).
215
215
 
216
- ## Testing
217
-
218
- [pytest-meilisearch](https://github.com/sanders41/pytest-meilisearch) is a pytest plugin that can
219
- help with testing your code. It provides a lot of the boiler plate code you will need.
220
-
221
216
  ## Documentation
222
217
 
223
218
  See our [docs](https://meilisearch-python-sdk.paulsanders.dev) for the full documentation.
@@ -1,6 +1,6 @@
1
1
  services:
2
2
  meilisearch:
3
- image: getmeili/meilisearch:v1.51.0
3
+ image: getmeili/meilisearch:v1.53.0
4
4
  ports:
5
5
  - "7700:7700"
6
6
  environment:
@@ -1,6 +1,6 @@
1
1
  services:
2
2
  meilisearch:
3
- image: getmeili/meilisearch:v1.51.0
3
+ image: getmeili/meilisearch:v1.53.0
4
4
  ports:
5
5
  - "7700:7700"
6
6
  environment:
@@ -53,7 +53,7 @@ class AsyncHttpRequests:
53
53
  response = await http_method(path)
54
54
  elif content_type == "application/json" and not compress:
55
55
  response = await http_method(
56
- path, content=self.json_handler.dumps(body), headers=headers
56
+ path, content=self.json_handler.dump_bytes(body), headers=headers
57
57
  )
58
58
  else:
59
59
  if compress:
@@ -141,7 +141,9 @@ class HttpRequests:
141
141
  if body is None:
142
142
  response = http_method(path)
143
143
  elif content_type == "application/json" and not compress:
144
- response = http_method(path, content=self.json_handler.dumps(body), headers=headers)
144
+ response = http_method(
145
+ path, content=self.json_handler.dump_bytes(body), headers=headers
146
+ )
145
147
  else:
146
148
  if compress:
147
149
  if content_type == "application/json":
@@ -0,0 +1 @@
1
+ VERSION = "7.5.0"
@@ -24,6 +24,8 @@ class IndexStats(CamelBase):
24
24
  is_indexing: bool
25
25
  field_distribution: dict[str, int]
26
26
  internal_database_sizes: JsonDict | None = None
27
+ index_size: int | str | None = None
28
+ used_index_size: int | str | None = None
27
29
 
28
30
 
29
31
  class FieldsFilter(CamelBase):
@@ -21,7 +21,7 @@ hooks = [
21
21
 
22
22
  [[repos]]
23
23
  repo = "https://github.com/facebook/pyrefly-pre-commit"
24
- rev = "1.1.1"
24
+ rev = "1.2.0"
25
25
  hooks = [
26
26
  {
27
27
  id = "pyrefly-check",
@@ -34,7 +34,7 @@ hooks = [
34
34
 
35
35
  [[repos]]
36
36
  repo = "https://github.com/astral-sh/ruff-pre-commit"
37
- rev = "v0.16.0"
37
+ rev = "v0.16.2"
38
38
  hooks = [
39
39
  {
40
40
  id = "ruff-check",
@@ -47,7 +47,7 @@ hooks = [
47
47
 
48
48
  [[repos]]
49
49
  repo = "https://github.com/rvben/rumdl-pre-commit"
50
- rev = "v0.2.45"
50
+ rev = "v0.2.53"
51
51
  hooks = [
52
52
  { id = "rumdl-fmt" }
53
53
  ]
@@ -37,16 +37,16 @@ all = ["orjson"]
37
37
  [dependency-groups]
38
38
  dev = [
39
39
  "mkdocstrings[python]==1.0.6",
40
- "pyrefly==1.1.1",
40
+ "pyrefly==1.2.0",
41
41
  "pytest==9.1.1",
42
42
  "pytest-cov==7.1.0",
43
43
  "pytest-asyncio==1.4.0",
44
44
  "pytest-xdist==3.8.0",
45
- "prek==0.4.11",
46
- "ruff==0.16.0",
45
+ "prek==0.4.13",
46
+ "ruff==0.16.2",
47
47
  "types-aiofiles==25.1.0.20260518",
48
48
  "typing-extensions==4.16.0",
49
- "zensical==0.0.51",
49
+ "zensical==0.0.53",
50
50
  ]
51
51
 
52
52
  [tool.hatch.version]
@@ -119,6 +119,8 @@ async def test_get_stats(async_empty_index, small_movies):
119
119
 
120
120
  assert response.number_of_documents == 30
121
121
  assert response.internal_database_sizes is None
122
+ assert response.index_size is not None
123
+ assert response.used_index_size is not None
122
124
 
123
125
 
124
126
  @pytest.mark.parametrize("size_format", (None, "raw", "human"))
@@ -111,6 +111,8 @@ def test_get_stats(empty_index, small_movies):
111
111
 
112
112
  assert response.number_of_documents == 30
113
113
  assert response.internal_database_sizes is None
114
+ assert response.index_size is not None
115
+ assert response.used_index_size is not None
114
116
 
115
117
 
116
118
  @pytest.mark.parametrize("size_format", (None, "raw", "human"))
@@ -0,0 +1,13 @@
1
+ import json
2
+
3
+ import pytest
4
+
5
+ from meilisearch_python_sdk.json_handler import BuiltinHandler, OrjsonHandler
6
+
7
+
8
+ @pytest.mark.parametrize("json_handler", (BuiltinHandler(), OrjsonHandler()))
9
+ def test_dumps(json_handler):
10
+ result = json_handler.dumps({"id": 1, "title": "Shazam!"})
11
+
12
+ assert isinstance(result, str)
13
+ assert json.loads(result) == {"id": 1, "title": "Shazam!"}