meilisearch-python-sdk 7.5.1__tar.gz → 8.0.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (119) hide show
  1. {meilisearch_python_sdk-7.5.1 → meilisearch_python_sdk-8.0.0}/.github/workflows/docs_publish.yml +2 -2
  2. {meilisearch_python_sdk-7.5.1 → meilisearch_python_sdk-8.0.0}/.github/workflows/nightly_testing.yml +2 -2
  3. {meilisearch_python_sdk-7.5.1 → meilisearch_python_sdk-8.0.0}/.github/workflows/prek_update.yml +1 -1
  4. {meilisearch_python_sdk-7.5.1 → meilisearch_python_sdk-8.0.0}/.github/workflows/pypi_publish.yml +2 -2
  5. {meilisearch_python_sdk-7.5.1 → meilisearch_python_sdk-8.0.0}/.github/workflows/testing.yml +17 -17
  6. {meilisearch_python_sdk-7.5.1 → meilisearch_python_sdk-8.0.0}/PKG-INFO +3 -3
  7. {meilisearch_python_sdk-7.5.1 → meilisearch_python_sdk-8.0.0}/docker-compose.https.yml +1 -1
  8. {meilisearch_python_sdk-7.5.1 → meilisearch_python_sdk-8.0.0}/docker-compose.yml +1 -1
  9. {meilisearch_python_sdk-7.5.1 → meilisearch_python_sdk-8.0.0}/meilisearch_python_sdk/_batch.py +3 -3
  10. {meilisearch_python_sdk-7.5.1 → meilisearch_python_sdk-8.0.0}/meilisearch_python_sdk/_client/_async_client.py +47 -11
  11. {meilisearch_python_sdk-7.5.1 → meilisearch_python_sdk-8.0.0}/meilisearch_python_sdk/_client/_base_client.py +2 -2
  12. {meilisearch_python_sdk-7.5.1 → meilisearch_python_sdk-8.0.0}/meilisearch_python_sdk/_client/_client.py +47 -11
  13. {meilisearch_python_sdk-7.5.1 → meilisearch_python_sdk-8.0.0}/meilisearch_python_sdk/_task.py +131 -63
  14. {meilisearch_python_sdk-7.5.1 → meilisearch_python_sdk-8.0.0}/meilisearch_python_sdk/_utils.py +2 -9
  15. meilisearch_python_sdk-8.0.0/meilisearch_python_sdk/_version.py +1 -0
  16. {meilisearch_python_sdk-7.5.1 → meilisearch_python_sdk-8.0.0}/meilisearch_python_sdk/decorators.py +0 -6
  17. {meilisearch_python_sdk-7.5.1 → meilisearch_python_sdk-8.0.0}/meilisearch_python_sdk/index/async_index.py +1 -437
  18. {meilisearch_python_sdk-7.5.1 → meilisearch_python_sdk-8.0.0}/meilisearch_python_sdk/index/index.py +1 -7
  19. {meilisearch_python_sdk-7.5.1 → meilisearch_python_sdk-8.0.0}/meilisearch_python_sdk/models/settings.py +2 -2
  20. {meilisearch_python_sdk-7.5.1 → meilisearch_python_sdk-8.0.0}/prek.toml +3 -3
  21. {meilisearch_python_sdk-7.5.1 → meilisearch_python_sdk-8.0.0}/pyproject.toml +6 -7
  22. {meilisearch_python_sdk-7.5.1 → meilisearch_python_sdk-8.0.0}/tests/test_async_client.py +88 -4
  23. {meilisearch_python_sdk-7.5.1 → meilisearch_python_sdk-8.0.0}/tests/test_async_search.py +2 -2
  24. {meilisearch_python_sdk-7.5.1 → meilisearch_python_sdk-8.0.0}/tests/test_client.py +84 -4
  25. {meilisearch_python_sdk-7.5.1 → meilisearch_python_sdk-8.0.0}/tests/test_search.py +2 -2
  26. {meilisearch_python_sdk-7.5.1 → meilisearch_python_sdk-8.0.0}/tests/test_utils.py +3 -3
  27. meilisearch_python_sdk-8.0.0/uv.lock +1268 -0
  28. meilisearch_python_sdk-7.5.1/codecov.yml +0 -6
  29. meilisearch_python_sdk-7.5.1/meilisearch_python_sdk/_version.py +0 -1
  30. meilisearch_python_sdk-7.5.1/uv.lock +0 -1272
  31. {meilisearch_python_sdk-7.5.1 → meilisearch_python_sdk-8.0.0}/.github/FUNDING.yml +0 -0
  32. {meilisearch_python_sdk-7.5.1 → meilisearch_python_sdk-8.0.0}/.github/release-draft-template.yaml +0 -0
  33. {meilisearch_python_sdk-7.5.1 → meilisearch_python_sdk-8.0.0}/.github/renovate.json5 +0 -0
  34. {meilisearch_python_sdk-7.5.1 → meilisearch_python_sdk-8.0.0}/.github/workflows/release-drafter.yml +0 -0
  35. {meilisearch_python_sdk-7.5.1 → meilisearch_python_sdk-8.0.0}/.gitignore +0 -0
  36. {meilisearch_python_sdk-7.5.1 → meilisearch_python_sdk-8.0.0}/CONTRIBUTING.md +0 -0
  37. {meilisearch_python_sdk-7.5.1 → meilisearch_python_sdk-8.0.0}/LICENSE +0 -0
  38. {meilisearch_python_sdk-7.5.1 → meilisearch_python_sdk-8.0.0}/README.md +0 -0
  39. {meilisearch_python_sdk-7.5.1 → meilisearch_python_sdk-8.0.0}/assets/add_in_batches.png +0 -0
  40. {meilisearch_python_sdk-7.5.1 → meilisearch_python_sdk-8.0.0}/assets/searches.png +0 -0
  41. {meilisearch_python_sdk-7.5.1 → meilisearch_python_sdk-8.0.0}/datasets/small_movies.json +0 -0
  42. {meilisearch_python_sdk-7.5.1 → meilisearch_python_sdk-8.0.0}/docs/.nojekyll +0 -0
  43. {meilisearch_python_sdk-7.5.1 → meilisearch_python_sdk-8.0.0}/docs/CNAME +0 -0
  44. {meilisearch_python_sdk-7.5.1 → meilisearch_python_sdk-8.0.0}/docs/async_client_api.md +0 -0
  45. {meilisearch_python_sdk-7.5.1 → meilisearch_python_sdk-8.0.0}/docs/async_index_api.md +0 -0
  46. {meilisearch_python_sdk-7.5.1 → meilisearch_python_sdk-8.0.0}/docs/client_api.md +0 -0
  47. {meilisearch_python_sdk-7.5.1 → meilisearch_python_sdk-8.0.0}/docs/css/custom.css +0 -0
  48. {meilisearch_python_sdk-7.5.1 → meilisearch_python_sdk-8.0.0}/docs/decorators_api.md +0 -0
  49. {meilisearch_python_sdk-7.5.1 → meilisearch_python_sdk-8.0.0}/docs/errors_api.md +0 -0
  50. {meilisearch_python_sdk-7.5.1 → meilisearch_python_sdk-8.0.0}/docs/index.md +0 -0
  51. {meilisearch_python_sdk-7.5.1 → meilisearch_python_sdk-8.0.0}/docs/index_api.md +0 -0
  52. {meilisearch_python_sdk-7.5.1 → meilisearch_python_sdk-8.0.0}/docs/js/umami.js +0 -0
  53. {meilisearch_python_sdk-7.5.1 → meilisearch_python_sdk-8.0.0}/docs/json_handler.md +0 -0
  54. {meilisearch_python_sdk-7.5.1 → meilisearch_python_sdk-8.0.0}/docs/models_client.md +0 -0
  55. {meilisearch_python_sdk-7.5.1 → meilisearch_python_sdk-8.0.0}/docs/models_index.md +0 -0
  56. {meilisearch_python_sdk-7.5.1 → meilisearch_python_sdk-8.0.0}/docs/models_search.md +0 -0
  57. {meilisearch_python_sdk-7.5.1 → meilisearch_python_sdk-8.0.0}/docs/models_settings.md +0 -0
  58. {meilisearch_python_sdk-7.5.1 → meilisearch_python_sdk-8.0.0}/docs/models_task.md +0 -0
  59. {meilisearch_python_sdk-7.5.1 → meilisearch_python_sdk-8.0.0}/docs/overrides/partials/footer.html +0 -0
  60. {meilisearch_python_sdk-7.5.1 → meilisearch_python_sdk-8.0.0}/docs/plugins.md +0 -0
  61. {meilisearch_python_sdk-7.5.1 → meilisearch_python_sdk-8.0.0}/docs/pydantic.md +0 -0
  62. {meilisearch_python_sdk-7.5.1 → meilisearch_python_sdk-8.0.0}/examples/.gitignore +0 -0
  63. {meilisearch_python_sdk-7.5.1 → meilisearch_python_sdk-8.0.0}/examples/README.md +0 -0
  64. {meilisearch_python_sdk-7.5.1 → meilisearch_python_sdk-8.0.0}/examples/__init__.py +0 -0
  65. {meilisearch_python_sdk-7.5.1 → meilisearch_python_sdk-8.0.0}/examples/add_documents_decorator.py +0 -0
  66. {meilisearch_python_sdk-7.5.1 → meilisearch_python_sdk-8.0.0}/examples/add_documents_in_batches.py +0 -0
  67. {meilisearch_python_sdk-7.5.1 → meilisearch_python_sdk-8.0.0}/examples/async_add_documents_decorator.py +0 -0
  68. {meilisearch_python_sdk-7.5.1 → meilisearch_python_sdk-8.0.0}/examples/async_add_documents_in_batches.py +0 -0
  69. {meilisearch_python_sdk-7.5.1 → meilisearch_python_sdk-8.0.0}/examples/async_documents_and_search_results.py +0 -0
  70. {meilisearch_python_sdk-7.5.1 → meilisearch_python_sdk-8.0.0}/examples/async_search_tracker.py +0 -0
  71. {meilisearch_python_sdk-7.5.1 → meilisearch_python_sdk-8.0.0}/examples/async_update_settings.py +0 -0
  72. {meilisearch_python_sdk-7.5.1 → meilisearch_python_sdk-8.0.0}/examples/documents_and_search_results.py +0 -0
  73. {meilisearch_python_sdk-7.5.1 → meilisearch_python_sdk-8.0.0}/examples/fastapi_example.py +0 -0
  74. {meilisearch_python_sdk-7.5.1 → meilisearch_python_sdk-8.0.0}/examples/orjson_example.py +0 -0
  75. {meilisearch_python_sdk-7.5.1 → meilisearch_python_sdk-8.0.0}/examples/pyproject.toml +0 -0
  76. {meilisearch_python_sdk-7.5.1 → meilisearch_python_sdk-8.0.0}/examples/requirements.txt +0 -0
  77. {meilisearch_python_sdk-7.5.1 → meilisearch_python_sdk-8.0.0}/examples/search_tracker.py +0 -0
  78. {meilisearch_python_sdk-7.5.1 → meilisearch_python_sdk-8.0.0}/examples/tests/__init__.py +0 -0
  79. {meilisearch_python_sdk-7.5.1 → meilisearch_python_sdk-8.0.0}/examples/tests/conftest.py +0 -0
  80. {meilisearch_python_sdk-7.5.1 → meilisearch_python_sdk-8.0.0}/examples/tests/test_async_examples.py +0 -0
  81. {meilisearch_python_sdk-7.5.1 → meilisearch_python_sdk-8.0.0}/examples/tests/test_examples.py +0 -0
  82. {meilisearch_python_sdk-7.5.1 → meilisearch_python_sdk-8.0.0}/examples/update_settings.py +0 -0
  83. {meilisearch_python_sdk-7.5.1 → meilisearch_python_sdk-8.0.0}/justfile +0 -0
  84. {meilisearch_python_sdk-7.5.1 → meilisearch_python_sdk-8.0.0}/meilisearch_python_sdk/__init__.py +0 -0
  85. {meilisearch_python_sdk-7.5.1 → meilisearch_python_sdk-8.0.0}/meilisearch_python_sdk/_client/__init__.py +0 -0
  86. {meilisearch_python_sdk-7.5.1 → meilisearch_python_sdk-8.0.0}/meilisearch_python_sdk/_client/_common.py +0 -0
  87. {meilisearch_python_sdk-7.5.1 → meilisearch_python_sdk-8.0.0}/meilisearch_python_sdk/_http_requests.py +0 -0
  88. {meilisearch_python_sdk-7.5.1 → meilisearch_python_sdk-8.0.0}/meilisearch_python_sdk/errors.py +0 -0
  89. {meilisearch_python_sdk-7.5.1 → meilisearch_python_sdk-8.0.0}/meilisearch_python_sdk/index/__init__.py +0 -0
  90. {meilisearch_python_sdk-7.5.1 → meilisearch_python_sdk-8.0.0}/meilisearch_python_sdk/index/_common.py +0 -0
  91. {meilisearch_python_sdk-7.5.1 → meilisearch_python_sdk-8.0.0}/meilisearch_python_sdk/json_handler.py +0 -0
  92. {meilisearch_python_sdk-7.5.1 → meilisearch_python_sdk-8.0.0}/meilisearch_python_sdk/models/__init__.py +0 -0
  93. {meilisearch_python_sdk-7.5.1 → meilisearch_python_sdk-8.0.0}/meilisearch_python_sdk/models/batch.py +0 -0
  94. {meilisearch_python_sdk-7.5.1 → meilisearch_python_sdk-8.0.0}/meilisearch_python_sdk/models/client.py +0 -0
  95. {meilisearch_python_sdk-7.5.1 → meilisearch_python_sdk-8.0.0}/meilisearch_python_sdk/models/documents.py +0 -0
  96. {meilisearch_python_sdk-7.5.1 → meilisearch_python_sdk-8.0.0}/meilisearch_python_sdk/models/health.py +0 -0
  97. {meilisearch_python_sdk-7.5.1 → meilisearch_python_sdk-8.0.0}/meilisearch_python_sdk/models/index.py +0 -0
  98. {meilisearch_python_sdk-7.5.1 → meilisearch_python_sdk-8.0.0}/meilisearch_python_sdk/models/search.py +0 -0
  99. {meilisearch_python_sdk-7.5.1 → meilisearch_python_sdk-8.0.0}/meilisearch_python_sdk/models/task.py +0 -0
  100. {meilisearch_python_sdk-7.5.1 → meilisearch_python_sdk-8.0.0}/meilisearch_python_sdk/models/version.py +0 -0
  101. {meilisearch_python_sdk-7.5.1 → meilisearch_python_sdk-8.0.0}/meilisearch_python_sdk/models/webhook.py +0 -0
  102. {meilisearch_python_sdk-7.5.1 → meilisearch_python_sdk-8.0.0}/meilisearch_python_sdk/plugins.py +0 -0
  103. {meilisearch_python_sdk-7.5.1 → meilisearch_python_sdk-8.0.0}/meilisearch_python_sdk/py.typed +0 -0
  104. {meilisearch_python_sdk-7.5.1 → meilisearch_python_sdk-8.0.0}/meilisearch_python_sdk/types.py +0 -0
  105. {meilisearch_python_sdk-7.5.1 → meilisearch_python_sdk-8.0.0}/mkdocs.yaml +0 -0
  106. {meilisearch_python_sdk-7.5.1 → meilisearch_python_sdk-8.0.0}/tests/__init__.py +0 -0
  107. {meilisearch_python_sdk-7.5.1 → meilisearch_python_sdk-8.0.0}/tests/conftest.py +0 -0
  108. {meilisearch_python_sdk-7.5.1 → meilisearch_python_sdk-8.0.0}/tests/test_async_documents.py +0 -0
  109. {meilisearch_python_sdk-7.5.1 → meilisearch_python_sdk-8.0.0}/tests/test_async_index.py +0 -0
  110. {meilisearch_python_sdk-7.5.1 → meilisearch_python_sdk-8.0.0}/tests/test_async_index_plugins.py +0 -0
  111. {meilisearch_python_sdk-7.5.1 → meilisearch_python_sdk-8.0.0}/tests/test_decorators.py +0 -0
  112. {meilisearch_python_sdk-7.5.1 → meilisearch_python_sdk-8.0.0}/tests/test_documents.py +0 -0
  113. {meilisearch_python_sdk-7.5.1 → meilisearch_python_sdk-8.0.0}/tests/test_errors.py +0 -0
  114. {meilisearch_python_sdk-7.5.1 → meilisearch_python_sdk-8.0.0}/tests/test_http_requests.py +0 -0
  115. {meilisearch_python_sdk-7.5.1 → meilisearch_python_sdk-8.0.0}/tests/test_index.py +0 -0
  116. {meilisearch_python_sdk-7.5.1 → meilisearch_python_sdk-8.0.0}/tests/test_index_plugins.py +0 -0
  117. {meilisearch_python_sdk-7.5.1 → meilisearch_python_sdk-8.0.0}/tests/test_json_handler.py +0 -0
  118. {meilisearch_python_sdk-7.5.1 → meilisearch_python_sdk-8.0.0}/tests/test_settings_models.py +0 -0
  119. {meilisearch_python_sdk-7.5.1 → meilisearch_python_sdk-8.0.0}/tests/test_version.py +0 -0
