meilisearch-python-sdk 4.11.0__tar.gz → 5.0.1__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.11.0 → meilisearch_python_sdk-5.0.1}/.github/workflows/docs_publish.yml +2 -2
  2. {meilisearch_python_sdk-4.11.0 → meilisearch_python_sdk-5.0.1}/.github/workflows/nightly_testing.yml +2 -2
  3. {meilisearch_python_sdk-4.11.0 → meilisearch_python_sdk-5.0.1}/.github/workflows/pypi_publish.yml +2 -2
  4. {meilisearch_python_sdk-4.11.0 → meilisearch_python_sdk-5.0.1}/.github/workflows/testing.yml +19 -15
  5. {meilisearch_python_sdk-4.11.0 → meilisearch_python_sdk-5.0.1}/.pre-commit-config.yaml +1 -1
  6. {meilisearch_python_sdk-4.11.0 → meilisearch_python_sdk-5.0.1}/PKG-INFO +3 -4
  7. {meilisearch_python_sdk-4.11.0 → meilisearch_python_sdk-5.0.1}/meilisearch_python_sdk/_http_requests.py +2 -1
  8. meilisearch_python_sdk-5.0.1/meilisearch_python_sdk/_version.py +1 -0
  9. {meilisearch_python_sdk-4.11.0 → meilisearch_python_sdk-5.0.1}/meilisearch_python_sdk/decorators.py +2 -1
  10. {meilisearch_python_sdk-4.11.0 → meilisearch_python_sdk-5.0.1}/meilisearch_python_sdk/models/search.py +5 -5
  11. {meilisearch_python_sdk-4.11.0 → meilisearch_python_sdk-5.0.1}/meilisearch_python_sdk/models/version.py +1 -2
  12. meilisearch_python_sdk-5.0.1/meilisearch_python_sdk/types.py +8 -0
  13. {meilisearch_python_sdk-4.11.0 → meilisearch_python_sdk-5.0.1}/pyproject.toml +4 -6
  14. {meilisearch_python_sdk-4.11.0 → meilisearch_python_sdk-5.0.1}/tests/conftest.py +1 -5
  15. {meilisearch_python_sdk-4.11.0 → meilisearch_python_sdk-5.0.1}/tests/test_async_client.py +1 -1
  16. {meilisearch_python_sdk-4.11.0 → meilisearch_python_sdk-5.0.1}/uv.lock +139 -296
  17. meilisearch_python_sdk-4.11.0/meilisearch_python_sdk/_version.py +0 -1
  18. meilisearch_python_sdk-4.11.0/meilisearch_python_sdk/types.py +0 -16
  19. {meilisearch_python_sdk-4.11.0 → meilisearch_python_sdk-5.0.1}/.github/FUNDING.yml +0 -0
  20. {meilisearch_python_sdk-4.11.0 → meilisearch_python_sdk-5.0.1}/.github/release-draft-template.yaml +0 -0
  21. {meilisearch_python_sdk-4.11.0 → meilisearch_python_sdk-5.0.1}/.github/renovate.json5 +0 -0
  22. {meilisearch_python_sdk-4.11.0 → meilisearch_python_sdk-5.0.1}/.github/workflows/release-drafter.yml +0 -0
  23. {meilisearch_python_sdk-4.11.0 → meilisearch_python_sdk-5.0.1}/.gitignore +0 -0
  24. {meilisearch_python_sdk-4.11.0 → meilisearch_python_sdk-5.0.1}/CONTRIBUTING.md +0 -0
  25. {meilisearch_python_sdk-4.11.0 → meilisearch_python_sdk-5.0.1}/LICENSE +0 -0
  26. {meilisearch_python_sdk-4.11.0 → meilisearch_python_sdk-5.0.1}/README.md +0 -0
  27. {meilisearch_python_sdk-4.11.0 → meilisearch_python_sdk-5.0.1}/assets/add_in_batches.png +0 -0
  28. {meilisearch_python_sdk-4.11.0 → meilisearch_python_sdk-5.0.1}/assets/searches.png +0 -0
  29. {meilisearch_python_sdk-4.11.0 → meilisearch_python_sdk-5.0.1}/codecov.yml +0 -0
  30. {meilisearch_python_sdk-4.11.0 → meilisearch_python_sdk-5.0.1}/datasets/small_movies.json +0 -0
  31. {meilisearch_python_sdk-4.11.0 → meilisearch_python_sdk-5.0.1}/docker-compose.https.yml +0 -0
  32. {meilisearch_python_sdk-4.11.0 → meilisearch_python_sdk-5.0.1}/docker-compose.yml +0 -0
  33. {meilisearch_python_sdk-4.11.0 → meilisearch_python_sdk-5.0.1}/docs/.nojekyll +0 -0
  34. {meilisearch_python_sdk-4.11.0 → meilisearch_python_sdk-5.0.1}/docs/CNAME +0 -0
  35. {meilisearch_python_sdk-4.11.0 → meilisearch_python_sdk-5.0.1}/docs/async_client_api.md +0 -0
  36. {meilisearch_python_sdk-4.11.0 → meilisearch_python_sdk-5.0.1}/docs/async_index_api.md +0 -0
  37. {meilisearch_python_sdk-4.11.0 → meilisearch_python_sdk-5.0.1}/docs/client_api.md +0 -0
  38. {meilisearch_python_sdk-4.11.0 → meilisearch_python_sdk-5.0.1}/docs/css/custom.css +0 -0
  39. {meilisearch_python_sdk-4.11.0 → meilisearch_python_sdk-5.0.1}/docs/decorators_api.md +0 -0
  40. {meilisearch_python_sdk-4.11.0 → meilisearch_python_sdk-5.0.1}/docs/index.md +0 -0
  41. {meilisearch_python_sdk-4.11.0 → meilisearch_python_sdk-5.0.1}/docs/index_api.md +0 -0
  42. {meilisearch_python_sdk-4.11.0 → meilisearch_python_sdk-5.0.1}/docs/js/umami.js +0 -0
  43. {meilisearch_python_sdk-4.11.0 → meilisearch_python_sdk-5.0.1}/docs/json_handler.md +0 -0
  44. {meilisearch_python_sdk-4.11.0 → meilisearch_python_sdk-5.0.1}/docs/overrides/partials/footer.html +0 -0
  45. {meilisearch_python_sdk-4.11.0 → meilisearch_python_sdk-5.0.1}/docs/plugins.md +0 -0
  46. {meilisearch_python_sdk-4.11.0 → meilisearch_python_sdk-5.0.1}/docs/pydantic.md +0 -0
  47. {meilisearch_python_sdk-4.11.0 → meilisearch_python_sdk-5.0.1}/examples/.gitignore +0 -0
  48. {meilisearch_python_sdk-4.11.0 → meilisearch_python_sdk-5.0.1}/examples/README.md +0 -0
  49. {meilisearch_python_sdk-4.11.0 → meilisearch_python_sdk-5.0.1}/examples/__init__.py +0 -0
  50. {meilisearch_python_sdk-4.11.0 → meilisearch_python_sdk-5.0.1}/examples/add_documents_decorator.py +0 -0
  51. {meilisearch_python_sdk-4.11.0 → meilisearch_python_sdk-5.0.1}/examples/add_documents_in_batches.py +0 -0
  52. {meilisearch_python_sdk-4.11.0 → meilisearch_python_sdk-5.0.1}/examples/async_add_documents_decorator.py +0 -0
  53. {meilisearch_python_sdk-4.11.0 → meilisearch_python_sdk-5.0.1}/examples/async_add_documents_in_batches.py +0 -0
  54. {meilisearch_python_sdk-4.11.0 → meilisearch_python_sdk-5.0.1}/examples/async_documents_and_search_results.py +0 -0
  55. {meilisearch_python_sdk-4.11.0 → meilisearch_python_sdk-5.0.1}/examples/async_search_tracker.py +0 -0
  56. {meilisearch_python_sdk-4.11.0 → meilisearch_python_sdk-5.0.1}/examples/async_update_settings.py +0 -0
  57. {meilisearch_python_sdk-4.11.0 → meilisearch_python_sdk-5.0.1}/examples/documents_and_search_results.py +0 -0
  58. {meilisearch_python_sdk-4.11.0 → meilisearch_python_sdk-5.0.1}/examples/fastapi_example.py +0 -0
  59. {meilisearch_python_sdk-4.11.0 → meilisearch_python_sdk-5.0.1}/examples/orjson_example.py +0 -0
  60. {meilisearch_python_sdk-4.11.0 → meilisearch_python_sdk-5.0.1}/examples/pyproject.toml +0 -0
  61. {meilisearch_python_sdk-4.11.0 → meilisearch_python_sdk-5.0.1}/examples/requirements.txt +0 -0
  62. {meilisearch_python_sdk-4.11.0 → meilisearch_python_sdk-5.0.1}/examples/search_tracker.py +0 -0
  63. {meilisearch_python_sdk-4.11.0 → meilisearch_python_sdk-5.0.1}/examples/tests/__init__.py +0 -0
  64. {meilisearch_python_sdk-4.11.0 → meilisearch_python_sdk-5.0.1}/examples/tests/conftest.py +0 -0
  65. {meilisearch_python_sdk-4.11.0 → meilisearch_python_sdk-5.0.1}/examples/tests/test_async_examples.py +0 -0
  66. {meilisearch_python_sdk-4.11.0 → meilisearch_python_sdk-5.0.1}/examples/tests/test_examples.py +0 -0
  67. {meilisearch_python_sdk-4.11.0 → meilisearch_python_sdk-5.0.1}/examples/ujson_example.py +0 -0
  68. {meilisearch_python_sdk-4.11.0 → meilisearch_python_sdk-5.0.1}/examples/update_settings.py +0 -0
  69. {meilisearch_python_sdk-4.11.0 → meilisearch_python_sdk-5.0.1}/justfile +0 -0
  70. {meilisearch_python_sdk-4.11.0 → meilisearch_python_sdk-5.0.1}/meilisearch_python_sdk/__init__.py +0 -0
  71. {meilisearch_python_sdk-4.11.0 → meilisearch_python_sdk-5.0.1}/meilisearch_python_sdk/_batch.py +0 -0
  72. {meilisearch_python_sdk-4.11.0 → meilisearch_python_sdk-5.0.1}/meilisearch_python_sdk/_client.py +0 -0
  73. {meilisearch_python_sdk-4.11.0 → meilisearch_python_sdk-5.0.1}/meilisearch_python_sdk/_task.py +0 -0
  74. {meilisearch_python_sdk-4.11.0 → meilisearch_python_sdk-5.0.1}/meilisearch_python_sdk/_utils.py +0 -0
  75. {meilisearch_python_sdk-4.11.0 → meilisearch_python_sdk-5.0.1}/meilisearch_python_sdk/errors.py +0 -0
  76. {meilisearch_python_sdk-4.11.0 → meilisearch_python_sdk-5.0.1}/meilisearch_python_sdk/index.py +0 -0
  77. {meilisearch_python_sdk-4.11.0 → meilisearch_python_sdk-5.0.1}/meilisearch_python_sdk/json_handler.py +0 -0
  78. {meilisearch_python_sdk-4.11.0 → meilisearch_python_sdk-5.0.1}/meilisearch_python_sdk/models/__init__.py +0 -0
  79. {meilisearch_python_sdk-4.11.0 → meilisearch_python_sdk-5.0.1}/meilisearch_python_sdk/models/batch.py +0 -0
  80. {meilisearch_python_sdk-4.11.0 → meilisearch_python_sdk-5.0.1}/meilisearch_python_sdk/models/client.py +0 -0
  81. {meilisearch_python_sdk-4.11.0 → meilisearch_python_sdk-5.0.1}/meilisearch_python_sdk/models/documents.py +0 -0
  82. {meilisearch_python_sdk-4.11.0 → meilisearch_python_sdk-5.0.1}/meilisearch_python_sdk/models/health.py +0 -0
  83. {meilisearch_python_sdk-4.11.0 → meilisearch_python_sdk-5.0.1}/meilisearch_python_sdk/models/index.py +0 -0
  84. {meilisearch_python_sdk-4.11.0 → meilisearch_python_sdk-5.0.1}/meilisearch_python_sdk/models/settings.py +0 -0
  85. {meilisearch_python_sdk-4.11.0 → meilisearch_python_sdk-5.0.1}/meilisearch_python_sdk/models/task.py +0 -0
  86. {meilisearch_python_sdk-4.11.0 → meilisearch_python_sdk-5.0.1}/meilisearch_python_sdk/models/webhook.py +0 -0
  87. {meilisearch_python_sdk-4.11.0 → meilisearch_python_sdk-5.0.1}/meilisearch_python_sdk/plugins.py +0 -0
  88. {meilisearch_python_sdk-4.11.0 → meilisearch_python_sdk-5.0.1}/meilisearch_python_sdk/py.typed +0 -0
  89. {meilisearch_python_sdk-4.11.0 → meilisearch_python_sdk-5.0.1}/mkdocs.yaml +0 -0
  90. {meilisearch_python_sdk-4.11.0 → meilisearch_python_sdk-5.0.1}/tests/__init__.py +0 -0
  91. {meilisearch_python_sdk-4.11.0 → meilisearch_python_sdk-5.0.1}/tests/test_async_documents.py +0 -0
  92. {meilisearch_python_sdk-4.11.0 → meilisearch_python_sdk-5.0.1}/tests/test_async_index.py +0 -0
  93. {meilisearch_python_sdk-4.11.0 → meilisearch_python_sdk-5.0.1}/tests/test_async_index_plugins.py +0 -0
  94. {meilisearch_python_sdk-4.11.0 → meilisearch_python_sdk-5.0.1}/tests/test_async_search.py +0 -0
  95. {meilisearch_python_sdk-4.11.0 → meilisearch_python_sdk-5.0.1}/tests/test_client.py +0 -0
  96. {meilisearch_python_sdk-4.11.0 → meilisearch_python_sdk-5.0.1}/tests/test_decorators.py +0 -0
  97. {meilisearch_python_sdk-4.11.0 → meilisearch_python_sdk-5.0.1}/tests/test_documents.py +0 -0
  98. {meilisearch_python_sdk-4.11.0 → meilisearch_python_sdk-5.0.1}/tests/test_errors.py +0 -0
  99. {meilisearch_python_sdk-4.11.0 → meilisearch_python_sdk-5.0.1}/tests/test_index.py +0 -0
  100. {meilisearch_python_sdk-4.11.0 → meilisearch_python_sdk-5.0.1}/tests/test_index_plugins.py +0 -0
  101. {meilisearch_python_sdk-4.11.0 → meilisearch_python_sdk-5.0.1}/tests/test_search.py +0 -0
  102. {meilisearch_python_sdk-4.11.0 → meilisearch_python_sdk-5.0.1}/tests/test_settings_models.py +0 -0
  103. {meilisearch_python_sdk-4.11.0 → meilisearch_python_sdk-5.0.1}/tests/test_utils.py +0 -0
  104. {meilisearch_python_sdk-4.11.0 → meilisearch_python_sdk-5.0.1}/tests/test_version.py +0 -0
