meilisearch-python-sdk 7.2.0__tar.gz → 7.2.2__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.
- {meilisearch_python_sdk-7.2.0 → meilisearch_python_sdk-7.2.2}/.github/workflows/docs_publish.yml +1 -1
- {meilisearch_python_sdk-7.2.0 → meilisearch_python_sdk-7.2.2}/.github/workflows/nightly_testing.yml +1 -1
- {meilisearch_python_sdk-7.2.0 → meilisearch_python_sdk-7.2.2}/.github/workflows/pypi_publish.yml +1 -1
- {meilisearch_python_sdk-7.2.0 → meilisearch_python_sdk-7.2.2}/.github/workflows/testing.yml +17 -17
- {meilisearch_python_sdk-7.2.0 → meilisearch_python_sdk-7.2.2}/.pre-commit-config.yaml +12 -6
- {meilisearch_python_sdk-7.2.0 → meilisearch_python_sdk-7.2.2}/CONTRIBUTING.md +4 -4
- {meilisearch_python_sdk-7.2.0 → meilisearch_python_sdk-7.2.2}/PKG-INFO +1 -1
- {meilisearch_python_sdk-7.2.0 → meilisearch_python_sdk-7.2.2}/docker-compose.https.yml +1 -1
- {meilisearch_python_sdk-7.2.0 → meilisearch_python_sdk-7.2.2}/docker-compose.yml +1 -1
- {meilisearch_python_sdk-7.2.0 → meilisearch_python_sdk-7.2.2}/justfile +4 -4
- {meilisearch_python_sdk-7.2.0 → meilisearch_python_sdk-7.2.2}/meilisearch_python_sdk/_client/_async_client.py +1 -1
- {meilisearch_python_sdk-7.2.0 → meilisearch_python_sdk-7.2.2}/meilisearch_python_sdk/_client/_client.py +1 -1
- {meilisearch_python_sdk-7.2.0 → meilisearch_python_sdk-7.2.2}/meilisearch_python_sdk/_client/_common.py +3 -0
- {meilisearch_python_sdk-7.2.0 → meilisearch_python_sdk-7.2.2}/meilisearch_python_sdk/_http_requests.py +3 -2
- meilisearch_python_sdk-7.2.2/meilisearch_python_sdk/_version.py +1 -0
- {meilisearch_python_sdk-7.2.0 → meilisearch_python_sdk-7.2.2}/meilisearch_python_sdk/json_handler.py +3 -3
- {meilisearch_python_sdk-7.2.0 → meilisearch_python_sdk-7.2.2}/meilisearch_python_sdk/models/search.py +5 -0
- {meilisearch_python_sdk-7.2.0 → meilisearch_python_sdk-7.2.2}/pyproject.toml +14 -16
- {meilisearch_python_sdk-7.2.0 → meilisearch_python_sdk-7.2.2}/tests/conftest.py +1 -1
- {meilisearch_python_sdk-7.2.0 → meilisearch_python_sdk-7.2.2}/tests/test_async_search.py +25 -0
- {meilisearch_python_sdk-7.2.0 → meilisearch_python_sdk-7.2.2}/tests/test_search.py +25 -0
- {meilisearch_python_sdk-7.2.0 → meilisearch_python_sdk-7.2.2}/uv.lock +109 -291
- meilisearch_python_sdk-7.2.0/meilisearch_python_sdk/_version.py +0 -1
- {meilisearch_python_sdk-7.2.0 → meilisearch_python_sdk-7.2.2}/.github/FUNDING.yml +0 -0
- {meilisearch_python_sdk-7.2.0 → meilisearch_python_sdk-7.2.2}/.github/release-draft-template.yaml +0 -0
- {meilisearch_python_sdk-7.2.0 → meilisearch_python_sdk-7.2.2}/.github/renovate.json5 +0 -0
- {meilisearch_python_sdk-7.2.0 → meilisearch_python_sdk-7.2.2}/.github/workflows/release-drafter.yml +0 -0
- {meilisearch_python_sdk-7.2.0 → meilisearch_python_sdk-7.2.2}/.gitignore +0 -0
- {meilisearch_python_sdk-7.2.0 → meilisearch_python_sdk-7.2.2}/LICENSE +0 -0
- {meilisearch_python_sdk-7.2.0 → meilisearch_python_sdk-7.2.2}/README.md +0 -0
- {meilisearch_python_sdk-7.2.0 → meilisearch_python_sdk-7.2.2}/assets/add_in_batches.png +0 -0
- {meilisearch_python_sdk-7.2.0 → meilisearch_python_sdk-7.2.2}/assets/searches.png +0 -0
- {meilisearch_python_sdk-7.2.0 → meilisearch_python_sdk-7.2.2}/codecov.yml +0 -0
- {meilisearch_python_sdk-7.2.0 → meilisearch_python_sdk-7.2.2}/datasets/small_movies.json +0 -0
- {meilisearch_python_sdk-7.2.0 → meilisearch_python_sdk-7.2.2}/docs/.nojekyll +0 -0
- {meilisearch_python_sdk-7.2.0 → meilisearch_python_sdk-7.2.2}/docs/CNAME +0 -0
- {meilisearch_python_sdk-7.2.0 → meilisearch_python_sdk-7.2.2}/docs/async_client_api.md +0 -0
- {meilisearch_python_sdk-7.2.0 → meilisearch_python_sdk-7.2.2}/docs/async_index_api.md +0 -0
- {meilisearch_python_sdk-7.2.0 → meilisearch_python_sdk-7.2.2}/docs/client_api.md +0 -0
- {meilisearch_python_sdk-7.2.0 → meilisearch_python_sdk-7.2.2}/docs/css/custom.css +0 -0
- {meilisearch_python_sdk-7.2.0 → meilisearch_python_sdk-7.2.2}/docs/decorators_api.md +0 -0
- {meilisearch_python_sdk-7.2.0 → meilisearch_python_sdk-7.2.2}/docs/index.md +0 -0
- {meilisearch_python_sdk-7.2.0 → meilisearch_python_sdk-7.2.2}/docs/index_api.md +0 -0
- {meilisearch_python_sdk-7.2.0 → meilisearch_python_sdk-7.2.2}/docs/js/umami.js +0 -0
- {meilisearch_python_sdk-7.2.0 → meilisearch_python_sdk-7.2.2}/docs/json_handler.md +0 -0
- {meilisearch_python_sdk-7.2.0 → meilisearch_python_sdk-7.2.2}/docs/overrides/partials/footer.html +0 -0
- {meilisearch_python_sdk-7.2.0 → meilisearch_python_sdk-7.2.2}/docs/plugins.md +0 -0
- {meilisearch_python_sdk-7.2.0 → meilisearch_python_sdk-7.2.2}/docs/pydantic.md +0 -0
- {meilisearch_python_sdk-7.2.0 → meilisearch_python_sdk-7.2.2}/examples/.gitignore +0 -0
- {meilisearch_python_sdk-7.2.0 → meilisearch_python_sdk-7.2.2}/examples/README.md +0 -0
- {meilisearch_python_sdk-7.2.0 → meilisearch_python_sdk-7.2.2}/examples/__init__.py +0 -0
- {meilisearch_python_sdk-7.2.0 → meilisearch_python_sdk-7.2.2}/examples/add_documents_decorator.py +0 -0
- {meilisearch_python_sdk-7.2.0 → meilisearch_python_sdk-7.2.2}/examples/add_documents_in_batches.py +0 -0
- {meilisearch_python_sdk-7.2.0 → meilisearch_python_sdk-7.2.2}/examples/async_add_documents_decorator.py +0 -0
- {meilisearch_python_sdk-7.2.0 → meilisearch_python_sdk-7.2.2}/examples/async_add_documents_in_batches.py +0 -0
- {meilisearch_python_sdk-7.2.0 → meilisearch_python_sdk-7.2.2}/examples/async_documents_and_search_results.py +0 -0
- {meilisearch_python_sdk-7.2.0 → meilisearch_python_sdk-7.2.2}/examples/async_search_tracker.py +0 -0
- {meilisearch_python_sdk-7.2.0 → meilisearch_python_sdk-7.2.2}/examples/async_update_settings.py +0 -0
- {meilisearch_python_sdk-7.2.0 → meilisearch_python_sdk-7.2.2}/examples/documents_and_search_results.py +0 -0
- {meilisearch_python_sdk-7.2.0 → meilisearch_python_sdk-7.2.2}/examples/fastapi_example.py +0 -0
- {meilisearch_python_sdk-7.2.0 → meilisearch_python_sdk-7.2.2}/examples/orjson_example.py +0 -0
- {meilisearch_python_sdk-7.2.0 → meilisearch_python_sdk-7.2.2}/examples/pyproject.toml +0 -0
- {meilisearch_python_sdk-7.2.0 → meilisearch_python_sdk-7.2.2}/examples/requirements.txt +0 -0
- {meilisearch_python_sdk-7.2.0 → meilisearch_python_sdk-7.2.2}/examples/search_tracker.py +0 -0
- {meilisearch_python_sdk-7.2.0 → meilisearch_python_sdk-7.2.2}/examples/tests/__init__.py +0 -0
- {meilisearch_python_sdk-7.2.0 → meilisearch_python_sdk-7.2.2}/examples/tests/conftest.py +0 -0
- {meilisearch_python_sdk-7.2.0 → meilisearch_python_sdk-7.2.2}/examples/tests/test_async_examples.py +0 -0
- {meilisearch_python_sdk-7.2.0 → meilisearch_python_sdk-7.2.2}/examples/tests/test_examples.py +0 -0
- {meilisearch_python_sdk-7.2.0 → meilisearch_python_sdk-7.2.2}/examples/update_settings.py +0 -0
- {meilisearch_python_sdk-7.2.0 → meilisearch_python_sdk-7.2.2}/meilisearch_python_sdk/__init__.py +0 -0
- {meilisearch_python_sdk-7.2.0 → meilisearch_python_sdk-7.2.2}/meilisearch_python_sdk/_batch.py +0 -0
- {meilisearch_python_sdk-7.2.0 → meilisearch_python_sdk-7.2.2}/meilisearch_python_sdk/_client/__init__.py +0 -0
- {meilisearch_python_sdk-7.2.0 → meilisearch_python_sdk-7.2.2}/meilisearch_python_sdk/_client/_base_client.py +0 -0
- {meilisearch_python_sdk-7.2.0 → meilisearch_python_sdk-7.2.2}/meilisearch_python_sdk/_task.py +0 -0
- {meilisearch_python_sdk-7.2.0 → meilisearch_python_sdk-7.2.2}/meilisearch_python_sdk/_utils.py +0 -0
- {meilisearch_python_sdk-7.2.0 → meilisearch_python_sdk-7.2.2}/meilisearch_python_sdk/decorators.py +0 -0
- {meilisearch_python_sdk-7.2.0 → meilisearch_python_sdk-7.2.2}/meilisearch_python_sdk/errors.py +0 -0
- {meilisearch_python_sdk-7.2.0 → meilisearch_python_sdk-7.2.2}/meilisearch_python_sdk/index/__init__.py +0 -0
- {meilisearch_python_sdk-7.2.0 → meilisearch_python_sdk-7.2.2}/meilisearch_python_sdk/index/_common.py +0 -0
- {meilisearch_python_sdk-7.2.0 → meilisearch_python_sdk-7.2.2}/meilisearch_python_sdk/index/async_index.py +0 -0
- {meilisearch_python_sdk-7.2.0 → meilisearch_python_sdk-7.2.2}/meilisearch_python_sdk/index/index.py +0 -0
- {meilisearch_python_sdk-7.2.0 → meilisearch_python_sdk-7.2.2}/meilisearch_python_sdk/models/__init__.py +0 -0
- {meilisearch_python_sdk-7.2.0 → meilisearch_python_sdk-7.2.2}/meilisearch_python_sdk/models/batch.py +0 -0
- {meilisearch_python_sdk-7.2.0 → meilisearch_python_sdk-7.2.2}/meilisearch_python_sdk/models/client.py +0 -0
- {meilisearch_python_sdk-7.2.0 → meilisearch_python_sdk-7.2.2}/meilisearch_python_sdk/models/documents.py +0 -0
- {meilisearch_python_sdk-7.2.0 → meilisearch_python_sdk-7.2.2}/meilisearch_python_sdk/models/health.py +0 -0
- {meilisearch_python_sdk-7.2.0 → meilisearch_python_sdk-7.2.2}/meilisearch_python_sdk/models/index.py +0 -0
- {meilisearch_python_sdk-7.2.0 → meilisearch_python_sdk-7.2.2}/meilisearch_python_sdk/models/settings.py +0 -0
- {meilisearch_python_sdk-7.2.0 → meilisearch_python_sdk-7.2.2}/meilisearch_python_sdk/models/task.py +0 -0
- {meilisearch_python_sdk-7.2.0 → meilisearch_python_sdk-7.2.2}/meilisearch_python_sdk/models/version.py +0 -0
- {meilisearch_python_sdk-7.2.0 → meilisearch_python_sdk-7.2.2}/meilisearch_python_sdk/models/webhook.py +0 -0
- {meilisearch_python_sdk-7.2.0 → meilisearch_python_sdk-7.2.2}/meilisearch_python_sdk/plugins.py +0 -0
- {meilisearch_python_sdk-7.2.0 → meilisearch_python_sdk-7.2.2}/meilisearch_python_sdk/py.typed +0 -0
- {meilisearch_python_sdk-7.2.0 → meilisearch_python_sdk-7.2.2}/meilisearch_python_sdk/types.py +0 -0
- {meilisearch_python_sdk-7.2.0 → meilisearch_python_sdk-7.2.2}/mkdocs.yaml +0 -0
- {meilisearch_python_sdk-7.2.0 → meilisearch_python_sdk-7.2.2}/tests/__init__.py +0 -0
- {meilisearch_python_sdk-7.2.0 → meilisearch_python_sdk-7.2.2}/tests/test_async_client.py +0 -0
- {meilisearch_python_sdk-7.2.0 → meilisearch_python_sdk-7.2.2}/tests/test_async_documents.py +0 -0
- {meilisearch_python_sdk-7.2.0 → meilisearch_python_sdk-7.2.2}/tests/test_async_index.py +0 -0
- {meilisearch_python_sdk-7.2.0 → meilisearch_python_sdk-7.2.2}/tests/test_async_index_plugins.py +0 -0
- {meilisearch_python_sdk-7.2.0 → meilisearch_python_sdk-7.2.2}/tests/test_client.py +0 -0
- {meilisearch_python_sdk-7.2.0 → meilisearch_python_sdk-7.2.2}/tests/test_decorators.py +0 -0
- {meilisearch_python_sdk-7.2.0 → meilisearch_python_sdk-7.2.2}/tests/test_documents.py +0 -0
- {meilisearch_python_sdk-7.2.0 → meilisearch_python_sdk-7.2.2}/tests/test_errors.py +0 -0
- {meilisearch_python_sdk-7.2.0 → meilisearch_python_sdk-7.2.2}/tests/test_http_requests.py +0 -0
- {meilisearch_python_sdk-7.2.0 → meilisearch_python_sdk-7.2.2}/tests/test_index.py +0 -0
- {meilisearch_python_sdk-7.2.0 → meilisearch_python_sdk-7.2.2}/tests/test_index_plugins.py +0 -0
- {meilisearch_python_sdk-7.2.0 → meilisearch_python_sdk-7.2.2}/tests/test_settings_models.py +0 -0
- {meilisearch_python_sdk-7.2.0 → meilisearch_python_sdk-7.2.2}/tests/test_utils.py +0 -0
- {meilisearch_python_sdk-7.2.0 → meilisearch_python_sdk-7.2.2}/tests/test_version.py +0 -0
|
@@ -15,7 +15,7 @@ jobs:
|
|
|
15
15
|
- name: install Just
|
|
16
16
|
uses: taiki-e/install-action@just
|
|
17
17
|
- name: Install uv
|
|
18
|
-
uses: astral-sh/setup-uv@v8.
|
|
18
|
+
uses: astral-sh/setup-uv@v8.2.0
|
|
19
19
|
with:
|
|
20
20
|
enable-cache: true
|
|
21
21
|
- name: Set up Python
|
|
@@ -25,21 +25,21 @@ jobs:
|
|
|
25
25
|
allow-prereleases: true
|
|
26
26
|
- name: Install Dependencies
|
|
27
27
|
run: just install
|
|
28
|
-
- name:
|
|
29
|
-
run: just
|
|
28
|
+
- name: pyrefly check
|
|
29
|
+
run: just pyrefly
|
|
30
30
|
|
|
31
31
|
parallel-testing:
|
|
32
32
|
strategy:
|
|
33
33
|
fail-fast: false
|
|
34
34
|
matrix:
|
|
35
|
-
python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]
|
|
35
|
+
python-version: ["3.10", "3.11", "3.12", "3.13", "3.14", "3.15-dev"]
|
|
36
36
|
runs-on: ubuntu-latest
|
|
37
37
|
steps:
|
|
38
38
|
- uses: actions/checkout@v6
|
|
39
39
|
- name: install Just
|
|
40
40
|
uses: taiki-e/install-action@just
|
|
41
41
|
- name: Install uv
|
|
42
|
-
uses: astral-sh/setup-uv@v8.
|
|
42
|
+
uses: astral-sh/setup-uv@v8.2.0
|
|
43
43
|
with:
|
|
44
44
|
enable-cache: true
|
|
45
45
|
- name: Set up Python ${{ matrix.python-version }}
|
|
@@ -52,7 +52,7 @@ jobs:
|
|
|
52
52
|
- name: Test with pytest
|
|
53
53
|
run: just test-parallel-ci
|
|
54
54
|
- name: Upload coverage
|
|
55
|
-
uses: codecov/codecov-action@
|
|
55
|
+
uses: codecov/codecov-action@v7.0.0
|
|
56
56
|
env:
|
|
57
57
|
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
|
|
58
58
|
with:
|
|
@@ -62,14 +62,14 @@ jobs:
|
|
|
62
62
|
strategy:
|
|
63
63
|
fail-fast: false
|
|
64
64
|
matrix:
|
|
65
|
-
python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]
|
|
65
|
+
python-version: ["3.10", "3.11", "3.12", "3.13", "3.14", "3.15-dev"]
|
|
66
66
|
runs-on: ubuntu-latest
|
|
67
67
|
steps:
|
|
68
68
|
- uses: actions/checkout@v6
|
|
69
69
|
- name: install Just
|
|
70
70
|
uses: taiki-e/install-action@just
|
|
71
71
|
- name: Install uv
|
|
72
|
-
uses: astral-sh/setup-uv@v8.
|
|
72
|
+
uses: astral-sh/setup-uv@v8.2.0
|
|
73
73
|
with:
|
|
74
74
|
enable-cache: true
|
|
75
75
|
- name: Set up Python ${{ matrix.python-version }}
|
|
@@ -93,7 +93,7 @@ jobs:
|
|
|
93
93
|
- name: Test with pytest
|
|
94
94
|
run: just test-parallel-ci-http2
|
|
95
95
|
- name: Upload coverage
|
|
96
|
-
uses: codecov/codecov-action@
|
|
96
|
+
uses: codecov/codecov-action@v7.0.0
|
|
97
97
|
env:
|
|
98
98
|
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
|
|
99
99
|
with:
|
|
@@ -103,14 +103,14 @@ jobs:
|
|
|
103
103
|
strategy:
|
|
104
104
|
fail-fast: false
|
|
105
105
|
matrix:
|
|
106
|
-
python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]
|
|
106
|
+
python-version: ["3.10", "3.11", "3.12", "3.13", "3.14", "3.15-dev"]
|
|
107
107
|
runs-on: ubuntu-latest
|
|
108
108
|
steps:
|
|
109
109
|
- uses: actions/checkout@v6
|
|
110
110
|
- name: install Just
|
|
111
111
|
uses: taiki-e/install-action@just
|
|
112
112
|
- name: Install uv
|
|
113
|
-
uses: astral-sh/setup-uv@v8.
|
|
113
|
+
uses: astral-sh/setup-uv@v8.2.0
|
|
114
114
|
with:
|
|
115
115
|
enable-cache: true
|
|
116
116
|
- name: Set up Python ${{ matrix.python-version }}
|
|
@@ -123,7 +123,7 @@ jobs:
|
|
|
123
123
|
- name: Test with pytest
|
|
124
124
|
run: just test-no-parallel-ci
|
|
125
125
|
- name: Upload coverage
|
|
126
|
-
uses: codecov/codecov-action@
|
|
126
|
+
uses: codecov/codecov-action@v7.0.0
|
|
127
127
|
env:
|
|
128
128
|
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
|
|
129
129
|
with:
|
|
@@ -133,14 +133,14 @@ jobs:
|
|
|
133
133
|
strategy:
|
|
134
134
|
fail-fast: false
|
|
135
135
|
matrix:
|
|
136
|
-
python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]
|
|
136
|
+
python-version: ["3.10", "3.11", "3.12", "3.13", "3.14", "3.15-dev"]
|
|
137
137
|
runs-on: ubuntu-latest
|
|
138
138
|
steps:
|
|
139
139
|
- uses: actions/checkout@v6
|
|
140
140
|
- name: install Just
|
|
141
141
|
uses: taiki-e/install-action@just
|
|
142
142
|
- name: Install uv
|
|
143
|
-
uses: astral-sh/setup-uv@v8.
|
|
143
|
+
uses: astral-sh/setup-uv@v8.2.0
|
|
144
144
|
with:
|
|
145
145
|
enable-cache: true
|
|
146
146
|
- name: Set up Python ${{ matrix.python-version }}
|
|
@@ -164,7 +164,7 @@ jobs:
|
|
|
164
164
|
- name: Test with pytest
|
|
165
165
|
run: just test-no-parallel-ci-http2
|
|
166
166
|
- name: Upload coverage
|
|
167
|
-
uses: codecov/codecov-action@
|
|
167
|
+
uses: codecov/codecov-action@v7.0.0
|
|
168
168
|
env:
|
|
169
169
|
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
|
|
170
170
|
with:
|
|
@@ -173,7 +173,7 @@ jobs:
|
|
|
173
173
|
strategy:
|
|
174
174
|
fail-fast: false
|
|
175
175
|
matrix:
|
|
176
|
-
python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]
|
|
176
|
+
python-version: ["3.10", "3.11", "3.12", "3.13", "3.14", "3.15-dev"]
|
|
177
177
|
runs-on: ubuntu-latest
|
|
178
178
|
steps:
|
|
179
179
|
- uses: actions/checkout@v6
|
|
@@ -195,7 +195,7 @@ jobs:
|
|
|
195
195
|
- name: install Just
|
|
196
196
|
uses: taiki-e/install-action@just
|
|
197
197
|
- name: Install uv
|
|
198
|
-
uses: astral-sh/setup-uv@v8.
|
|
198
|
+
uses: astral-sh/setup-uv@v8.2.0
|
|
199
199
|
with:
|
|
200
200
|
enable-cache: true
|
|
201
201
|
- name: Set up Python
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
ci:
|
|
2
|
+
skip: [pyrefly-check]
|
|
3
|
+
|
|
1
4
|
repos:
|
|
2
5
|
- repo: https://github.com/pre-commit/pre-commit-hooks
|
|
3
6
|
rev: v6.0.0
|
|
@@ -8,17 +11,20 @@ repos:
|
|
|
8
11
|
- id: debug-statements
|
|
9
12
|
- id: end-of-file-fixer
|
|
10
13
|
- id: trailing-whitespace
|
|
11
|
-
- repo: https://github.com/pre-commit
|
|
12
|
-
rev:
|
|
14
|
+
- repo: https://github.com/facebook/pyrefly-pre-commit
|
|
15
|
+
rev: 1.1.0
|
|
13
16
|
hooks:
|
|
14
|
-
- id:
|
|
15
|
-
|
|
17
|
+
- id: pyrefly-check
|
|
18
|
+
name: pyrefly
|
|
19
|
+
pass_filenames: false # Pyrefly recommendeds doing full repo checks
|
|
20
|
+
language: system
|
|
21
|
+
entry: uv run pyrefly check
|
|
16
22
|
- repo: https://github.com/astral-sh/ruff-pre-commit
|
|
17
|
-
rev: v0.15.
|
|
23
|
+
rev: v0.15.17
|
|
18
24
|
hooks:
|
|
19
25
|
- id: ruff-check
|
|
20
26
|
args: [--fix, --exit-non-zero-on-fix]
|
|
21
27
|
- repo: https://github.com/rvben/rumdl-pre-commit
|
|
22
|
-
rev: v0.2.
|
|
28
|
+
rev: v0.2.18
|
|
23
29
|
hooks:
|
|
24
30
|
- id: rumdl-fmt
|
|
@@ -76,10 +76,10 @@ git checkout main
|
|
|
76
76
|
git pull upstream main --ff-only
|
|
77
77
|
```
|
|
78
78
|
|
|
79
|
-
### Code Standards and tests (ruff,
|
|
79
|
+
### Code Standards and tests (ruff, pyrefly, pytest, and prek)
|
|
80
80
|
|
|
81
81
|
meilisearch-python-sdk uses [ruff](https://github.com/charliermarsh/ruff), and
|
|
82
|
-
[
|
|
82
|
+
[pyrefly](https://pyrefly.org/) to ensure consistent code formatting.
|
|
83
83
|
|
|
84
84
|
You can run linting on your code at any time with:
|
|
85
85
|
|
|
@@ -90,8 +90,8 @@ uv run ruff format meilisearch_python_sdk tests
|
|
|
90
90
|
# Run ruff linting
|
|
91
91
|
uv run ruff check .
|
|
92
92
|
|
|
93
|
-
# Run
|
|
94
|
-
uv run
|
|
93
|
+
# Run pyrefly
|
|
94
|
+
uv run pyrefly
|
|
95
95
|
```
|
|
96
96
|
|
|
97
97
|
It is also suggested that you setup [prek](https://github.com/j178/prek) in order to run linting
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: meilisearch-python-sdk
|
|
3
|
-
Version: 7.2.
|
|
3
|
+
Version: 7.2.2
|
|
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
|
|
@@ -2,15 +2,15 @@
|
|
|
2
2
|
just --list
|
|
3
3
|
|
|
4
4
|
@lint:
|
|
5
|
-
echo
|
|
6
|
-
just --justfile {{justfile()}}
|
|
5
|
+
echo pyrefly
|
|
6
|
+
just --justfile {{justfile()}} pyrefly
|
|
7
7
|
echo ruff
|
|
8
8
|
just --justfile {{justfile()}} ruff
|
|
9
9
|
echo ruff-format
|
|
10
10
|
just --justfile {{justfile()}} ruff-format
|
|
11
11
|
|
|
12
|
-
@
|
|
13
|
-
uv run
|
|
12
|
+
@pyrefly:
|
|
13
|
+
uv run pyrefly check
|
|
14
14
|
|
|
15
15
|
@ruff:
|
|
16
16
|
uv run ruff check .
|
|
@@ -77,7 +77,7 @@ class AsyncHttpRequests:
|
|
|
77
77
|
raise MeilisearchCommunicationError(str(err)) from err
|
|
78
78
|
except HTTPError as err:
|
|
79
79
|
if "response" in locals():
|
|
80
|
-
if "application/json" in response.headers.get("content-type", ""):
|
|
80
|
+
if "application/json" in response.headers.get("content-type", ""): # pyrefly: ignore[unbound-name]
|
|
81
81
|
raise MeilisearchApiError(str(err), response) from err
|
|
82
82
|
else:
|
|
83
83
|
raise
|
|
@@ -165,7 +165,7 @@ class HttpRequests:
|
|
|
165
165
|
raise MeilisearchCommunicationError(str(err)) from err
|
|
166
166
|
except HTTPError as err:
|
|
167
167
|
if "response" in locals():
|
|
168
|
-
if "application/json" in response.headers.get("content-type", ""):
|
|
168
|
+
if "application/json" in response.headers.get("content-type", ""): # pyrefly: ignore[unbound-name]
|
|
169
169
|
raise MeilisearchApiError(str(err), response) from err
|
|
170
170
|
else:
|
|
171
171
|
raise
|
|
@@ -207,6 +207,7 @@ class HttpRequests:
|
|
|
207
207
|
return self._send_request(self.http_client.delete, path, body)
|
|
208
208
|
|
|
209
209
|
|
|
210
|
+
@lru_cache(maxsize=4)
|
|
210
211
|
def build_headers(content_type: str, compress: bool) -> dict[str, str]:
|
|
211
212
|
headers = {"user-agent": user_agent(), "Content-Type": content_type}
|
|
212
213
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
VERSION = "7.2.2"
|
{meilisearch_python_sdk-7.2.0 → meilisearch_python_sdk-7.2.2}/meilisearch_python_sdk/json_handler.py
RENAMED
|
@@ -56,12 +56,12 @@ class OrjsonHandler(_JsonHandler):
|
|
|
56
56
|
|
|
57
57
|
@staticmethod
|
|
58
58
|
def dumps(obj: Any) -> str: # noqa: ANN401
|
|
59
|
-
return orjson.dumps(obj).decode("utf-8")
|
|
59
|
+
return orjson.dumps(obj).decode("utf-8") # pyrefly: ignore[missing-attribute]
|
|
60
60
|
|
|
61
61
|
@staticmethod
|
|
62
62
|
def dump_bytes(obj: Any) -> bytes: # noqa: ANN401
|
|
63
|
-
return orjson.dumps(obj)
|
|
63
|
+
return orjson.dumps(obj) # pyrefly: ignore[missing-attribute]
|
|
64
64
|
|
|
65
65
|
@staticmethod
|
|
66
66
|
def loads(json_string: str | bytes | bytearray) -> Any: # noqa: ANN401
|
|
67
|
-
return orjson.loads(json_string)
|
|
67
|
+
return orjson.loads(json_string) # pyrefly: ignore[missing-attribute]
|
|
@@ -42,9 +42,14 @@ class FederationMerged(Federation):
|
|
|
42
42
|
merge_facets: MergeFacets | None
|
|
43
43
|
|
|
44
44
|
|
|
45
|
+
class FederationOptions(CamelBase):
|
|
46
|
+
weight: float
|
|
47
|
+
|
|
48
|
+
|
|
45
49
|
class SearchParams(CamelBase):
|
|
46
50
|
index_uid: str
|
|
47
51
|
query: str | None = Field(None, alias="q")
|
|
52
|
+
federation_options: FederationOptions | None = None
|
|
48
53
|
offset: int = 0
|
|
49
54
|
limit: int = 20
|
|
50
55
|
filter: Filter | None = None
|
|
@@ -37,16 +37,16 @@ all = ["orjson"]
|
|
|
37
37
|
[dependency-groups]
|
|
38
38
|
dev = [
|
|
39
39
|
"mkdocstrings[python]==1.0.4",
|
|
40
|
-
"
|
|
41
|
-
"pytest==9.0.3",
|
|
40
|
+
"pytest==9.1.0",
|
|
42
41
|
"pytest-cov==7.1.0",
|
|
43
42
|
"pytest-asyncio==1.4.0",
|
|
44
43
|
"pytest-xdist==3.8.0",
|
|
45
|
-
"prek
|
|
46
|
-
"ruff==0.15.
|
|
44
|
+
"prek==0.4.5",
|
|
45
|
+
"ruff==0.15.17",
|
|
47
46
|
"types-aiofiles==25.1.0.20260518",
|
|
48
47
|
"typing-extensions==4.15.0",
|
|
49
|
-
"zensical
|
|
48
|
+
"zensical==0.0.45",
|
|
49
|
+
"pyrefly>=1.1.0",
|
|
50
50
|
]
|
|
51
51
|
|
|
52
52
|
[tool.hatch.version]
|
|
@@ -68,18 +68,16 @@ markers = ["no_parallel"]
|
|
|
68
68
|
[tool.coverage.report]
|
|
69
69
|
exclude_lines = ["if __name__ == .__main__.:", "if TYPE_CHECKING:", "pragma: no cover"]
|
|
70
70
|
|
|
71
|
-
[tool.
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
[
|
|
77
|
-
module = ["tests.*", "examples/tests.*"]
|
|
78
|
-
disallow_untyped_defs = false
|
|
71
|
+
[tool.pyrefly]
|
|
72
|
+
ignore-missing-imports = [
|
|
73
|
+
"aiocache.*",
|
|
74
|
+
"truststore.*",
|
|
75
|
+
]
|
|
76
|
+
project-excludes = ["examples/**"]
|
|
79
77
|
|
|
80
|
-
[[tool.
|
|
81
|
-
|
|
82
|
-
|
|
78
|
+
[[tool.pyrefly.sub-config]]
|
|
79
|
+
matches = "tests/**"
|
|
80
|
+
check-unannotated-defs = false
|
|
83
81
|
|
|
84
82
|
[tool.ruff]
|
|
85
83
|
line-length = 100
|
|
@@ -12,6 +12,7 @@ from meilisearch_python_sdk.errors import MeilisearchApiError, MeilisearchError
|
|
|
12
12
|
from meilisearch_python_sdk.models.search import (
|
|
13
13
|
Federation,
|
|
14
14
|
FederationMerged,
|
|
15
|
+
FederationOptions,
|
|
15
16
|
Hybrid,
|
|
16
17
|
MergeFacets,
|
|
17
18
|
SearchParams,
|
|
@@ -436,6 +437,30 @@ async def test_multi_search_federated_with_distinct(
|
|
|
436
437
|
assert "_federation" in response.hits[0]
|
|
437
438
|
|
|
438
439
|
|
|
440
|
+
async def test_multi_search_with_federation_options(
|
|
441
|
+
async_client, async_index_with_documents, async_empty_index
|
|
442
|
+
):
|
|
443
|
+
index1 = await async_index_with_documents()
|
|
444
|
+
index2 = await async_empty_index()
|
|
445
|
+
response = await async_client.multi_search(
|
|
446
|
+
[
|
|
447
|
+
SearchParams(
|
|
448
|
+
index_uid=index1.uid,
|
|
449
|
+
query="How to Train Your Dragon",
|
|
450
|
+
federation_options=FederationOptions(weight=0.9),
|
|
451
|
+
),
|
|
452
|
+
SearchParams(
|
|
453
|
+
index_uid=index2.uid, query="", federation_options=FederationOptions(weight=0.1)
|
|
454
|
+
),
|
|
455
|
+
],
|
|
456
|
+
federation=Federation(),
|
|
457
|
+
)
|
|
458
|
+
|
|
459
|
+
assert response.hits[0]["id"] == "166428"
|
|
460
|
+
assert "_formatted" not in response.hits[0]
|
|
461
|
+
assert "_federation" in response.hits[0]
|
|
462
|
+
|
|
463
|
+
|
|
439
464
|
async def test_multi_search_federated_facets_by_index(
|
|
440
465
|
async_client, async_index_with_documents, async_empty_index
|
|
441
466
|
):
|
|
@@ -12,6 +12,7 @@ from meilisearch_python_sdk.errors import MeilisearchApiError, MeilisearchError
|
|
|
12
12
|
from meilisearch_python_sdk.models.search import (
|
|
13
13
|
Federation,
|
|
14
14
|
FederationMerged,
|
|
15
|
+
FederationOptions,
|
|
15
16
|
Hybrid,
|
|
16
17
|
MergeFacets,
|
|
17
18
|
SearchParams,
|
|
@@ -432,6 +433,30 @@ async def test_multi_search_federated_with_distinct(client, index_with_documents
|
|
|
432
433
|
assert "_federation" in response.hits[0]
|
|
433
434
|
|
|
434
435
|
|
|
436
|
+
def test_multi_search_with_federation_options(client, index_with_documents, empty_index):
|
|
437
|
+
index1 = index_with_documents()
|
|
438
|
+
index2 = empty_index()
|
|
439
|
+
response = client.multi_search(
|
|
440
|
+
[
|
|
441
|
+
SearchParams(
|
|
442
|
+
index_uid=index1.uid,
|
|
443
|
+
query="How to Train Your Dragon",
|
|
444
|
+
federation_options=FederationOptions(weight=0.9),
|
|
445
|
+
),
|
|
446
|
+
SearchParams(
|
|
447
|
+
index_uid=index2.uid,
|
|
448
|
+
query="",
|
|
449
|
+
federation_options=FederationOptions(weight=0.1),
|
|
450
|
+
),
|
|
451
|
+
],
|
|
452
|
+
federation=Federation(),
|
|
453
|
+
)
|
|
454
|
+
|
|
455
|
+
assert response.hits[0]["id"] == "166428"
|
|
456
|
+
assert "_formatted" not in response.hits[0]
|
|
457
|
+
assert "_federation" in response.hits[0]
|
|
458
|
+
|
|
459
|
+
|
|
435
460
|
def test_multi_search_federated_merge_facets(
|
|
436
461
|
client,
|
|
437
462
|
index_with_documents,
|