@@ -5,7 +5,7 @@ on:
5
5
  - published
6
6
  workflow_dispatch:
7
7
  env:
8
- PYTHON_VERSION: "3.13"
8
+ PYTHON_VERSION: "3.14"
9
9
  permissions:
10
10
  pages: write
11
11
  id-token: write
@@ -16,7 +16,7 @@ jobs:
16
16
  steps:
17
17
  - uses: actions/checkout@v7
18
18
  - name: Install uv
19
- uses: astral-sh/setup-uv@v10.0.1
19
+ uses: astral-sh/setup-uv@v10.2.0
20
20
  with:
21
21
  enable-cache: true
22
22
  - 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.13"
8
+ PYTHON_VERSION: "3.14"
9
9
  jobs:
10
10
  random-test-order:
11
11
  strategy:
@@ -14,7 +14,7 @@ jobs:
14
14
  steps:
15
15
  - uses: actions/checkout@v7
16
16
  - name: Install uv
17
- uses: astral-sh/setup-uv@v10.0.1
17
+ uses: astral-sh/setup-uv@v10.2.0
18
18
  with:
19
19
  enable-cache: true
20
20
  - name: install Just
@@ -13,7 +13,7 @@ jobs:
13
13
  steps:
14
14
  - uses: actions/checkout@v7