@@ -5,14 +5,14 @@ on:
5
5
  - published
6
6
  workflow_dispatch:
7
7
  env:
8
- PYTHON_VERSION: "3.12"
8
+ PYTHON_VERSION: "3.13"
9
9
  jobs:
10
10
  deploy:
11
11
  runs-on: ubuntu-latest
12
12
  steps:
13
13
  - uses: actions/checkout@v5
14
14
  - name: Install uv
15
- uses: astral-sh/setup-uv@v6
15
+ uses: astral-sh/setup-uv@v7
16
16
  with:
17
17
  enable-cache: true
18
18
  - name: Set up Python
@@ -5,7 +5,7 @@ on:
5
5
  # Set with UTC time
6
6
  - cron: "0 5 * * *"
7
7
  env:
8
- PYTHON_VERSION: "3.12"
8
+ PYTHON_VERSION: "3.13"
9
9
  jobs:
10
10
  random-test-order:
11
11
  strategy:
@@ -14,7 +14,7 @@ jobs:
14
14
  steps:
15
15
  - uses: actions/checkout@v5
16
16
  - name: Install uv
17
- uses: astral-sh/setup-uv@v6
17
+ uses: astral-sh/setup-uv@v7
18
18
  with:
19
19
  enable-cache: true
20
20
  - name: install Just
