meilisearch-python-sdk 7.2.1__tar.gz → 7.2.3__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.3/.github/release-draft-template.yaml +24 -0
- {meilisearch_python_sdk-7.2.1 → meilisearch_python_sdk-7.2.3}/.github/workflows/docs_publish.yml +2 -2
- {meilisearch_python_sdk-7.2.1 → meilisearch_python_sdk-7.2.3}/.github/workflows/nightly_testing.yml +2 -2
- {meilisearch_python_sdk-7.2.1 → meilisearch_python_sdk-7.2.3}/.github/workflows/pypi_publish.yml +2 -2
- {meilisearch_python_sdk-7.2.1 → meilisearch_python_sdk-7.2.3}/.github/workflows/testing.yml +24 -24
- {meilisearch_python_sdk-7.2.1 → meilisearch_python_sdk-7.2.3}/.pre-commit-config.yaml +12 -6
- {meilisearch_python_sdk-7.2.1 → meilisearch_python_sdk-7.2.3}/CONTRIBUTING.md +4 -4
- {meilisearch_python_sdk-7.2.1 → meilisearch_python_sdk-7.2.3}/PKG-INFO +1 -1
- {meilisearch_python_sdk-7.2.1 → meilisearch_python_sdk-7.2.3}/docker-compose.https.yml +1 -1
- {meilisearch_python_sdk-7.2.1 → meilisearch_python_sdk-7.2.3}/docker-compose.yml +1 -1
- {meilisearch_python_sdk-7.2.1 → meilisearch_python_sdk-7.2.3}/justfile +4 -4
- {meilisearch_python_sdk-7.2.1 → meilisearch_python_sdk-7.2.3}/meilisearch_python_sdk/_client/_async_client.py +1 -1
- {meilisearch_python_sdk-7.2.1 → meilisearch_python_sdk-7.2.3}/meilisearch_python_sdk/_client/_client.py +1 -1
- {meilisearch_python_sdk-7.2.1 → meilisearch_python_sdk-7.2.3}/meilisearch_python_sdk/_http_requests.py +3 -2
- meilisearch_python_sdk-7.2.3/meilisearch_python_sdk/_version.py +1 -0
- {meilisearch_python_sdk-7.2.1 → meilisearch_python_sdk-7.2.3}/meilisearch_python_sdk/errors.py +8 -1
- {meilisearch_python_sdk-7.2.1 → meilisearch_python_sdk-7.2.3}/meilisearch_python_sdk/json_handler.py +3 -3
- {meilisearch_python_sdk-7.2.1 → meilisearch_python_sdk-7.2.3}/pyproject.toml +14 -17
- {meilisearch_python_sdk-7.2.1 → meilisearch_python_sdk-7.2.3}/tests/conftest.py +1 -1
- {meilisearch_python_sdk-7.2.1 → meilisearch_python_sdk-7.2.3}/tests/test_errors.py +20 -0
- {meilisearch_python_sdk-7.2.1 → meilisearch_python_sdk-7.2.3}/uv.lock +207 -404
- meilisearch_python_sdk-7.2.1/.github/release-draft-template.yaml +0 -30
- meilisearch_python_sdk-7.2.1/meilisearch_python_sdk/_version.py +0 -1
- {meilisearch_python_sdk-7.2.1 → meilisearch_python_sdk-7.2.3}/.github/FUNDING.yml +0 -0
- {meilisearch_python_sdk-7.2.1 → meilisearch_python_sdk-7.2.3}/.github/renovate.json5 +0 -0
- {meilisearch_python_sdk-7.2.1 → meilisearch_python_sdk-7.2.3}/.github/workflows/release-drafter.yml +0 -0
- {meilisearch_python_sdk-7.2.1 → meilisearch_python_sdk-7.2.3}/.gitignore +0 -0
- {meilisearch_python_sdk-7.2.1 → meilisearch_python_sdk-7.2.3}/LICENSE +0 -0
- {meilisearch_python_sdk-7.2.1 → meilisearch_python_sdk-7.2.3}/README.md +0 -0
- {meilisearch_python_sdk-7.2.1 → meilisearch_python_sdk-7.2.3}/assets/add_in_batches.png +0 -0
- {meilisearch_python_sdk-7.2.1 → meilisearch_python_sdk-7.2.3}/assets/searches.png +0 -0
- {meilisearch_python_sdk-7.2.1 → meilisearch_python_sdk-7.2.3}/codecov.yml +0 -0
- {meilisearch_python_sdk-7.2.1 → meilisearch_python_sdk-7.2.3}/datasets/small_movies.json +0 -0
- {meilisearch_python_sdk-7.2.1 → meilisearch_python_sdk-7.2.3}/docs/.nojekyll +0 -0
- {meilisearch_python_sdk-7.2.1 → meilisearch_python_sdk-7.2.3}/docs/CNAME +0 -0
- {meilisearch_python_sdk-7.2.1 → meilisearch_python_sdk-7.2.3}/docs/async_client_api.md +0 -0
- {meilisearch_python_sdk-7.2.1 → meilisearch_python_sdk-7.2.3}/docs/async_index_api.md +0 -0
- {meilisearch_python_sdk-7.2.1 → meilisearch_python_sdk-7.2.3}/docs/client_api.md +0 -0
- {meilisearch_python_sdk-7.2.1 → meilisearch_python_sdk-7.2.3}/docs/css/custom.css +0 -0
- {meilisearch_python_sdk-7.2.1 → meilisearch_python_sdk-7.2.3}/docs/decorators_api.md +0 -0
- {meilisearch_python_sdk-7.2.1 → meilisearch_python_sdk-7.2.3}/docs/index.md +0 -0
- {meilisearch_python_sdk-7.2.1 → meilisearch_python_sdk-7.2.3}/docs/index_api.md +0 -0
- {meilisearch_python_sdk-7.2.1 → meilisearch_python_sdk-7.2.3}/docs/js/umami.js +0 -0
- {meilisearch_python_sdk-7.2.1 → meilisearch_python_sdk-7.2.3}/docs/json_handler.md +0 -0
- {meilisearch_python_sdk-7.2.1 → meilisearch_python_sdk-7.2.3}/docs/overrides/partials/footer.html +0 -0
- {meilisearch_python_sdk-7.2.1 → meilisearch_python_sdk-7.2.3}/docs/plugins.md +0 -0
- {meilisearch_python_sdk-7.2.1 → meilisearch_python_sdk-7.2.3}/docs/pydantic.md +0 -0
- {meilisearch_python_sdk-7.2.1 → meilisearch_python_sdk-7.2.3}/examples/.gitignore +0 -0
- {meilisearch_python_sdk-7.2.1 → meilisearch_python_sdk-7.2.3}/examples/README.md +0 -0
- {meilisearch_python_sdk-7.2.1 → meilisearch_python_sdk-7.2.3}/examples/__init__.py +0 -0
- {meilisearch_python_sdk-7.2.1 → meilisearch_python_sdk-7.2.3}/examples/add_documents_decorator.py +0 -0
- {meilisearch_python_sdk-7.2.1 → meilisearch_python_sdk-7.2.3}/examples/add_documents_in_batches.py +0 -0
- {meilisearch_python_sdk-7.2.1 → meilisearch_python_sdk-7.2.3}/examples/async_add_documents_decorator.py +0 -0
- {meilisearch_python_sdk-7.2.1 → meilisearch_python_sdk-7.2.3}/examples/async_add_documents_in_batches.py +0 -0
- {meilisearch_python_sdk-7.2.1 → meilisearch_python_sdk-7.2.3}/examples/async_documents_and_search_results.py +0 -0
- {meilisearch_python_sdk-7.2.1 → meilisearch_python_sdk-7.2.3}/examples/async_search_tracker.py +0 -0
- {meilisearch_python_sdk-7.2.1 → meilisearch_python_sdk-7.2.3}/examples/async_update_settings.py +0 -0
- {meilisearch_python_sdk-7.2.1 → meilisearch_python_sdk-7.2.3}/examples/documents_and_search_results.py +0 -0
- {meilisearch_python_sdk-7.2.1 → meilisearch_python_sdk-7.2.3}/examples/fastapi_example.py +0 -0
- {meilisearch_python_sdk-7.2.1 → meilisearch_python_sdk-7.2.3}/examples/orjson_example.py +0 -0
- {meilisearch_python_sdk-7.2.1 → meilisearch_python_sdk-7.2.3}/examples/pyproject.toml +0 -0
- {meilisearch_python_sdk-7.2.1 → meilisearch_python_sdk-7.2.3}/examples/requirements.txt +0 -0
- {meilisearch_python_sdk-7.2.1 → meilisearch_python_sdk-7.2.3}/examples/search_tracker.py +0 -0
- {meilisearch_python_sdk-7.2.1 → meilisearch_python_sdk-7.2.3}/examples/tests/__init__.py +0 -0
- {meilisearch_python_sdk-7.2.1 → meilisearch_python_sdk-7.2.3}/examples/tests/conftest.py +0 -0
- {meilisearch_python_sdk-7.2.1 → meilisearch_python_sdk-7.2.3}/examples/tests/test_async_examples.py +0 -0
- {meilisearch_python_sdk-7.2.1 → meilisearch_python_sdk-7.2.3}/examples/tests/test_examples.py +0 -0
- {meilisearch_python_sdk-7.2.1 → meilisearch_python_sdk-7.2.3}/examples/update_settings.py +0 -0
- {meilisearch_python_sdk-7.2.1 → meilisearch_python_sdk-7.2.3}/meilisearch_python_sdk/__init__.py +0 -0
- {meilisearch_python_sdk-7.2.1 → meilisearch_python_sdk-7.2.3}/meilisearch_python_sdk/_batch.py +0 -0
- {meilisearch_python_sdk-7.2.1 → meilisearch_python_sdk-7.2.3}/meilisearch_python_sdk/_client/__init__.py +0 -0
- {meilisearch_python_sdk-7.2.1 → meilisearch_python_sdk-7.2.3}/meilisearch_python_sdk/_client/_base_client.py +0 -0
- {meilisearch_python_sdk-7.2.1 → meilisearch_python_sdk-7.2.3}/meilisearch_python_sdk/_client/_common.py +0 -0
- {meilisearch_python_sdk-7.2.1 → meilisearch_python_sdk-7.2.3}/meilisearch_python_sdk/_task.py +0 -0
- {meilisearch_python_sdk-7.2.1 → meilisearch_python_sdk-7.2.3}/meilisearch_python_sdk/_utils.py +0 -0
- {meilisearch_python_sdk-7.2.1 → meilisearch_python_sdk-7.2.3}/meilisearch_python_sdk/decorators.py +0 -0
- {meilisearch_python_sdk-7.2.1 → meilisearch_python_sdk-7.2.3}/meilisearch_python_sdk/index/__init__.py +0 -0
- {meilisearch_python_sdk-7.2.1 → meilisearch_python_sdk-7.2.3}/meilisearch_python_sdk/index/_common.py +0 -0
- {meilisearch_python_sdk-7.2.1 → meilisearch_python_sdk-7.2.3}/meilisearch_python_sdk/index/async_index.py +0 -0
- {meilisearch_python_sdk-7.2.1 → meilisearch_python_sdk-7.2.3}/meilisearch_python_sdk/index/index.py +0 -0
- {meilisearch_python_sdk-7.2.1 → meilisearch_python_sdk-7.2.3}/meilisearch_python_sdk/models/__init__.py +0 -0
- {meilisearch_python_sdk-7.2.1 → meilisearch_python_sdk-7.2.3}/meilisearch_python_sdk/models/batch.py +0 -0
- {meilisearch_python_sdk-7.2.1 → meilisearch_python_sdk-7.2.3}/meilisearch_python_sdk/models/client.py +0 -0
- {meilisearch_python_sdk-7.2.1 → meilisearch_python_sdk-7.2.3}/meilisearch_python_sdk/models/documents.py +0 -0
- {meilisearch_python_sdk-7.2.1 → meilisearch_python_sdk-7.2.3}/meilisearch_python_sdk/models/health.py +0 -0
- {meilisearch_python_sdk-7.2.1 → meilisearch_python_sdk-7.2.3}/meilisearch_python_sdk/models/index.py +0 -0
- {meilisearch_python_sdk-7.2.1 → meilisearch_python_sdk-7.2.3}/meilisearch_python_sdk/models/search.py +0 -0
- {meilisearch_python_sdk-7.2.1 → meilisearch_python_sdk-7.2.3}/meilisearch_python_sdk/models/settings.py +0 -0
- {meilisearch_python_sdk-7.2.1 → meilisearch_python_sdk-7.2.3}/meilisearch_python_sdk/models/task.py +0 -0
- {meilisearch_python_sdk-7.2.1 → meilisearch_python_sdk-7.2.3}/meilisearch_python_sdk/models/version.py +0 -0
- {meilisearch_python_sdk-7.2.1 → meilisearch_python_sdk-7.2.3}/meilisearch_python_sdk/models/webhook.py +0 -0
- {meilisearch_python_sdk-7.2.1 → meilisearch_python_sdk-7.2.3}/meilisearch_python_sdk/plugins.py +0 -0
- {meilisearch_python_sdk-7.2.1 → meilisearch_python_sdk-7.2.3}/meilisearch_python_sdk/py.typed +0 -0
- {meilisearch_python_sdk-7.2.1 → meilisearch_python_sdk-7.2.3}/meilisearch_python_sdk/types.py +0 -0
- {meilisearch_python_sdk-7.2.1 → meilisearch_python_sdk-7.2.3}/mkdocs.yaml +0 -0
- {meilisearch_python_sdk-7.2.1 → meilisearch_python_sdk-7.2.3}/tests/__init__.py +0 -0
- {meilisearch_python_sdk-7.2.1 → meilisearch_python_sdk-7.2.3}/tests/test_async_client.py +0 -0
- {meilisearch_python_sdk-7.2.1 → meilisearch_python_sdk-7.2.3}/tests/test_async_documents.py +0 -0
- {meilisearch_python_sdk-7.2.1 → meilisearch_python_sdk-7.2.3}/tests/test_async_index.py +0 -0
- {meilisearch_python_sdk-7.2.1 → meilisearch_python_sdk-7.2.3}/tests/test_async_index_plugins.py +0 -0
- {meilisearch_python_sdk-7.2.1 → meilisearch_python_sdk-7.2.3}/tests/test_async_search.py +0 -0
- {meilisearch_python_sdk-7.2.1 → meilisearch_python_sdk-7.2.3}/tests/test_client.py +0 -0
- {meilisearch_python_sdk-7.2.1 → meilisearch_python_sdk-7.2.3}/tests/test_decorators.py +0 -0
- {meilisearch_python_sdk-7.2.1 → meilisearch_python_sdk-7.2.3}/tests/test_documents.py +0 -0
- {meilisearch_python_sdk-7.2.1 → meilisearch_python_sdk-7.2.3}/tests/test_http_requests.py +0 -0
- {meilisearch_python_sdk-7.2.1 → meilisearch_python_sdk-7.2.3}/tests/test_index.py +0 -0
- {meilisearch_python_sdk-7.2.1 → meilisearch_python_sdk-7.2.3}/tests/test_index_plugins.py +0 -0
- {meilisearch_python_sdk-7.2.1 → meilisearch_python_sdk-7.2.3}/tests/test_search.py +0 -0
- {meilisearch_python_sdk-7.2.1 → meilisearch_python_sdk-7.2.3}/tests/test_settings_models.py +0 -0
- {meilisearch_python_sdk-7.2.1 → meilisearch_python_sdk-7.2.3}/tests/test_utils.py +0 -0
- {meilisearch_python_sdk-7.2.1 → meilisearch_python_sdk-7.2.3}/tests/test_version.py +0 -0
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
name-template: "v$RESOLVED_VERSION"
|
|
2
|
+
tag-template: "v$RESOLVED_VERSION"
|
|
3
|
+
categories:
|
|
4
|
+
- type: "pre-exclude"
|
|
5
|
+
when:
|
|
6
|
+
labels:
|
|
7
|
+
- "dependencies"
|
|
8
|
+
- "skip-changelog"
|
|
9
|
+
- title: "⚠️ Breaking changes"
|
|
10
|
+
semver-increment: "major"
|
|
11
|
+
when:
|
|
12
|
+
label: "breaking-change"
|
|
13
|
+
- title: "Features"
|
|
14
|
+
semver-increment: "minor"
|
|
15
|
+
when:
|
|
16
|
+
label: "enhancement"
|
|
17
|
+
- title: "Bug Fixes"
|
|
18
|
+
when:
|
|
19
|
+
label: "bug"
|
|
20
|
+
change-template: "- $TITLE @$AUTHOR (#$NUMBER)"
|
|
21
|
+
template: |
|
|
22
|
+
## Changes
|
|
23
|
+
|
|
24
|
+
$CHANGES
|
{meilisearch_python_sdk-7.2.1 → meilisearch_python_sdk-7.2.3}/.github/workflows/docs_publish.yml
RENAMED
|
@@ -14,9 +14,9 @@ jobs:
|
|
|
14
14
|
runs-on: ubuntu-latest
|
|
15
15
|
environment: github-pages
|
|
16
16
|
steps:
|
|
17
|
-
- uses: actions/checkout@
|
|
17
|
+
- uses: actions/checkout@v7
|
|
18
18
|
- name: Install uv
|
|
19
|
-
uses: astral-sh/setup-uv@v8.
|
|
19
|
+
uses: astral-sh/setup-uv@v8.2.0
|
|
20
20
|
with:
|
|
21
21
|
enable-cache: true
|
|
22
22
|
- name: Set up Python
|
{meilisearch_python_sdk-7.2.1 → meilisearch_python_sdk-7.2.3}/.github/workflows/nightly_testing.yml
RENAMED
|
@@ -12,9 +12,9 @@ jobs:
|
|
|
12
12
|
fail-fast: false
|
|
13
13
|
runs-on: ubuntu-latest
|
|
14
14
|
steps:
|
|
15
|
-
- uses: actions/checkout@
|
|
15
|
+
- uses: actions/checkout@v7
|
|
16
16
|
- name: Install uv
|
|
17
|
-
uses: astral-sh/setup-uv@v8.
|
|
17
|
+
uses: astral-sh/setup-uv@v8.2.0
|
|
18
18
|
with:
|
|
19
19
|
enable-cache: true
|
|
20
20
|
- name: install Just
|
{meilisearch_python_sdk-7.2.1 → meilisearch_python_sdk-7.2.3}/.github/workflows/pypi_publish.yml
RENAMED
|
@@ -12,9 +12,9 @@ jobs:
|
|
|
12
12
|
# For PyPI's trusted publishing.
|
|
13
13
|
id-token: write
|
|
14
14
|
steps:
|
|
15
|
-
- uses: actions/checkout@
|
|
15
|
+
- uses: actions/checkout@v7
|
|
16
16
|
- name: Install uv
|
|
17
|
-
uses: astral-sh/setup-uv@v8.
|
|
17
|
+
uses: astral-sh/setup-uv@v8.2.0
|
|
18
18
|
with:
|
|
19
19
|
enable-cache: true
|
|
20
20
|
- name: Set up Python
|
|
@@ -11,11 +11,11 @@ jobs:
|
|
|
11
11
|
linting:
|
|
12
12
|
runs-on: ubuntu-latest
|
|
13
13
|
steps:
|
|
14
|
-
- uses: actions/checkout@
|
|
14
|
+
- uses: actions/checkout@v7
|
|
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
|
-
- uses: actions/checkout@
|
|
38
|
+
- uses: actions/checkout@v7
|
|
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
|
-
- uses: actions/checkout@
|
|
68
|
+
- uses: actions/checkout@v7
|
|
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
|
-
- uses: actions/checkout@
|
|
109
|
+
- uses: actions/checkout@v7
|
|
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
|
-
- uses: actions/checkout@
|
|
139
|
+
- uses: actions/checkout@v7
|
|
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,10 +173,10 @@ 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
|
-
- uses: actions/checkout@
|
|
179
|
+
- uses: actions/checkout@v7
|
|
180
180
|
- name: install Just
|
|
181
181
|
uses: taiki-e/install-action@just
|
|
182
182
|
- name: Set up Python ${{ matrix.python-version }}
|
|
@@ -191,11 +191,11 @@ jobs:
|
|
|
191
191
|
docs:
|
|
192
192
|
runs-on: ubuntu-latest
|
|
193
193
|
steps:
|
|
194
|
-
- uses: actions/checkout@
|
|
194
|
+
- uses: actions/checkout@v7
|
|
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.1
|
|
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.18
|
|
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.20
|
|
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.3
|
|
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.3"
|
{meilisearch_python_sdk-7.2.1 → meilisearch_python_sdk-7.2.3}/meilisearch_python_sdk/errors.py
RENAMED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import json
|
|
2
|
+
|
|
1
3
|
from httpx2 import Response
|
|
2
4
|
|
|
3
5
|
|
|
@@ -35,8 +37,13 @@ class MeilisearchApiError(MeilisearchError):
|
|
|
35
37
|
self.message = ""
|
|
36
38
|
self.link = ""
|
|
37
39
|
self.error_type = ""
|
|
40
|
+
error_json = None
|
|
38
41
|
if response.content:
|
|
39
|
-
|
|
42
|
+
try:
|
|
43
|
+
error_json = response.json()
|
|
44
|
+
except json.JSONDecodeError:
|
|
45
|
+
error_json = None
|
|
46
|
+
if isinstance(error_json, dict):
|
|
40
47
|
self.message = f"Error message: {error_json.get('message') or ''}"
|
|
41
48
|
self.code = f"{error_json.get('code') or ''}"
|
|
42
49
|
self.error_type = f"{error_json.get('type') or ''}"
|
{meilisearch_python_sdk-7.2.1 → meilisearch_python_sdk-7.2.3}/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]
|
|
@@ -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.1",
|
|
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.18",
|
|
47
46
|
"types-aiofiles==25.1.0.20260518",
|
|
48
47
|
"typing-extensions==4.15.0",
|
|
49
|
-
"zensical
|
|
48
|
+
"zensical==0.0.46",
|
|
49
|
+
"pyrefly>=1.1.0",
|
|
50
50
|
]
|
|
51
51
|
|
|
52
52
|
[tool.hatch.version]
|
|
@@ -68,22 +68,19 @@ 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
|
|
86
|
-
target-version = "py310"
|
|
87
84
|
fix = true
|
|
88
85
|
|
|
89
86
|
[tool.ruff.lint]
|
|
@@ -19,6 +19,26 @@ def test_meilisearch_api_error():
|
|
|
19
19
|
assert expected in str(got)
|
|
20
20
|
|
|
21
21
|
|
|
22
|
+
def test_meilisearch_api_error_invalid_json():
|
|
23
|
+
expected = "test"
|
|
24
|
+
response = Response(
|
|
25
|
+
status_code=500, text="not json", headers={"content-type": "application/json"}
|
|
26
|
+
)
|
|
27
|
+
got = MeilisearchApiError(expected, response)
|
|
28
|
+
|
|
29
|
+
assert expected in str(got)
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
def test_meilisearch_api_error_json_not_a_dict():
|
|
33
|
+
expected = "test"
|
|
34
|
+
response = Response(
|
|
35
|
+
status_code=500, text="[1, 2, 3]", headers={"content-type": "application/json"}
|
|
36
|
+
)
|
|
37
|
+
got = MeilisearchApiError(expected, response)
|
|
38
|
+
|
|
39
|
+
assert expected in str(got)
|
|
40
|
+
|
|
41
|
+
|
|
22
42
|
def test_meilisearch_communication_error():
|
|
23
43
|
expected = "test"
|
|
24
44
|
got = MeilisearchCommunicationError(expected)
|