meilisearch-python-sdk 4.8.0__tar.gz → 4.10.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.

Potentially problematic release.


This version of meilisearch-python-sdk might be problematic. Click here for more details.

Files changed (104) hide show
  1. {meilisearch_python_sdk-4.8.0 → meilisearch_python_sdk-4.10.0}/.github/renovate.json5 +2 -1
  2. {meilisearch_python_sdk-4.8.0 → meilisearch_python_sdk-4.10.0}/.github/workflows/docs_publish.yml +2 -2
  3. {meilisearch_python_sdk-4.8.0 → meilisearch_python_sdk-4.10.0}/.github/workflows/nightly_testing.yml +2 -2
  4. {meilisearch_python_sdk-4.8.0 → meilisearch_python_sdk-4.10.0}/.github/workflows/pypi_publish.yml +2 -2
  5. {meilisearch_python_sdk-4.8.0 → meilisearch_python_sdk-4.10.0}/.github/workflows/testing.yml +18 -18
  6. {meilisearch_python_sdk-4.8.0 → meilisearch_python_sdk-4.10.0}/.pre-commit-config.yaml +3 -3
  7. {meilisearch_python_sdk-4.8.0 → meilisearch_python_sdk-4.10.0}/PKG-INFO +1 -1
  8. meilisearch_python_sdk-4.10.0/docs/css/custom.css +45 -0
  9. meilisearch_python_sdk-4.10.0/docs/overrides/partials/footer.html +25 -0
  10. {meilisearch_python_sdk-4.8.0 → meilisearch_python_sdk-4.10.0}/justfile +1 -4
  11. {meilisearch_python_sdk-4.8.0 → meilisearch_python_sdk-4.10.0}/meilisearch_python_sdk/_client.py +14 -4
  12. meilisearch_python_sdk-4.10.0/meilisearch_python_sdk/_version.py +1 -0
  13. {meilisearch_python_sdk-4.8.0 → meilisearch_python_sdk-4.10.0}/meilisearch_python_sdk/models/search.py +1 -0
  14. {meilisearch_python_sdk-4.8.0 → meilisearch_python_sdk-4.10.0}/mkdocs.yaml +4 -0
  15. {meilisearch_python_sdk-4.8.0 → meilisearch_python_sdk-4.10.0}/pyproject.toml +10 -11
  16. {meilisearch_python_sdk-4.8.0 → meilisearch_python_sdk-4.10.0}/tests/test_async_client.py +15 -0
  17. {meilisearch_python_sdk-4.8.0 → meilisearch_python_sdk-4.10.0}/tests/test_client.py +15 -0
  18. {meilisearch_python_sdk-4.8.0 → meilisearch_python_sdk-4.10.0}/uv.lock +493 -463
  19. meilisearch_python_sdk-4.8.0/benchmark/run_benchmark.py +0 -236
  20. meilisearch_python_sdk-4.8.0/docs/css/custom.css +0 -14
  21. meilisearch_python_sdk-4.8.0/meilisearch_python_sdk/_version.py +0 -1
  22. {meilisearch_python_sdk-4.8.0 → meilisearch_python_sdk-4.10.0}/.github/FUNDING.yml +0 -0
  23. {meilisearch_python_sdk-4.8.0 → meilisearch_python_sdk-4.10.0}/.github/release-draft-template.yaml +0 -0
  24. {meilisearch_python_sdk-4.8.0 → meilisearch_python_sdk-4.10.0}/.github/workflows/release-drafter.yml +0 -0
  25. {meilisearch_python_sdk-4.8.0 → meilisearch_python_sdk-4.10.0}/.gitignore +0 -0
  26. {meilisearch_python_sdk-4.8.0 → meilisearch_python_sdk-4.10.0}/CONTRIBUTING.md +0 -0
  27. {meilisearch_python_sdk-4.8.0 → meilisearch_python_sdk-4.10.0}/LICENSE +0 -0
  28. {meilisearch_python_sdk-4.8.0 → meilisearch_python_sdk-4.10.0}/README.md +0 -0
  29. {meilisearch_python_sdk-4.8.0 → meilisearch_python_sdk-4.10.0}/assets/add_in_batches.png +0 -0
  30. {meilisearch_python_sdk-4.8.0 → meilisearch_python_sdk-4.10.0}/assets/searches.png +0 -0
  31. {meilisearch_python_sdk-4.8.0 → meilisearch_python_sdk-4.10.0}/codecov.yml +0 -0
  32. {meilisearch_python_sdk-4.8.0 → meilisearch_python_sdk-4.10.0}/datasets/small_movies.json +0 -0
  33. {meilisearch_python_sdk-4.8.0 → meilisearch_python_sdk-4.10.0}/docker-compose.https.yml +0 -0
  34. {meilisearch_python_sdk-4.8.0 → meilisearch_python_sdk-4.10.0}/docker-compose.yml +0 -0
  35. {meilisearch_python_sdk-4.8.0 → meilisearch_python_sdk-4.10.0}/docs/.nojekyll +0 -0
  36. {meilisearch_python_sdk-4.8.0 → meilisearch_python_sdk-4.10.0}/docs/CNAME +0 -0
  37. {meilisearch_python_sdk-4.8.0 → meilisearch_python_sdk-4.10.0}/docs/async_client_api.md +0 -0
  38. {meilisearch_python_sdk-4.8.0 → meilisearch_python_sdk-4.10.0}/docs/async_index_api.md +0 -0
  39. {meilisearch_python_sdk-4.8.0 → meilisearch_python_sdk-4.10.0}/docs/client_api.md +0 -0
  40. {meilisearch_python_sdk-4.8.0 → meilisearch_python_sdk-4.10.0}/docs/decorators_api.md +0 -0
  41. {meilisearch_python_sdk-4.8.0 → meilisearch_python_sdk-4.10.0}/docs/index.md +0 -0
  42. {meilisearch_python_sdk-4.8.0 → meilisearch_python_sdk-4.10.0}/docs/index_api.md +0 -0
  43. {meilisearch_python_sdk-4.8.0 → meilisearch_python_sdk-4.10.0}/docs/js/umami.js +0 -0
  44. {meilisearch_python_sdk-4.8.0 → meilisearch_python_sdk-4.10.0}/docs/json_handler.md +0 -0
  45. {meilisearch_python_sdk-4.8.0 → meilisearch_python_sdk-4.10.0}/docs/plugins.md +0 -0
  46. {meilisearch_python_sdk-4.8.0 → meilisearch_python_sdk-4.10.0}/docs/pydantic.md +0 -0
  47. {meilisearch_python_sdk-4.8.0 → meilisearch_python_sdk-4.10.0}/examples/.gitignore +0 -0
  48. {meilisearch_python_sdk-4.8.0 → meilisearch_python_sdk-4.10.0}/examples/README.md +0 -0
  49. {meilisearch_python_sdk-4.8.0 → meilisearch_python_sdk-4.10.0}/examples/__init__.py +0 -0
  50. {meilisearch_python_sdk-4.8.0 → meilisearch_python_sdk-4.10.0}/examples/add_documents_decorator.py +0 -0
  51. {meilisearch_python_sdk-4.8.0 → meilisearch_python_sdk-4.10.0}/examples/add_documents_in_batches.py +0 -0
  52. {meilisearch_python_sdk-4.8.0 → meilisearch_python_sdk-4.10.0}/examples/async_add_documents_decorator.py +0 -0
  53. {meilisearch_python_sdk-4.8.0 → meilisearch_python_sdk-4.10.0}/examples/async_add_documents_in_batches.py +0 -0
  54. {meilisearch_python_sdk-4.8.0 → meilisearch_python_sdk-4.10.0}/examples/async_documents_and_search_results.py +0 -0
  55. {meilisearch_python_sdk-4.8.0 → meilisearch_python_sdk-4.10.0}/examples/async_search_tracker.py +0 -0
  56. {meilisearch_python_sdk-4.8.0 → meilisearch_python_sdk-4.10.0}/examples/async_update_settings.py +0 -0
  57. {meilisearch_python_sdk-4.8.0 → meilisearch_python_sdk-4.10.0}/examples/documents_and_search_results.py +0 -0
  58. {meilisearch_python_sdk-4.8.0 → meilisearch_python_sdk-4.10.0}/examples/fastapi_example.py +0 -0
  59. {meilisearch_python_sdk-4.8.0 → meilisearch_python_sdk-4.10.0}/examples/orjson_example.py +0 -0
  60. {meilisearch_python_sdk-4.8.0 → meilisearch_python_sdk-4.10.0}/examples/pyproject.toml +0 -0
  61. {meilisearch_python_sdk-4.8.0 → meilisearch_python_sdk-4.10.0}/examples/requirements.txt +0 -0
  62. {meilisearch_python_sdk-4.8.0 → meilisearch_python_sdk-4.10.0}/examples/search_tracker.py +0 -0
  63. {meilisearch_python_sdk-4.8.0 → meilisearch_python_sdk-4.10.0}/examples/tests/__init__.py +0 -0
  64. {meilisearch_python_sdk-4.8.0 → meilisearch_python_sdk-4.10.0}/examples/tests/conftest.py +0 -0
  65. {meilisearch_python_sdk-4.8.0 → meilisearch_python_sdk-4.10.0}/examples/tests/test_async_examples.py +0 -0
  66. {meilisearch_python_sdk-4.8.0 → meilisearch_python_sdk-4.10.0}/examples/tests/test_examples.py +0 -0
  67. {meilisearch_python_sdk-4.8.0 → meilisearch_python_sdk-4.10.0}/examples/ujson_example.py +0 -0
  68. {meilisearch_python_sdk-4.8.0 → meilisearch_python_sdk-4.10.0}/examples/update_settings.py +0 -0
  69. {meilisearch_python_sdk-4.8.0 → meilisearch_python_sdk-4.10.0}/meilisearch_python_sdk/__init__.py +0 -0
  70. {meilisearch_python_sdk-4.8.0 → meilisearch_python_sdk-4.10.0}/meilisearch_python_sdk/_batch.py +0 -0
  71. {meilisearch_python_sdk-4.8.0 → meilisearch_python_sdk-4.10.0}/meilisearch_python_sdk/_http_requests.py +0 -0
  72. {meilisearch_python_sdk-4.8.0 → meilisearch_python_sdk-4.10.0}/meilisearch_python_sdk/_task.py +0 -0
  73. {meilisearch_python_sdk-4.8.0 → meilisearch_python_sdk-4.10.0}/meilisearch_python_sdk/_utils.py +0 -0
  74. {meilisearch_python_sdk-4.8.0 → meilisearch_python_sdk-4.10.0}/meilisearch_python_sdk/decorators.py +0 -0
  75. {meilisearch_python_sdk-4.8.0 → meilisearch_python_sdk-4.10.0}/meilisearch_python_sdk/errors.py +0 -0
  76. {meilisearch_python_sdk-4.8.0 → meilisearch_python_sdk-4.10.0}/meilisearch_python_sdk/index.py +0 -0
  77. {meilisearch_python_sdk-4.8.0 → meilisearch_python_sdk-4.10.0}/meilisearch_python_sdk/json_handler.py +0 -0
  78. {meilisearch_python_sdk-4.8.0 → meilisearch_python_sdk-4.10.0}/meilisearch_python_sdk/models/__init__.py +0 -0
  79. {meilisearch_python_sdk-4.8.0 → meilisearch_python_sdk-4.10.0}/meilisearch_python_sdk/models/batch.py +0 -0
  80. {meilisearch_python_sdk-4.8.0 → meilisearch_python_sdk-4.10.0}/meilisearch_python_sdk/models/client.py +0 -0
  81. {meilisearch_python_sdk-4.8.0 → meilisearch_python_sdk-4.10.0}/meilisearch_python_sdk/models/documents.py +0 -0
  82. {meilisearch_python_sdk-4.8.0 → meilisearch_python_sdk-4.10.0}/meilisearch_python_sdk/models/health.py +0 -0
  83. {meilisearch_python_sdk-4.8.0 → meilisearch_python_sdk-4.10.0}/meilisearch_python_sdk/models/index.py +0 -0
  84. {meilisearch_python_sdk-4.8.0 → meilisearch_python_sdk-4.10.0}/meilisearch_python_sdk/models/settings.py +0 -0
  85. {meilisearch_python_sdk-4.8.0 → meilisearch_python_sdk-4.10.0}/meilisearch_python_sdk/models/task.py +0 -0
  86. {meilisearch_python_sdk-4.8.0 → meilisearch_python_sdk-4.10.0}/meilisearch_python_sdk/models/version.py +0 -0
  87. {meilisearch_python_sdk-4.8.0 → meilisearch_python_sdk-4.10.0}/meilisearch_python_sdk/plugins.py +0 -0
  88. {meilisearch_python_sdk-4.8.0 → meilisearch_python_sdk-4.10.0}/meilisearch_python_sdk/py.typed +0 -0
  89. {meilisearch_python_sdk-4.8.0 → meilisearch_python_sdk-4.10.0}/meilisearch_python_sdk/types.py +0 -0
  90. {meilisearch_python_sdk-4.8.0 → meilisearch_python_sdk-4.10.0}/tests/__init__.py +0 -0
  91. {meilisearch_python_sdk-4.8.0 → meilisearch_python_sdk-4.10.0}/tests/conftest.py +0 -0
  92. {meilisearch_python_sdk-4.8.0 → meilisearch_python_sdk-4.10.0}/tests/test_async_documents.py +0 -0
  93. {meilisearch_python_sdk-4.8.0 → meilisearch_python_sdk-4.10.0}/tests/test_async_index.py +0 -0
  94. {meilisearch_python_sdk-4.8.0 → meilisearch_python_sdk-4.10.0}/tests/test_async_index_plugins.py +0 -0
  95. {meilisearch_python_sdk-4.8.0 → meilisearch_python_sdk-4.10.0}/tests/test_async_search.py +0 -0
  96. {meilisearch_python_sdk-4.8.0 → meilisearch_python_sdk-4.10.0}/tests/test_decorators.py +0 -0
  97. {meilisearch_python_sdk-4.8.0 → meilisearch_python_sdk-4.10.0}/tests/test_documents.py +0 -0
  98. {meilisearch_python_sdk-4.8.0 → meilisearch_python_sdk-4.10.0}/tests/test_errors.py +0 -0
  99. {meilisearch_python_sdk-4.8.0 → meilisearch_python_sdk-4.10.0}/tests/test_index.py +0 -0
  100. {meilisearch_python_sdk-4.8.0 → meilisearch_python_sdk-4.10.0}/tests/test_index_plugins.py +0 -0
  101. {meilisearch_python_sdk-4.8.0 → meilisearch_python_sdk-4.10.0}/tests/test_search.py +0 -0
  102. {meilisearch_python_sdk-4.8.0 → meilisearch_python_sdk-4.10.0}/tests/test_settings_models.py +0 -0
  103. {meilisearch_python_sdk-4.8.0 → meilisearch_python_sdk-4.10.0}/tests/test_utils.py +0 -0
  104. {meilisearch_python_sdk-4.8.0 → meilisearch_python_sdk-4.10.0}/tests/test_version.py +0 -0