@@ -4,7 +4,7 @@ on:
4
4
  types:
5
5
  - published
6
6
  env:
7
- PYTHON_VERSION: "3.12"
7
+ PYTHON_VERSION: "3.13"
8
8
  jobs:
9
9
  deploy:
10
10
  runs-on: ubuntu-latest
@@ -14,7 +14,7 @@ jobs:
14
14
  steps:
15
15
  - uses: actions/checkout@v5
16
16
  - name: Install uv
17
- uses: astral-sh/setup-uv@v6
17
+ uses: astral-sh/setup-uv@v7
18
18
  with:
19
19
  enable-cache: true
20
20
  - name: Set up Python
@@ -6,7 +6,7 @@ on:
6
6
  - main
7
7
  pull_request:
8
8
  env:
9
- PYTHON_VERSION: "3.9"
9
+ PYTHON_VERSION: "3.10"
10
10
  jobs:
11
11
  linting:
12
12
  runs-on: ubuntu-latest
@@ -15,13 +15,14 @@ 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@v6
18
+ uses: astral-sh/setup-uv@v7
19
19
  with:
20
20
  enable-cache: true
21
21
  - name: Set up Python
22
22
  uses: actions/setup-python@v6
23
23
  with:
24
24
  python-version: ${{ env.PYTHON_VERSION }}