15
15
  - name: Install uv
16
- uses: astral-sh/setup-uv@v10.0.1
16
+ uses: astral-sh/setup-uv@v10.2.0
17
17
  with:
18
18
  enable-cache: true
19
19
  - name: Set up Python
@@ -4,7 +4,7 @@ on:
4
4
  types:
5
5
  - published
6
6
  env:
7
- PYTHON_VERSION: "3.13"
7
+ PYTHON_VERSION: "3.14"
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@v7
16
16
  - name: Install uv
17
- uses: astral-sh/setup-uv@v10.0.1
17
+ uses: astral-sh/setup-uv@v10.2.0
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.10"
9
+ PYTHON_VERSION: "3.11"
10
10
  jobs:
11
11
  linting:
12
12
  runs-on: ubuntu-latest
@@ -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@v10.0.1
18
+ uses: astral-sh/setup-uv@v10.2.0
19
19
  with:
20
20
  enable-cache: true
21
21
  - name: Set up Python
@@ -31,21 +31,21 @@ jobs:
31
31
  runs-on: ubuntu-latest
32
32
  steps:
33
33
  - uses: actions/checkout@v7
34
- - uses: j178/prek-action@v3.0.0
34
+ - uses: j178/prek-action@v3.0.1
35
35
  env:
36
36
  PREK_SKIP: no-commit-to-branch,pyrefly-check