@@ -2,7 +2,8 @@
2
2
  "$schema": "https://docs.renovatebot.com/renovate-schema.json",
3
3
  "extends": [
4
4
  "config:recommended",
5
- ":disableDependencyDashboard"
5
+ ":disableDependencyDashboard",
6
+ ":semanticCommitsDisabled"
6
7
  ],
7
8
  lockFileMaintenance: {
8
9
  enabled: true,
@@ -10,13 +10,13 @@ jobs:
10
10
  deploy:
11
11
  runs-on: ubuntu-latest
12
12
  steps:
13
- - uses: actions/checkout@v4
13
+ - uses: actions/checkout@v5
14
14
  - name: Install uv
15
15
  uses: astral-sh/setup-uv@v6
16
16
  with:
17
17
  enable-cache: true
18
18
  - name: Set up Python
19
- uses: actions/setup-python@v5
19
+ uses: actions/setup-python@v6
20
20
  with:
21
21
  python-version: ${{ env.PYTHON_VERSION }}
22
22
  - name: Install Dependencies
@@ -12,7 +12,7 @@ jobs:
12
12
  fail-fast: false
13
13
  runs-on: ubuntu-latest
14
14
  steps:
15
- - uses: actions/checkout@v4
15
+ - uses: actions/checkout@v5
16
16
  - name: Install uv
17
17
  uses: astral-sh/setup-uv@v6
18
18
  with:
@@ -20,7 +20,7 @@ jobs:
20
20
  - name: install Just
21
21
  uses: taiki-e/install-action@just
22
22
  - name: Set up Python
23
- uses: actions/setup-python@v5
23
+ uses: actions/setup-python@v6
24
24
  with:
25
25
  python-version: ${{ env.PYTHON_VERSION }}
26
26
  - name: Install Dependencies
@@ -12,13 +12,13 @@ jobs:
12
12
  # For PyPI's trusted publishing.
13
13
  id-token: write
14
14
  steps:
15
- - uses: actions/checkout@v4
15
+ - uses: actions/checkout@v5
16
16
  - name: Install uv
17
17
  uses: astral-sh/setup-uv@v6
18
18
  with:
19
19
  enable-cache: true
20
20
  - name: Set up Python
21
- uses: actions/setup-python@v5
21
+ uses: actions/setup-python@v6
22
22
  with:
23
23
  python-version: ${{ env.PYTHON_VERSION }}
24
24
  - name: Install Dependencies
@@ -11,7 +11,7 @@ jobs:
11
11
  linting:
12
12
  runs-on: ubuntu-latest
13
13
  steps:
14
- - uses: actions/checkout@v4
14
+ - uses: actions/checkout@v5
15
15
  - name: install Just
16
16
  uses: taiki-e/install-action@just
17
17
  - name: Install uv
@@ -19,7 +19,7 @@ jobs:
19
19
  with:
20
20
  enable-cache: true
21
21
  - name: Set up Python
22
- uses: actions/setup-python@v5
22
+ uses: actions/setup-python@v6
23
23
  with:
24
24
  python-version: ${{ env.PYTHON_VERSION }}
25
25
  - name: Install Dependencies
@@ -34,7 +34,7 @@ jobs:
34
34
  python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
35
35
  runs-on: ubuntu-latest
36
36
  steps:
37
- - uses: actions/checkout@v4
37
+ - uses: actions/checkout@v5
38
38
  - name: install Just
39
39
  uses: taiki-e/install-action@just
40
40
  - name: Install uv
@@ -42,7 +42,7 @@ jobs:
42
42
  with:
43
43
  enable-cache: true
44
44
  - name: Set up Python ${{ matrix.python-version }}
45
- uses: actions/setup-python@v5
45
+ uses: actions/setup-python@v6
46
46
  with:
47
47
  python-version: ${{ matrix.python-version }}
48
48
  - name: Install Dependencies
@@ -50,7 +50,7 @@ jobs:
50
50
  - name: Test with pytest
51
51
  run: just test-parallel-ci
52
52
  - name: Upload coverage
53
- uses: codecov/codecov-action@v5.4.3
53
+ uses: codecov/codecov-action@v5.5.1
54
54
  with:
55
55
  token: ${{ secrets.CODECOV_TOKEN }}
56
56
  fail_ci_if_error: true
@@ -62,7 +62,7 @@ jobs:
62
62
  python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
63
63
  runs-on: ubuntu-latest
64
64
  steps:
65
- - uses: actions/checkout@v4
65
+ - uses: actions/checkout@v5
66
66
  - name: install Just
67
67
  uses: taiki-e/install-action@just
68
68
  - name: Install uv
@@ -70,7 +70,7 @@ jobs:
70
70
  with:
71
71
  enable-cache: true
72
72
  - name: Set up Python ${{ matrix.python-version }}
73
- uses: actions/setup-python@v5
73
+ uses: actions/setup-python@v6
74
74
  with:
75
75
  python-version: ${{ matrix.python-version }}
76
76
  - name: Install Dependencies
@@ -90,7 +90,7 @@ jobs:
90
90
  - name: Test with pytest
91
91
  run: just test-parallel-ci-http2
92
92
  - name: Upload coverage
93
- uses: codecov/codecov-action@v5.4.3
93
+ uses: codecov/codecov-action@v5.5.1
94
94
  with:
95
95
  token: ${{ secrets.CODECOV_TOKEN }}
96
96
  fail_ci_if_error: true
@@ -102,7 +102,7 @@ jobs:
102
102
  python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
103
103
  runs-on: ubuntu-latest
104
104
  steps:
105
- - uses: actions/checkout@v4
105
+ - uses: actions/checkout@v5
106
106
  - name: install Just
107
107
  uses: taiki-e/install-action@just
108
108
  - name: Install uv
@@ -110,7 +110,7 @@ jobs:
110
110
  with:
111
111
  enable-cache: true
112
112
  - name: Set up Python ${{ matrix.python-version }}
113
- uses: actions/setup-python@v5
113
+ uses: actions/setup-python@v6
114
114
  with:
115
115
  python-version: ${{ matrix.python-version }}
116
116
  - name: Install Dependencies
@@ -118,7 +118,7 @@ jobs:
118
118
  - name: Test with pytest
119
119
  run: just test-no-parallel-ci
120
120
  - name: Upload coverage
121
- uses: codecov/codecov-action@v5.4.3
121
+ uses: codecov/codecov-action@v5.5.1
122
122
  with:
123
123
  token: ${{ secrets.CODECOV_TOKEN }}
124
124
  fail_ci_if_error: true
@@ -130,7 +130,7 @@ jobs:
130
130
  python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
131
131
  runs-on: ubuntu-latest
132
132
  steps:
133
- - uses: actions/checkout@v4
133
+ - uses: actions/checkout@v5
134
134
  - name: install Just
135
135
  uses: taiki-e/install-action@just
136
136
  - name: Install uv
@@ -138,7 +138,7 @@ jobs:
138
138
  with:
139
139
  enable-cache: true
140
140
  - name: Set up Python ${{ matrix.python-version }}
141
- uses: actions/setup-python@v5
141
+ uses: actions/setup-python@v6
142
142
  with:
143
143
  python-version: ${{ matrix.python-version }}
144
144
  - name: Install Dependencies
@@ -158,7 +158,7 @@ jobs:
158
158
  - name: Test with pytest
159
159
  run: just test-no-parallel-ci-http2
160
160
  - name: Upload coverage
161
- uses: codecov/codecov-action@v5.4.3
161
+ uses: codecov/codecov-action@v5.5.1
162
162
  with:
163
163
  token: ${{ secrets.CODECOV_TOKEN }}
164
164
  fail_ci_if_error: true
@@ -169,11 +169,11 @@ jobs:
169
169
  python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
170
170
  runs-on: ubuntu-latest
171
171
  steps:
172
- - uses: actions/checkout@v4
172
+ - uses: actions/checkout@v5
173
173
  - name: install Just
174
174
  uses: taiki-e/install-action@just
175
175
  - name: Set up Python ${{ matrix.python-version }}
176
- uses: actions/setup-python@v5
176
+ uses: actions/setup-python@v6
177
177
  with:
178
178
  python-version: ${{ matrix.python-version }}
179
179
  cache: pip
@@ -183,7 +183,7 @@ jobs:
183
183
  docs:
184
184
  runs-on: ubuntu-latest
185
185
  steps:
186
- - uses: actions/checkout@v4
186
+ - uses: actions/checkout@v5
187
187
  - name: install Just
188
188
  uses: taiki-e/install-action@just
189
189
  - name: Install uv
@@ -191,7 +191,7 @@ jobs:
191
191
  with:
192
192
  enable-cache: true
193
193
  - name: Set up Python
194
- uses: actions/setup-python@v5
194
+ uses: actions/setup-python@v6
195
195
  with:
196
196
  python-version: "3.13"
197
197
  - name: Install Dependencies
@@ -1,6 +1,6 @@
1
1
  repos:
2
2
  - repo: https://github.com/pre-commit/pre-commit-hooks
3
- rev: v5.0.0
3
+ rev: v6.0.0
4
4
  hooks:
5
5
  - id: check-added-large-files
6
6
  - id: check-toml
@@ -9,12 +9,12 @@ repos:
9
9
  - id: end-of-file-fixer
10
10
  - id: trailing-whitespace
11
11
  - repo: https://github.com/pre-commit/mirrors-mypy
12
- rev: v1.17.0
12
+ rev: v1.18.1
13
13
  hooks:
14
14
  - id: mypy
15
15
  additional_dependencies: [pydantic, orjson, types-aiofiles, types-ujson]
16
16
  - repo: https://github.com/astral-sh/ruff-pre-commit
17
- rev: v0.12.5
17
+ rev: v0.13.0
18
18
  hooks:
19
19
  - id: ruff-check
20
20
  args: [--fix, --exit-non-zero-on-fix]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: meilisearch-python-sdk
3
- Version: 4.8.0
3
+ Version: 4.10.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
@@ -0,0 +1,45 @@
1
+ .md-source__repository {
2
+ overflow: visible;
3
+ }
4
+
5
+ .md-footer {
6
+ padding: 16px 0;
7
+ display: flex;
8
+ justify-content: center;
9
+ align-items: center;
10
+ background-color: #111317;
11
+ color: #ffffff;
12
+ }
13
+
14
+ .footer-buttons {
15
+ display: flex;
16
+ gap: 16px;
17
+ align-items: center;
18
+ flex-wrap: wrap;
19
+ }
20
+
21
+ .footer-btn,
22
+ .bmc-wrapper iframe {
23
+ height: 40px;
24
+ width: 150px;
25
+ min-width: 120px;
26
+ max-width: 100%;
27
+ border-radius: 6px;
28
+ display: block;
29
+ }
30
+
31
+ .bmc-wrapper {
32
+ display: flex;
33
+ align-items: center;
34
+ }
35
+
36
+ div.autodoc-docstring {
37
+ padding-left: 20px;
38
+ margin-bottom: 30px;
39
+ border-left: 5px solid rgba(230, 230, 230);
40
+ }
41
+
42
+ div.autodoc-members {
43
+ padding-left: 20px;
44
+ margin-bottom: 15px;
45
+ }
@@ -0,0 +1,25 @@
1
+ <footer class="md-footer">
2
+ <div class="footer-buttons">
3
+ <iframe
4
+ src="https://github.com/sponsors/sanders41/button"
5
+ title="Sponsor sanders41"
6
+ class="footer-btn"
7
+ ></iframe>
8
+
9
+ <div class="bmc-wrapper">
10
+ <script
11
+ type="text/javascript"
12
+ src="https://cdnjs.buymeacoffee.com/1.0.0/button.prod.min.js"
13
+ data-name="bmc-button"
14
+ data-slug="sanders41"
15
+ data-color="#87ceeb"
16
+ data-emoji=""
17
+ data-font="Cookie"
18
+ data-text="Buy me a coffee"
19
+ data-outline-color="#000000"
20
+ data-font-color="#000000"
21
+ data-coffee-color="#FFDD00"
22
+ ></script>
23
+ </div>
24
+ </div>
25
+ </footer>
@@ -78,7 +78,7 @@
78
78
  uv run mkdocs build --strict
79
79
 
80
80
  @serve-docs:
81
- mkdocs serve
81
+ uv run mkdocs serve
82
82
 
83
83
  @install:
84
84
  uv sync --frozen --all-extras
@@ -88,6 +88,3 @@
88
88
 
89
89
  @lock-upgrade:
90
90
  uv lock --upgrade
91
-
92
- @benchmark: start-meilisearch-detached && stop-meilisearch
93
- -uv run benchmark/run_benchmark.py
@@ -812,11 +812,13 @@ class AsyncClient(BaseClient):
812
812
 
813
813
  return Health(**response.json())
814
814
 
815
- async def swap_indexes(self, indexes: list[tuple[str, str]]) -> TaskInfo:
815
+ async def swap_indexes(self, indexes: list[tuple[str, str]], rename: bool = False) -> TaskInfo:
816
816
  """Swap two indexes.
817
817
 
818
818
  Args:
819
819
  indexes: A list of tuples, each tuple should contain the indexes to swap.
820
+ rename: Use rename false if you are swapping two existing indexes. Use rename true if
821
+ the second index in your array does not exist. Default = False
820
822
 
821
823
  Returns:
822
824
  The details of the task.
@@ -830,7 +832,10 @@ class AsyncClient(BaseClient):
830
832
  >>> async with AsyncClient("http://localhost.com", "masterKey") as client:
831
833
  >>> index = await client.swap_indexes([("index_a", "index_b")])
832
834
  """
833
- processed_indexes = [{"indexes": x} for x in indexes]
835
+ if rename:
836
+ processed_indexes = [{"indexes": x, "rename": True} for x in indexes]
837
+ else:
838
+ processed_indexes = [{"indexes": x} for x in indexes]
834
839
  response = await self._http_requests.post("swap-indexes", processed_indexes)
835
840
 
836
841
  return TaskInfo(**response.json())
@@ -1775,11 +1780,13 @@ class Client(BaseClient):
1775
1780
 
1776
1781
  return Health(**response.json())
1777
1782
 
1778
- def swap_indexes(self, indexes: list[tuple[str, str]]) -> TaskInfo:
1783
+ def swap_indexes(self, indexes: list[tuple[str, str]], rename: bool = False) -> TaskInfo:
1779
1784
  """Swap two indexes.
1780
1785
 
1781
1786
  Args:
1782
1787
  indexes: A list of tuples, each tuple should contain the indexes to swap.
1788
+ rename: Use rename false if you are swapping two existing indexes. Use rename true if
1789
+ the second index in your array does not exist. Default = False
1783
1790
 
1784
1791
  Returns:
1785
1792
  The details of the task.
@@ -1793,7 +1800,10 @@ class Client(BaseClient):
1793
1800
  >>> client = Client("http://localhost.com", "masterKey")
1794
1801
  >>> index = client.swap_indexes([("index_a", "index_b")])
1795
1802
  """
1796
- processed_indexes = [{"indexes": x} for x in indexes]
1803
+ if rename:
1804
+ processed_indexes = [{"indexes": x, "rename": True} for x in indexes]
1805
+ else:
1806
+ processed_indexes = [{"indexes": x} for x in indexes]
1797
1807
  response = self._http_requests.post("swap-indexes", processed_indexes)
1798
1808
 
1799
1809
  return TaskInfo(**response.json())
@@ -0,0 +1 @@
1
+ VERSION = "4.10.0"
@@ -95,6 +95,7 @@ class SearchResults(CamelBase, Generic[T]):
95
95
  page: int | None = None
96
96
  hits_per_page: int | None = None
97
97
  semantic_hit_count: int | None = None
98
+ query_vector: list[float] | None = None
98
99
 
99
100
 
100
101
  class SearchResultsWithUID(SearchResults, Generic[T]):
@@ -4,6 +4,7 @@ site_url: https://meilisearch-python-sdk.paulsanders.dev
4
4
 
5
5
  theme:
6
6
  name: material
7
+ custom_dir: docs/overrides
7
8
  locale: en
8
9
  icon:
9
10
  repo: fontawesome/brands/github
@@ -44,3 +45,6 @@ plugins:
44
45
 
45
46
  extra_javascript:
46
47
  - "js/umami.js"
48
+
49
+ extra_css:
50
+ - "css/custom.css"
@@ -41,19 +41,18 @@ all = ["orjson", "ujson"]
41
41
  [dependency-groups]
42
42
  dev = [
43
43
  "mkdocs==1.6.1",
44
- "mkdocs-material==9.6.16",
44
+ "mkdocs-material==9.6.20",
45
45
  "mkdocstrings[python]==0.30.0",
46
- "mypy[faster-cache]==1.17.1",
47
- "pre-commit==4.2.0",
48
- "pytest==8.4.1",
49
- "pytest-cov==6.2.1",
50
- "pytest-asyncio==1.1.0",
46
+ "mypy[faster-cache]==1.18.1",
47
+ "pre-commit==4.3.0",
48
+ "pytest==8.4.2",
49
+ "pytest-cov==7.0.0",
50
+ "pytest-asyncio==1.2.0",
51
51
  "pytest-xdist==3.8.0",
52
- "ruff==0.12.7",
53
- "types-aiofiles==24.1.0.20250801",
54
- "typing-extensions==4.14.1",
55
- "types-ujson==5.10.0.20250326",
56
- "meilisearch==0.36.0",
52
+ "ruff==0.13.0",
53
+ "types-aiofiles==24.1.0.20250822",
54
+ "typing-extensions==4.15.0",
55
+ "types-ujson==5.10.0.20250822",
57
56
  "rich==14.1.0",
58
57
  ]
59
58
 
@@ -550,6 +550,21 @@ async def test_swap_indexes(async_client, async_empty_index):
550
550
  assert task.task_type == "indexSwap"
551
551
 
552
552
 
553
+ @pytest.mark.no_parallel
554
+ async def test_swap_indexes_rename(async_client, async_empty_index):
555
+ new_name = str(uuid4())
556
+ index = await async_empty_index()
557
+ task = await index.add_documents([{"id": 1, "title": index.uid}])
558
+ await async_client.wait_for_task(task.task_uid)
559
+ swapTask = await async_client.swap_indexes([(index.uid, new_name)], rename=True)
560
+ task = async_client.wait_for_task(swapTask.task_uid)
561
+
562
+ indexes = await async_client.get_indexes()
563
+ uids = [index.uid for index in indexes]
564
+ assert index.uid not in uids
565
+ assert new_name in uids
566
+
567
+
553
568
  @pytest.mark.usefixtures("create_tasks")
554
569
  @pytest.mark.no_parallel
555
570
  async def test_cancel_task_statuses(async_client):
@@ -547,6 +547,21 @@ def test_swap_indexes(client, empty_index):
547
547
  assert task.task_type == "indexSwap"
548
548
 
549
549
 
550
+ @pytest.mark.no_parallel
551
+ def test_swap_indexes_rename(client, empty_index):
552
+ new_name = str(uuid4())
553
+ index = empty_index()
554
+ task = index.add_documents([{"id": 1, "title": index.uid}])
555
+ client.wait_for_task(task.task_uid)
556
+ swapTask = client.swap_indexes([(index.uid, new_name)], rename=True)
557
+ task = client.wait_for_task(swapTask.task_uid)
558
+
559
+ indexes = client.get_indexes()
560
+ uids = [index.uid for index in indexes]
561
+ assert index.uid not in uids
562
+ assert new_name in uids
563
+
564
+
550
565
  @pytest.mark.usefixtures("create_tasks")
551
566
  @pytest.mark.no_parallel
552
567
  def test_cancel_statuses(client):