25
+ allow-prereleases: true
25
26
  - name: Install Dependencies
26
27
  run: just install
27
28
  - name: mypy check
@@ -31,20 +32,21 @@ jobs:
31
32
  strategy:
32
33
  fail-fast: false
33
34
  matrix:
34
- python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
35
+ python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]
35
36
  runs-on: ubuntu-latest
36
37
  steps:
37
38
  - uses: actions/checkout@v5
38
39
  - name: install Just
39
40
  uses: taiki-e/install-action@just
40
41
  - name: Install uv
41
- uses: astral-sh/setup-uv@v6
42
+ uses: astral-sh/setup-uv@v7
42
43
  with:
43
44
  enable-cache: true
44
45
  - name: Set up Python ${{ matrix.python-version }}
45
46
  uses: actions/setup-python@v6
46
47
  with:
47
48
  python-version: ${{ matrix.python-version }}
49
+ allow-prereleases: true
48
50
  - name: Install Dependencies
49
51
  run: just install
50
52
  - name: Test with pytest
@@ -59,24 +61,24 @@ jobs:
59
61
  strategy:
60
62
  fail-fast: false
61
63
  matrix:
62
- python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
64
+ python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]
63
65
  runs-on: ubuntu-latest
64
66
  steps:
65
67
  - uses: actions/checkout@v5