37
37
  parallel-testing:
38
38
  strategy:
39
39
  fail-fast: false
40
40
  matrix:
41
- python-version: ["3.10", "3.11", "3.12", "3.13", "3.14", "3.15-dev"]
41
+ python-version: ["3.11", "3.12", "3.13", "3.14", "3.15-dev"]
42
42
  runs-on: ubuntu-latest
43
43
  steps:
44
44
  - uses: actions/checkout@v7
45
45
  - name: install Just
46
46
  uses: taiki-e/install-action@just
47
47
  - name: Install uv
48
- uses: astral-sh/setup-uv@v10.0.1
48
+ uses: astral-sh/setup-uv@v10.2.0
49
49
  with:
50
50
  enable-cache: true
51
51
  - name: Set up Python ${{ matrix.python-version }}
@@ -58,7 +58,7 @@ jobs:
58
58
  - name: Test with pytest
59
59
  run: just test-parallel-ci
60
60
  - name: Upload coverage
61
- uses: codecov/codecov-action@v7.0.0
61
+ uses: codecov/codecov-action@v7.1.1
62
62
  env:
63
63
  CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
64
64
  with:
@@ -67,14 +67,14 @@ jobs:
67
67
  strategy:
68
68
  fail-fast: false
69
69
  matrix:
70
- python-version: ["3.10", "3.11", "3.12", "3.13", "3.14", "3.15-dev"]
70
+ python-version: ["3.11", "3.12", "3.13", "3.14", "3.15-dev"]
71
71
  runs-on: ubuntu-latest
72
72
  steps:
73
73
  - uses: actions/checkout@v7
74
74
  - name: install Just
75
75
  uses: taiki-e/install-action@just
76
76
  - name: Install uv
77
- uses: astral-sh/setup-uv@v10.0.1
77
+ uses: astral-sh/setup-uv@v10.2.0
78
78
  with:
79
79
  enable-cache: true
80
80
  - name: Set up Python ${{ matrix.python-version }}
@@ -98,7 +98,7 @@ jobs:
98
98
  - name: Test with pytest
99
99
  run: just test-parallel-ci-http2
100
100
  - name: Upload coverage
101
- uses: codecov/codecov-action@v7.0.0
101
+ uses: codecov/codecov-action@v7.1.1
102
102
  env:
103
103
  CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
104
104
  with:
@@ -107,14 +107,14 @@ jobs:
107
107
  strategy:
108
108
  fail-fast: false
109
109
  matrix:
110
- python-version: ["3.10", "3.11", "3.12", "3.13", "3.14", "3.15-dev"]
110
+ python-version: ["3.11", "3.12", "3.13", "3.14", "3.15-dev"]
111
111
  runs-on: ubuntu-latest
112
112
  steps:
113
113
  - uses: actions/checkout@v7
114
114
  - name: install Just
115
115
  uses: taiki-e/install-action@just
116
116
  - name: Install uv
117
- uses: astral-sh/setup-uv@v10.0.1
117
+ uses: astral-sh/setup-uv@v10.2.0
118
118
  with:
119
119
  enable-cache: true
120
120
  - name: Set up Python ${{ matrix.python-version }}
@@ -127,7 +127,7 @@ jobs:
127
127
  - name: Test with pytest
128
128
  run: just test-no-parallel-ci
129
129
  - name: Upload coverage
130
- uses: codecov/codecov-action@v7.0.0
130
+ uses: codecov/codecov-action@v7.1.1
131
131
  env:
132
132
  CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
133
133
  with:
@@ -136,14 +136,14 @@ jobs:
136
136
  strategy:
137
137
  fail-fast: false
138
138
  matrix:
139
- python-version: ["3.10", "3.11", "3.12", "3.13", "3.14", "3.15-dev"]
139
+ python-version: ["3.11", "3.12", "3.13", "3.14", "3.15-dev"]
140
140
  runs-on: ubuntu-latest
141
141
  steps:
142
142
  - uses: actions/checkout@v7
143
143
  - name: install Just
144
144
  uses: taiki-e/install-action@just
145
145
  - name: Install uv
146
- uses: astral-sh/setup-uv@v10.0.1
146
+ uses: astral-sh/setup-uv@v10.2.0
147
147
  with:
148
148
  enable-cache: true
149
149
  - name: Set up Python ${{ matrix.python-version }}
@@ -167,7 +167,7 @@ jobs:
167
167
  - name: Test with pytest
168
168
  run: just test-no-parallel-ci-http2
169
169
  - name: Upload coverage
170
- uses: codecov/codecov-action@v7.0.0
170
+ uses: codecov/codecov-action@v7.1.1
171
171
  env:
172
172
  CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
173
173
  with:
@@ -176,7 +176,7 @@ jobs:
176
176
  strategy:
177
177
  fail-fast: false
178
178
  matrix:
179
- python-version: ["3.10", "3.11", "3.12", "3.13", "3.14", "3.15-dev"]
179
+ python-version: ["3.11", "3.12", "3.13", "3.14", "3.15-dev"]
180
180
  runs-on: ubuntu-latest
181
181
  steps:
182
182
  - uses: actions/checkout@v7
@@ -197,7 +197,7 @@ jobs:
197
197
  - name: install Just
198
198
  uses: taiki-e/install-action@just
199
199
  - name: Install uv
200
- uses: astral-sh/setup-uv@v10.0.1
200
+ uses: astral-sh/setup-uv@v10.2.0
201
201
  with:
202
202
  enable-cache: true
203
203
  - name: Set up Python
@@ -1,10 +1,11 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: meilisearch-python-sdk
3
- Version: 7.5.1
3
+ Version: 8.0.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
7
7
  Project-URL: documentation, https://meilisearch-python-sdk.paulsanders.dev