66
68
  - name: install Just
67
69
  uses: taiki-e/install-action@just
68
70
  - name: Install uv
69
- uses: astral-sh/setup-uv@v6
71
+ uses: astral-sh/setup-uv@v7
70
72
  with:
71
73
  enable-cache: true
72
74
  - name: Set up Python ${{ matrix.python-version }}
73
75
  uses: actions/setup-python@v6
74
76
  with:
75
77
  python-version: ${{ matrix.python-version }}
78
+ allow-prereleases: true
76
79
  - name: Install Dependencies
77
80
  run: just install
78
81
  - name: Install truststore
79
- if: ${{ ! startsWith(matrix.python-version, '3.9') }}
80
82
  run: uv pip install truststore
81
83
  - name: Install ssl requirements
82
84
  run: |
@@ -99,20 +101,21 @@ jobs:
99
101
  strategy:
100
102
  fail-fast: false
101
103
  matrix:
102
- python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
104
+ python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]
103
105
  runs-on: ubuntu-latest
104
106
  steps:
105
107
  - uses: actions/checkout@v5
106
108
  - name: install Just
107
109
  uses: taiki-e/install-action@just
108
110
  - name: Install uv
109
- uses: astral-sh/setup-uv@v6
111
+ uses: astral-sh/setup-uv@v7
110
112
  with:
111
113
  enable-cache: true
112
114
  - name: Set up Python ${{ matrix.python-version }}
113
115
  uses: actions/setup-python@v6
114
116
  with:
115
117
  python-version: ${{ matrix.python-version }}
118
+ allow-prereleases: true
116
119
  - name: Install Dependencies
117
120
  run: just install
118
121
  - name: Test with pytest
@@ -127,24 +130,24 @@ jobs:
127
130
  strategy:
128
131
  fail-fast: false
129
132
  matrix:
130
- python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
133
+ python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]
131
134
  runs-on: ubuntu-latest
132
135
  steps:
133
136
  - uses: actions/checkout@v5
134
137
  - name: install Just
135
138
  uses: taiki-e/install-action@just
136
139
  - name: Install uv
137
- uses: astral-sh/setup-uv@v6
140
+ uses: astral-sh/setup-uv@v7
138
141
  with:
139
142
  enable-cache: true
140
143
  - name: Set up Python ${{ matrix.python-version }}
141
144
  uses: actions/setup-python@v6
142
145
  with:
143
146
  python-version: ${{ matrix.python-version }}
147
+ allow-prereleases: true
144
148
  - name: Install Dependencies
145
149
  run: just install
146
150
  - name: Install truststore
147
- if: ${{ ! startsWith(matrix.python-version, '3.9') }}
148
151
  run: uv pip install truststore
149
152
  - name: Install ssl requirements
150
153
  run: |
@@ -166,7 +169,7 @@ jobs:
166
169
  strategy:
167
170
  fail-fast: false
168
171
  matrix:
169
- python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
172
+ python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]
170
173
  runs-on: ubuntu-latest
171
174
  steps:
172
175
  - uses: actions/checkout@v5
@@ -176,6 +179,7 @@ jobs:
176
179
  uses: actions/setup-python@v6
177
180
  with:
178
181
  python-version: ${{ matrix.python-version }}
182
+ allow-prereleases: true
179
183
  cache: pip
180
184
  - name: Test with pytest
181
185
  run: just test-examples-ci
@@ -187,13 +191,13 @@ jobs:
187
191
  - name: install Just
188
192
  uses: taiki-e/install-action@just
189
193
  - name: Install uv
190
- uses: astral-sh/setup-uv@v6
194
+ uses: astral-sh/setup-uv@v7
191
195
  with:
192
196
  enable-cache: true
193
197
  - name: Set up Python
194
198
  uses: actions/setup-python@v6
195
199
  with:
196
- python-version: "3.13"
200
+ python-version: "3.14"
197
201
  - name: Install Dependencies
198
202
  run: just install
199
203
  - name: Test Docs Build
@@ -14,7 +14,7 @@ repos:
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.13.2
17
+ rev: v0.14.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.11.0
3
+ Version: 5.0.1
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
@@ -33,16 +33,15 @@ Classifier: Development Status :: 5 - Production/Stable
33
33
  Classifier: Intended Audience :: Developers
34
34
  Classifier: License :: OSI Approved :: MIT License
35
35
  Classifier: Operating System :: OS Independent
36
- Classifier: Programming Language :: Python :: 3.9
37
36
  Classifier: Programming Language :: Python :: 3.10
38
37
  Classifier: Programming Language :: Python :: 3.11
39
38
  Classifier: Programming Language :: Python :: 3.12