8
+ Project-URL: funding, https://github.com/sponsors/sanders41
8
9
  Author-email: Paul Sanders <paul@paulsanders.dev>
9
10
  License: MIT License
10
11
 
@@ -33,13 +34,12 @@ Classifier: Development Status :: 5 - Production/Stable
33
34
  Classifier: Intended Audience :: Developers
34
35
  Classifier: License :: OSI Approved :: MIT License
35
36
  Classifier: Operating System :: OS Independent
36
- Classifier: Programming Language :: Python :: 3.10
37
37
  Classifier: Programming Language :: Python :: 3.11
38
38
  Classifier: Programming Language :: Python :: 3.12
39
39
  Classifier: Programming Language :: Python :: 3.13
40
40
  Classifier: Programming Language :: Python :: 3.14
41
41
  Classifier: Typing :: Typed
42
- Requires-Python: >=3.10
42
+ Requires-Python: >=3.11
43
43
  Requires-Dist: aiofiles>=0.7
44
44
  Requires-Dist: camel-converter[pydantic]>=1.0.0
45
45
  Requires-Dist: httpx2[http2]>=2.0.0
@@ -1,6 +1,6 @@
1
1
  services:
2
2
  meilisearch:
3
- image: getmeili/meilisearch:v1.53.1
3
+ image: getmeili/meilisearch:v1.54.3
4
4
  ports:
5
5
  - "7700:7700"
6
6
  environment:
@@ -1,6 +1,6 @@
1
1
  services:
2
2
  meilisearch:
3
- image: getmeili/meilisearch:v1.53.1
3
+ image: getmeili/meilisearch:v1.54.3
4
4
  ports:
5
5
  - "7700:7700"
6
6
  environment:
@@ -41,7 +41,7 @@ async def async_get_batches(
41
41
  json_handler: JsonHandler,
42
42
  uids: list[int] | None = None,
43
43
  batch_uids: list[int] | None = None,
44
- index_uids: list[int] | None = None,
44
+ index_uids: list[str] | None = None,
45
45
  statuses: list[str] | None = None,
46
46
  types: list[str] | None = None,
47
47
  limit: int = 20,
@@ -94,7 +94,7 @@ def get_batches(
94
94
  json_handler: JsonHandler,
95
95
  uids: list[int] | None = None,
96
96
  batch_uids: list[int] | None = None,
97
- index_uids: list[int] | None = None,
97
+ index_uids: list[str] | None = None,
98
98
  statuses: list[str] | None = None,
99
99
  types: list[str] | None = None,
100
100
  limit: int = 20,
@@ -131,7 +131,7 @@ def _build_parameters(
131
131
  *,
132
132
  uids: list[int] | None = None,
133
133
  batch_uids: list[int] | None = None,
134
- index_uids: list[int] | None = None,
134
+ index_uids: list[str] | None = None,
135
135
  statuses: list[str] | None = None,
136
136
  types: list[str] | None = None,
137
137
  limit: int = 20,
@@ -1,7 +1,7 @@
1
1
  from __future__ import annotations
2
2
 
3
3
  from datetime import datetime
4
- from typing import TYPE_CHECKING, Any, Literal
4
+ from typing import TYPE_CHECKING, Any, Literal, Self
5
5
 
6
6
  from camel_converter import dict_to_camel
7
7
  from httpx2 import AsyncClient as HttpxAsyncClient
@@ -45,18 +45,12 @@ from meilisearch_python_sdk.plugins import AsyncIndexPlugins
45
45
  from meilisearch_python_sdk.types import JsonDict
46
46
 
47
47
  if TYPE_CHECKING:
48
- import sys
49
48
  from ssl import SSLContext
50
49
  from types import TracebackType
51
50
 
52
51
  from meilisearch_python_sdk.models.batch import BatchResult, BatchStatus
53
52
  from meilisearch_python_sdk.types import JsonMapping
54
53
 
55
- if sys.version_info >= (3, 11):
56
- from typing import Self
57
- else:
58
- from typing_extensions import Self
59
-
60
54
 
61
55
  class AsyncClient(BaseClient):
62
56
  """Async client to connect to the Meilisearch API."""
@@ -895,7 +889,7 @@ class AsyncClient(BaseClient):
895
889
  *,
896
890
  uids: list[int] | None = None,
897
891
  batch_uids: list[int] | None = None,
898
- index_uids: list[int] | None = None,
892
+ index_uids: list[str] | None = None,
899
893
  statuses: list[str] | None = None,
900
894
  types: list[str] | None = None,
901
895
  limit: int = 20,
@@ -927,7 +921,7 @@ class AsyncClient(BaseClient):
927
921
  self,
928
922
  *,
929
923
  uids: list[int] | None = None,
930
- index_uids: list[int] | None = None,
924
+ index_uids: list[str] | None = None,
931
925
  statuses: list[str] | None = None,
932
926
  types: list[str] | None = None,
933
927
  before_enqueued_at: datetime | None = None,
@@ -1005,7 +999,7 @@ class AsyncClient(BaseClient):
1005
999
  self,
1006
1000
  *,
1007
1001
  uids: list[int] | None = None,
1008
- index_uids: list[int] | None = None,
1002
+ index_uids: list[str] | None = None,
1009
1003
  statuses: list[str] | None = None,
1010
1004
  types: list[str] | None = None,
1011
1005
  before_enqueued_at: datetime | None = None,
@@ -1061,6 +1055,18 @@ class AsyncClient(BaseClient):
1061
1055
  index_ids: list[str] | None = None,
1062
1056
  types: str | list[str] | None = None,
1063
1057
  reverse: bool | None = None,
1058
+ uids: list[int] | None = None,
1059
+ batch_uids: list[int] | None = None,
1060
+ canceled_by: list[int] | None = None,
1061
+ statuses: str | list[str] | None = None,
1062
+ before_enqueued_at: datetime | None = None,
1063
+ after_enqueued_at: datetime | None = None,
1064
+ before_started_at: datetime | None = None,
1065
+ after_started_at: datetime | None = None,
1066
+ before_finished_at: datetime | None = None,
1067
+ after_finished_at: datetime | None = None,
1068
+ limit: int | None = None,
1069
+ from_: int | None = None,
1064
1070
  ) -> TaskStatus:
1065
1071
  """Get multiple tasks.
1066
1072
 
@@ -1069,6 +1075,24 @@ class AsyncClient(BaseClient):
1069
1075
  tasks only for the specified indexes, if not all tasks will be returned. Default = None
1070
1076
  types: Specify specific task types to retrieve. Default = None
1071
1077
  reverse: If True the tasks will be returned in reverse order. Default = None
1078
+ uids: A list of task UIDs to retrieve. Default = None
1079
+ batch_uids: A list of batch UIDs for which to get the tasks. Default = None
1080
+ canceled_by: A list of task UIDs that canceled the tasks to retrieve. Default = None
1081
+ statuses: Specify specific task statuses to retrieve. Default = None
1082
+ before_enqueued_at: Get tasks that were enqueued before the specified date time.
1083
+ Default = None
1084
+ after_enqueued_at: Get tasks that were enqueued after the specified date time.
1085
+ Default = None
1086
+ before_started_at: Get tasks that were started before the specified date time.
1087
+ Default = None
1088
+ after_started_at: Get tasks that were started after the specified date time.
1089
+ Default = None
1090
+ before_finished_at: Get tasks that were finished before the specified date time.
1091
+ Default = None
1092
+ after_finished_at: Get tasks that were finished after the specified date time.
1093
+ Default = None
1094
+ limit: The maximum number of tasks to return. Default = None
1095
+ from_: The task UID from which to start returning tasks. Default = None
1072
1096
 
1073
1097
  Returns:
1074
1098
  Task statuses.
@@ -1090,6 +1114,18 @@ class AsyncClient(BaseClient):
1090
1114
  index_ids=index_ids,
1091
1115
  types=types,
1092
1116
  reverse=reverse,
1117
+ uids=uids,
1118
+ batch_uids=batch_uids,
1119
+ canceled_by=canceled_by,
1120
+ statuses=statuses,
1121
+ before_enqueued_at=before_enqueued_at,
1122
+ after_enqueued_at=after_enqueued_at,
1123
+ before_started_at=before_started_at,
1124
+ after_started_at=after_started_at,
1125
+ before_finished_at=before_finished_at,
1126
+ after_finished_at=after_finished_at,
1127
+ limit=limit,
1128
+ from_=from_,
1093
1129
  )
1094
1130
 
1095
1131
  async def wait_for_task(
@@ -1177,7 +1213,7 @@ class AsyncClient(BaseClient):
1177
1213
  """
1178
1214
  payload = build_transfer_documents_payload(url, api_key, payload_size, indexes)
1179
1215
 
1180
- response = await self._http_requests.post(url, body=payload)
1216
+ response = await self._http_requests.post("export", body=payload)
1181
1217
 
1182
1218
  return TaskInfo(**self._http_requests.parse_json(response))
1183
1219
 
@@ -1,6 +1,6 @@
1
1
  from __future__ import annotations
2
2
 
3
- from datetime import datetime, timezone
3
+ from datetime import UTC, datetime
4
4
  from typing import TYPE_CHECKING
5
5
 
6
6
  from meilisearch_python_sdk._utils import encode_jwt
@@ -106,7 +106,7 @@ class BaseClient:
106
106
 
107
107
  payload["apiKeyUid"] = api_key.uid
108
108
  if expires_at:
109
- if expires_at <= datetime.now(tz=timezone.utc):
109
+ if expires_at <= datetime.now(tz=UTC):
110
110
  raise ValueError("expires_at must be a time in the future")
111
111
 
112
112
  payload["exp"] = int(datetime.timestamp(expires_at))
@@ -1,7 +1,7 @@
1
1
  from __future__ import annotations
2
2
 
3
3
  from datetime import datetime
4
- from typing import TYPE_CHECKING, Any, Literal
4
+ from typing import TYPE_CHECKING, Any, Literal, Self
5
5
 
6
6
  from camel_converter import dict_to_camel
7
7
  from httpx2 import Client as HttpxClient
@@ -46,18 +46,12 @@ from meilisearch_python_sdk.plugins import IndexPlugins
46
46
  from meilisearch_python_sdk.types import JsonDict
47
47
 
48
48
  if TYPE_CHECKING:
49
- import sys
50
49
  from ssl import SSLContext
51
50
  from types import TracebackType
52
51
 
53
52
  from meilisearch_python_sdk.models.batch import BatchResult, BatchStatus
54
53
  from meilisearch_python_sdk.types import JsonMapping
55
54
 
56
- if sys.version_info >= (3, 11):
57
- from typing import Self
58
- else:
59
- from typing_extensions import Self
60
-
61
55
 
62
56
  class Client(BaseClient):
63
57
  """client to connect to the Meilisearch API."""
@@ -897,7 +891,7 @@ class Client(BaseClient):
897
891
  *,
898
892
  uids: list[int] | None = None,
899
893
  batch_uids: list[int] | None = None,
900
- index_uids: list[int] | None = None,
894
+ index_uids: list[str] | None = None,
901
895
  statuses: list[str] | None = None,
902
896
  types: list[str] | None = None,
903
897
  limit: int = 20,
@@ -929,7 +923,7 @@ class Client(BaseClient):
929
923
  self,
930
924
  *,
931
925
  uids: list[int] | None = None,
932
- index_uids: list[int] | None = None,
926
+ index_uids: list[str] | None = None,
933
927
  statuses: list[str] | None = None,
934
928
  types: list[str] | None = None,
935
929
  before_enqueued_at: datetime | None = None,
@@ -983,7 +977,7 @@ class Client(BaseClient):
983
977
  self,
984
978
  *,
985
979
  uids: list[int] | None = None,
986
- index_uids: list[int] | None = None,
980
+ index_uids: list[str] | None = None,
987
981
  statuses: list[str] | None = None,
988
982
  types: list[str] | None = None,
989
983
  before_enqueued_at: datetime | None = None,
@@ -1060,6 +1054,18 @@ class Client(BaseClient):
1060
1054
  index_ids: list[str] | None = None,
1061
1055
  types: str | list[str] | None = None,
1062
1056
  reverse: bool | None = None,
1057
+ uids: list[int] | None = None,
1058
+ batch_uids: list[int] | None = None,
1059
+ canceled_by: list[int] | None = None,
1060
+ statuses: str | list[str] | None = None,
1061
+ before_enqueued_at: datetime | None = None,
1062
+ after_enqueued_at: datetime | None = None,
1063
+ before_started_at: datetime | None = None,
1064
+ after_started_at: datetime | None = None,
1065
+ before_finished_at: datetime | None = None,
1066
+ after_finished_at: datetime | None = None,
1067
+ limit: int | None = None,
1068
+ from_: int | None = None,
1063
1069
  ) -> TaskStatus:
1064
1070
  """Get multiple tasks.
1065
1071
 
@@ -1068,6 +1074,24 @@ class Client(BaseClient):
1068
1074
  tasks only for the specified indexes, if not all tasks will be returned. Default = None
1069
1075
  types: Specify specific task types to retrieve. Default = None
1070
1076
  reverse: If True the tasks will be returned in reverse order. Default = None
1077
+ uids: A list of task UIDs to retrieve. Default = None
1078
+ batch_uids: A list of batch UIDs for which to get the tasks. Default = None
1079
+ canceled_by: A list of task UIDs that canceled the tasks to retrieve. Default = None
1080
+ statuses: Specify specific task statuses to retrieve. Default = None
1081
+ before_enqueued_at: Get tasks that were enqueued before the specified date time.
1082
+ Default = None
1083
+ after_enqueued_at: Get tasks that were enqueued after the specified date time.
1084
+ Default = None
1085
+ before_started_at: Get tasks that were started before the specified date time.
1086
+ Default = None
1087
+ after_started_at: Get tasks that were started after the specified date time.
1088
+ Default = None
1089
+ before_finished_at: Get tasks that were finished before the specified date time.
1090
+ Default = None
1091
+ after_finished_at: Get tasks that were finished after the specified date time.
1092
+ Default = None
1093
+ limit: The maximum number of tasks to return. Default = None
1094
+ from_: The task UID from which to start returning tasks. Default = None
1071
1095
 
1072
1096
  Returns:
1073
1097
  Task statuses.
@@ -1089,6 +1113,18 @@ class Client(BaseClient):
1089
1113
  index_ids=index_ids,
1090
1114
  types=types,
1091
1115
  reverse=reverse,
1116
+ uids=uids,
1117
+ batch_uids=batch_uids,
1118
+ canceled_by=canceled_by,
1119
+ statuses=statuses,
1120
+ before_enqueued_at=before_enqueued_at,
1121
+ after_enqueued_at=after_enqueued_at,
1122
+ before_started_at=before_started_at,
1123
+ after_started_at=after_started_at,
1124
+ before_finished_at=before_finished_at,
1125
+ after_finished_at=after_finished_at,
1126
+ limit=limit,
1127
+ from_=from_,
1092
1128
  )
1093
1129
 
1094
1130
  def wait_for_task(
@@ -1174,7 +1210,7 @@ class Client(BaseClient):
1174
1210
  """
1175
1211
  payload = build_transfer_documents_payload(url, api_key, payload_size, indexes)
1176
1212
 
1177
- response = self._http_requests.post(url, body=payload)
1213
+ response = self._http_requests.post("export", body=payload)
1178
1214
 
1179
1215
  return TaskInfo(**self._http_requests.parse_json(response))
1180
1216