40
39
  Classifier: Programming Language :: Python :: 3.13
40
+ Classifier: Programming Language :: Python :: 3.14
41
41
  Classifier: Typing :: Typed
42
- Requires-Python: >=3.9
42
+ Requires-Python: >=3.10
43
43
  Requires-Dist: aiofiles>=0.7
44
44
  Requires-Dist: camel-converter[pydantic]>=1.0.0
45
- Requires-Dist: eval-type-backport>=0.2.0; python_version < '3.10'
46
45
  Requires-Dist: httpx[http2]>=0.17
47
46
  Requires-Dist: pydantic>=2.0.0
48
47
  Requires-Dist: pyjwt>=2.3.0
@@ -1,8 +1,9 @@
1
1
  from __future__ import annotations
2
2
 
3
3
  import gzip
4
+ from collections.abc import Callable
4
5
  from functools import lru_cache
5
- from typing import Any, Callable
6
+ from typing import Any
6
7
 
7
8
  from httpx import (
8
9
  AsyncClient,
@@ -0,0 +1 @@
1
+ VERSION = "5.0.1"
@@ -1,8 +1,9 @@
1
1
  from __future__ import annotations
2
2
 
3
3
  import asyncio
4
+ from collections.abc import Callable
4
5
  from functools import wraps
5
- from typing import Any, Callable, NamedTuple
6
+ from typing import Any, NamedTuple
6
7
 
7
8
  from meilisearch_python_sdk import AsyncClient, Client
8
9
  from meilisearch_python_sdk._utils import use_task_groups
@@ -1,6 +1,6 @@
1
1
  from __future__ import annotations
2
2
 
3
- from typing import Generic, Literal, TypeVar
3
+ from typing import Annotated, Generic, Literal, TypeVar
4
4
 
5
5
  from camel_converter.pydantic_base import CamelBase
6
6
  from pydantic import Field, field_validator
@@ -83,12 +83,12 @@ class SearchParams(CamelBase):
83
83
 
84
84
 
85
85
  class SearchResults(CamelBase, Generic[T]):
86
- hits: list[T]
86
+ hits: Annotated[list[T], Field()]
87
87
  offset: int | None = None
88
88
  limit: int | None = None
89
89
  estimated_total_hits: int | None = None
90
90
  processing_time_ms: int
91
- query: str
91
+ query: Annotated[str, Field()]
92
92
  facet_distribution: JsonDict | None = None
93
93
  total_pages: int | None = None
94
94
  total_hits: int | None = None
@@ -103,7 +103,7 @@ class SearchResultsWithUID(SearchResults, Generic[T]):
103
103
 
104
104
 
105
105
  class SearchResultsFederated(CamelBase, Generic[T]):
106
- hits: list[T]
106
+ hits: Annotated[list[T], Field()]
107
107
  offset: int | None = None
108
108
  limit: int | None = None
109
109
  estimated_total_hits: int | None = None
@@ -118,7 +118,7 @@ class SearchResultsFederated(CamelBase, Generic[T]):
118
118
 
119
119
 
120
120
  class SimilarSearchResults(CamelBase, Generic[T]):
121
- hits: list[T]
121
+ hits: Annotated[list[T], Field()]
122
122
  id: str
123
123
  processing_time_ms: int
124
124
  limit: int | None = None
@@ -1,10 +1,9 @@
1
1
  from datetime import datetime
2
- from typing import Union
3
2
 
4
3
  from camel_converter.pydantic_base import CamelBase
5
4
 
6
5
 
7
6
  class Version(CamelBase):
8
7
  commit_sha: str
9
- commit_date: Union[datetime, str]
8
+ commit_date: datetime | str
10
9
  pkg_version: str
@@ -0,0 +1,8 @@
1
+ from __future__ import annotations
2
+
3
+ from collections.abc import MutableMapping
4
+ from typing import Any, TypeAlias
5
+
6
+ Filter: TypeAlias = str | list[str | list[str]]
7
+ JsonDict: TypeAlias = dict[str, Any]
8
+ JsonMapping: TypeAlias = MutableMapping[str, Any]
@@ -6,18 +6,18 @@ build-backend = "hatchling.build"
6
6
  name = "meilisearch-python-sdk"
7
7
  description = "A Python client providing both async and sync support for the Meilisearch API"
8
8
  authors = [ { name = "Paul Sanders", email = "paul@paulsanders.dev" } ]
9
- requires-python = ">=3.9"
9
+ requires-python = ">=3.10"
10
10
  license = { file = "LICENSE" }
11
11
  readme = "README.md"
12
12
  keywords = ["meilisearch", "async", "python", "client", "sdk"]
13
13
  classifiers=[
14
14
  "Development Status :: 5 - Production/Stable",
15
15
  "Intended Audience :: Developers",
16
- "Programming Language :: Python :: 3.9",
17
16
  "Programming Language :: Python :: 3.10",
18
17
  "Programming Language :: Python :: 3.11",
19
18
  "Programming Language :: Python :: 3.12",
20
19
  "Programming Language :: Python :: 3.13",
20
+ "Programming Language :: Python :: 3.14",
21
21
  "License :: OSI Approved :: MIT License",
22
22
  "Operating System :: OS Independent",
23
23
  "Typing :: Typed",
@@ -26,8 +26,6 @@ dynamic = ["version"]
26
26
  dependencies = [
27
27
  "aiofiles>=0.7",
28
28
  "camel-converter[pydantic]>=1.0.0",
29
- # allows pydantic to use pipe instead of Union
30
- "eval-type-backport>=0.2.0; python_version < '3.10'",
31
29
  "httpx[http2]>=0.17",
32
30
  "pydantic>=2.0.0",
33
31
  "PyJWT>=2.3.0",
@@ -49,7 +47,7 @@ dev = [
49
47
  "pytest-cov==7.0.0",
50
48
  "pytest-asyncio==1.2.0",
51
49
  "pytest-xdist==3.8.0",
52
- "ruff==0.13.3",
50
+ "ruff==0.14.0",
53
51
  "types-aiofiles==24.1.0.20250822",
54
52
  "typing-extensions==4.15.0",
55
53
  "types-ujson==5.10.0.20250822",
@@ -87,7 +85,7 @@ ignore_missing_imports = true
87
85
 
88
86
  [tool.ruff]
89
87
  line-length = 100
90
- target-version = "py39"
88
+ target-version = "py310"
91
89
  fix = true
92
90
 
93
91
  [tool.ruff.lint]
@@ -2,7 +2,6 @@ import asyncio
2
2
  import csv
3
3
  import json
4
4
  import ssl
5
- import sys
6
5
  from logging import warning
7
6
  from pathlib import Path
8
7
  from uuid import uuid4
@@ -55,10 +54,7 @@ def ssl_verify(http2_enabled):
55
54
  return truststore.SSLContext(ssl.PROTOCOL_TLS_CLIENT) if http2_enabled else True
56
55
  return True # recommended default
57
56
  else: # truststore isn't installed
58
- if sys.version_info >= (3, 10): # should be available in 3.10+
59
- warning("truststore not installed, your environment may be broken run uv sync")
60
- # without truststore we can't verify the ssl (and when http2 is enabled, verification must be disabled)
61
- return not http2_enabled
57
+ warning("truststore not installed, your environment may be broken run uv sync")
62
58
 
63
59
 
64
60
  @pytest.fixture(scope="session")
@@ -558,7 +558,7 @@ async def test_swap_indexes_rename(async_client, async_empty_index):
558
558
  task = await index.add_documents([{"id": 1, "title": index.uid}])
559
559
  await async_client.wait_for_task(task.task_uid)
560
560
  swapTask = await async_client.swap_indexes([(index.uid, new_name)], rename=True)
561
- task = async_client.wait_for_task(swapTask.task_uid)
561
+ task = await async_client.wait_for_task(swapTask.task_uid)
562
562
 
563
563
  indexes = await async_client.get_indexes()
564
564
  uids = [index.uid for index in indexes]