meilisearch-python-sdk 3.1.0__tar.gz → 6.1.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.
- meilisearch_python_sdk-6.1.0/.github/FUNDING.yml +1 -0
- meilisearch_python_sdk-6.1.0/.github/release-draft-template.yaml +28 -0
- meilisearch_python_sdk-6.1.0/.github/renovate.json5 +12 -0
- meilisearch_python_sdk-6.1.0/.github/workflows/docs_publish.yml +25 -0
- meilisearch_python_sdk-6.1.0/.github/workflows/nightly_testing.yml +31 -0
- meilisearch_python_sdk-6.1.0/.github/workflows/pypi_publish.yml +29 -0
- meilisearch_python_sdk-6.1.0/.github/workflows/release-drafter.yml +16 -0
- meilisearch_python_sdk-6.1.0/.github/workflows/testing.yml +204 -0
- meilisearch_python_sdk-6.1.0/.gitignore +139 -0
- meilisearch_python_sdk-6.1.0/.pre-commit-config.yaml +21 -0
- meilisearch_python_sdk-6.1.0/CONTRIBUTING.md +328 -0
- {meilisearch_python_sdk-3.1.0 → meilisearch_python_sdk-6.1.0}/PKG-INFO +52 -35
- {meilisearch_python_sdk-3.1.0 → meilisearch_python_sdk-6.1.0}/README.md +13 -13
- meilisearch_python_sdk-6.1.0/assets/add_in_batches.png +0 -0
- meilisearch_python_sdk-6.1.0/assets/searches.png +0 -0
- meilisearch_python_sdk-6.1.0/codecov.yml +6 -0
- meilisearch_python_sdk-6.1.0/datasets/small_movies.json +222 -0
- meilisearch_python_sdk-6.1.0/docker-compose.https.yml +19 -0
- meilisearch_python_sdk-6.1.0/docker-compose.yml +8 -0
- meilisearch_python_sdk-6.1.0/docs/CNAME +1 -0
- meilisearch_python_sdk-6.1.0/docs/async_client_api.md +53 -0
- meilisearch_python_sdk-6.1.0/docs/async_index_api.md +9 -0
- meilisearch_python_sdk-6.1.0/docs/client_api.md +53 -0
- meilisearch_python_sdk-6.1.0/docs/css/custom.css +45 -0
- meilisearch_python_sdk-6.1.0/docs/decorators_api.md +5 -0
- meilisearch_python_sdk-6.1.0/docs/index.md +15 -0
- meilisearch_python_sdk-6.1.0/docs/index_api.md +8 -0
- meilisearch_python_sdk-6.1.0/docs/js/umami.js +7 -0
- meilisearch_python_sdk-6.1.0/docs/json_handler.md +63 -0
- meilisearch_python_sdk-6.1.0/docs/overrides/partials/footer.html +25 -0
- meilisearch_python_sdk-6.1.0/docs/plugins.md +315 -0
- meilisearch_python_sdk-6.1.0/docs/pydantic.md +93 -0
- meilisearch_python_sdk-6.1.0/examples/.gitignore +5 -0
- meilisearch_python_sdk-6.1.0/examples/README.md +25 -0
- meilisearch_python_sdk-6.1.0/examples/add_documents_decorator.py +33 -0
- meilisearch_python_sdk-6.1.0/examples/add_documents_in_batches.py +22 -0
- meilisearch_python_sdk-6.1.0/examples/async_add_documents_decorator.py +40 -0
- meilisearch_python_sdk-6.1.0/examples/async_add_documents_in_batches.py +34 -0
- meilisearch_python_sdk-6.1.0/examples/async_documents_and_search_results.py +83 -0
- meilisearch_python_sdk-6.1.0/examples/async_search_tracker.py +78 -0
- meilisearch_python_sdk-6.1.0/examples/async_update_settings.py +43 -0
- meilisearch_python_sdk-6.1.0/examples/documents_and_search_results.py +77 -0
- meilisearch_python_sdk-6.1.0/examples/fastapi_example.py +74 -0
- meilisearch_python_sdk-6.1.0/examples/orjson_example.py +23 -0
- meilisearch_python_sdk-6.1.0/examples/pyproject.toml +4 -0
- meilisearch_python_sdk-6.1.0/examples/requirements.txt +4 -0
- meilisearch_python_sdk-6.1.0/examples/search_tracker.py +68 -0
- meilisearch_python_sdk-6.1.0/examples/tests/__init__.py +0 -0
- meilisearch_python_sdk-6.1.0/examples/tests/conftest.py +56 -0
- meilisearch_python_sdk-6.1.0/examples/tests/test_async_examples.py +53 -0
- meilisearch_python_sdk-6.1.0/examples/tests/test_examples.py +39 -0
- meilisearch_python_sdk-6.1.0/examples/update_settings.py +38 -0
- meilisearch_python_sdk-6.1.0/justfile +90 -0
- meilisearch_python_sdk-6.1.0/meilisearch_python_sdk/_batch.py +170 -0
- {meilisearch_python_sdk-3.1.0 → meilisearch_python_sdk-6.1.0}/meilisearch_python_sdk/_client.py +937 -391
- {meilisearch_python_sdk-3.1.0 → meilisearch_python_sdk-6.1.0}/meilisearch_python_sdk/_http_requests.py +45 -22
- {meilisearch_python_sdk-3.1.0 → meilisearch_python_sdk-6.1.0}/meilisearch_python_sdk/_task.py +68 -74
- {meilisearch_python_sdk-3.1.0 → meilisearch_python_sdk-6.1.0}/meilisearch_python_sdk/_utils.py +36 -0
- meilisearch_python_sdk-6.1.0/meilisearch_python_sdk/_version.py +1 -0
- {meilisearch_python_sdk-3.1.0 → meilisearch_python_sdk-6.1.0}/meilisearch_python_sdk/decorators.py +25 -23
- {meilisearch_python_sdk-3.1.0 → meilisearch_python_sdk-6.1.0}/meilisearch_python_sdk/errors.py +9 -4
- meilisearch_python_sdk-6.1.0/meilisearch_python_sdk/index/__init__.py +4 -0
- meilisearch_python_sdk-6.1.0/meilisearch_python_sdk/index/_common.py +293 -0
- meilisearch_python_sdk-3.1.0/meilisearch_python_sdk/index.py → meilisearch_python_sdk-6.1.0/meilisearch_python_sdk/index/async_index.py +1056 -4455
- meilisearch_python_sdk-6.1.0/meilisearch_python_sdk/index/index.py +3924 -0
- {meilisearch_python_sdk-3.1.0 → meilisearch_python_sdk-6.1.0}/meilisearch_python_sdk/json_handler.py +19 -29
- meilisearch_python_sdk-6.1.0/meilisearch_python_sdk/models/__init__.py +0 -0
- meilisearch_python_sdk-6.1.0/meilisearch_python_sdk/models/batch.py +58 -0
- {meilisearch_python_sdk-3.1.0 → meilisearch_python_sdk-6.1.0}/meilisearch_python_sdk/models/client.py +14 -2
- meilisearch_python_sdk-6.1.0/meilisearch_python_sdk/models/index.py +98 -0
- {meilisearch_python_sdk-3.1.0 → meilisearch_python_sdk-6.1.0}/meilisearch_python_sdk/models/search.py +39 -3
- {meilisearch_python_sdk-3.1.0 → meilisearch_python_sdk-6.1.0}/meilisearch_python_sdk/models/settings.py +77 -14
- {meilisearch_python_sdk-3.1.0 → meilisearch_python_sdk-6.1.0}/meilisearch_python_sdk/models/task.py +5 -1
- {meilisearch_python_sdk-3.1.0 → meilisearch_python_sdk-6.1.0}/meilisearch_python_sdk/models/version.py +1 -2
- meilisearch_python_sdk-6.1.0/meilisearch_python_sdk/models/webhook.py +24 -0
- {meilisearch_python_sdk-3.1.0 → meilisearch_python_sdk-6.1.0}/meilisearch_python_sdk/plugins.py +15 -7
- meilisearch_python_sdk-6.1.0/meilisearch_python_sdk/py.typed +0 -0
- meilisearch_python_sdk-6.1.0/meilisearch_python_sdk/types.py +8 -0
- meilisearch_python_sdk-6.1.0/mkdocs.yaml +50 -0
- meilisearch_python_sdk-6.1.0/pyproject.toml +127 -0
- meilisearch_python_sdk-6.1.0/tests/__init__.py +0 -0
- meilisearch_python_sdk-6.1.0/tests/conftest.py +355 -0
- meilisearch_python_sdk-6.1.0/tests/test_async_client.py +1129 -0
- meilisearch_python_sdk-6.1.0/tests/test_async_documents.py +1733 -0
- meilisearch_python_sdk-6.1.0/tests/test_async_index.py +1057 -0
- meilisearch_python_sdk-6.1.0/tests/test_async_index_plugins.py +532 -0
- meilisearch_python_sdk-6.1.0/tests/test_async_search.py +705 -0
- meilisearch_python_sdk-6.1.0/tests/test_client.py +1110 -0
- meilisearch_python_sdk-6.1.0/tests/test_decorators.py +136 -0
- meilisearch_python_sdk-6.1.0/tests/test_documents.py +1582 -0
- meilisearch_python_sdk-6.1.0/tests/test_errors.py +69 -0
- meilisearch_python_sdk-6.1.0/tests/test_http_requests.py +39 -0
- meilisearch_python_sdk-6.1.0/tests/test_index.py +1058 -0
- meilisearch_python_sdk-6.1.0/tests/test_index_plugins.py +479 -0
- meilisearch_python_sdk-6.1.0/tests/test_search.py +685 -0
- meilisearch_python_sdk-6.1.0/tests/test_settings_models.py +17 -0
- meilisearch_python_sdk-6.1.0/tests/test_utils.py +35 -0
- meilisearch_python_sdk-6.1.0/tests/test_version.py +6 -0
- meilisearch_python_sdk-6.1.0/uv.lock +1507 -0
- meilisearch_python_sdk-3.1.0/meilisearch_python_sdk/_version.py +0 -1
- meilisearch_python_sdk-3.1.0/meilisearch_python_sdk/models/index.py +0 -44
- meilisearch_python_sdk-3.1.0/meilisearch_python_sdk/types.py +0 -14
- meilisearch_python_sdk-3.1.0/pyproject.toml +0 -117
- {meilisearch_python_sdk-3.1.0 → meilisearch_python_sdk-6.1.0}/LICENSE +0 -0
- /meilisearch_python_sdk-3.1.0/meilisearch_python_sdk/models/__init__.py → /meilisearch_python_sdk-6.1.0/docs/.nojekyll +0 -0
- /meilisearch_python_sdk-3.1.0/meilisearch_python_sdk/py.typed → /meilisearch_python_sdk-6.1.0/examples/__init__.py +0 -0
- {meilisearch_python_sdk-3.1.0 → meilisearch_python_sdk-6.1.0}/meilisearch_python_sdk/__init__.py +0 -0
- {meilisearch_python_sdk-3.1.0 → meilisearch_python_sdk-6.1.0}/meilisearch_python_sdk/models/documents.py +0 -0
- {meilisearch_python_sdk-3.1.0 → meilisearch_python_sdk-6.1.0}/meilisearch_python_sdk/models/health.py +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
github: [sanders41]
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
name-template: "v$RESOLVED_VERSION"
|
|
2
|
+
tag-template: "v$RESOLVED_VERSION"
|
|
3
|
+
exclude-labels:
|
|
4
|
+
- "dependencies"
|
|
5
|
+
- "skip-changelog"
|
|
6
|
+
version-resolver:
|
|
7
|
+
major:
|
|
8
|
+
labels:
|
|
9
|
+
- "breaking-change"
|
|
10
|
+
minor:
|
|
11
|
+
labels:
|
|
12
|
+
- "enhancement"
|
|
13
|
+
- "feature"
|
|
14
|
+
default: patch
|
|
15
|
+
categories:
|
|
16
|
+
- title: "⚠️ Breaking changes"
|
|
17
|
+
label: "breaking-change"
|
|
18
|
+
- title: "Features"
|
|
19
|
+
labels:
|
|
20
|
+
- "feature"
|
|
21
|
+
- "enhancement"
|
|
22
|
+
- title: "Bug Fixes"
|
|
23
|
+
labels: "bug"
|
|
24
|
+
change-template: "- $TITLE @$AUTHOR (#$NUMBER)"
|
|
25
|
+
template: |
|
|
26
|
+
## Changes
|
|
27
|
+
|
|
28
|
+
$CHANGES
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
|
|
3
|
+
"extends": [
|
|
4
|
+
"config:recommended",
|
|
5
|
+
":disableDependencyDashboard",
|
|
6
|
+
":semanticCommitsDisabled"
|
|
7
|
+
],
|
|
8
|
+
lockFileMaintenance: {
|
|
9
|
+
enabled: true,
|
|
10
|
+
},
|
|
11
|
+
"labels": ["dependencies", "skip-changelog"],
|
|
12
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
name: Docs Publish
|
|
2
|
+
on:
|
|
3
|
+
release:
|
|
4
|
+
types:
|
|
5
|
+
- published
|
|
6
|
+
workflow_dispatch:
|
|
7
|
+
env:
|
|
8
|
+
PYTHON_VERSION: "3.13"
|
|
9
|
+
jobs:
|
|
10
|
+
deploy:
|
|
11
|
+
runs-on: ubuntu-latest
|
|
12
|
+
steps:
|
|
13
|
+
- uses: actions/checkout@v6
|
|
14
|
+
- name: Install uv
|
|
15
|
+
uses: astral-sh/setup-uv@v7
|
|
16
|
+
with:
|
|
17
|
+
enable-cache: true
|
|
18
|
+
- name: Set up Python
|
|
19
|
+
uses: actions/setup-python@v6
|
|
20
|
+
with:
|
|
21
|
+
python-version: ${{ env.PYTHON_VERSION }}
|
|
22
|
+
- name: Install Dependencies
|
|
23
|
+
run: uv sync --frozen --all-extras
|
|
24
|
+
- name: Deploy Docs
|
|
25
|
+
run: uv run mkdocs gh-deploy --force
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
name: Nightly Testing
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
schedule:
|
|
5
|
+
# Set with UTC time
|
|
6
|
+
- cron: "0 5 * * *"
|
|
7
|
+
env:
|
|
8
|
+
PYTHON_VERSION: "3.13"
|
|
9
|
+
jobs:
|
|
10
|
+
random-test-order:
|
|
11
|
+
strategy:
|
|
12
|
+
fail-fast: false
|
|
13
|
+
runs-on: ubuntu-latest
|
|
14
|
+
steps:
|
|
15
|
+
- uses: actions/checkout@v6
|
|
16
|
+
- name: Install uv
|
|
17
|
+
uses: astral-sh/setup-uv@v7
|
|
18
|
+
with:
|
|
19
|
+
enable-cache: true
|
|
20
|
+
- name: install Just
|
|
21
|
+
uses: taiki-e/install-action@just
|
|
22
|
+
- name: Set up Python
|
|
23
|
+
uses: actions/setup-python@v6
|
|
24
|
+
with:
|
|
25
|
+
python-version: ${{ env.PYTHON_VERSION }}
|
|
26
|
+
- name: Install Dependencies
|
|
27
|
+
run: |
|
|
28
|
+
just install
|
|
29
|
+
uv pip install pytest-randomly
|
|
30
|
+
- name: Test with pytest in random order
|
|
31
|
+
run: just test-ci
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
name: PyPi Publish
|
|
2
|
+
on:
|
|
3
|
+
release:
|
|
4
|
+
types:
|
|
5
|
+
- published
|
|
6
|
+
env:
|
|
7
|
+
PYTHON_VERSION: "3.13"
|
|
8
|
+
jobs:
|
|
9
|
+
deploy:
|
|
10
|
+
runs-on: ubuntu-latest
|
|
11
|
+
permissions:
|
|
12
|
+
# For PyPI's trusted publishing.
|
|
13
|
+
id-token: write
|
|
14
|
+
steps:
|
|
15
|
+
- uses: actions/checkout@v6
|
|
16
|
+
- name: Install uv
|
|
17
|
+
uses: astral-sh/setup-uv@v7
|
|
18
|
+
with:
|
|
19
|
+
enable-cache: true
|
|
20
|
+
- name: Set up Python
|
|
21
|
+
uses: actions/setup-python@v6
|
|
22
|
+
with:
|
|
23
|
+
python-version: ${{ env.PYTHON_VERSION }}
|
|
24
|
+
- name: Install Dependencies
|
|
25
|
+
run: uv sync --frozen --all-extras
|
|
26
|
+
- name: Build package
|
|
27
|
+
run: uv build
|
|
28
|
+
- name: Publish package
|
|
29
|
+
run: uv publish
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
name: Release Drafter
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches:
|
|
6
|
+
- main
|
|
7
|
+
|
|
8
|
+
jobs:
|
|
9
|
+
update_release_draft:
|
|
10
|
+
runs-on: ubuntu-latest
|
|
11
|
+
steps:
|
|
12
|
+
- uses: release-drafter/release-drafter@v6
|
|
13
|
+
with:
|
|
14
|
+
config-name: release-draft-template.yaml
|
|
15
|
+
env:
|
|
16
|
+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
name: Testing
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches:
|
|
6
|
+
- main
|
|
7
|
+
pull_request:
|
|
8
|
+
env:
|
|
9
|
+
PYTHON_VERSION: "3.10"
|
|
10
|
+
jobs:
|
|
11
|
+
linting:
|
|
12
|
+
runs-on: ubuntu-latest
|
|
13
|
+
steps:
|
|
14
|
+
- uses: actions/checkout@v6
|
|
15
|
+
- name: install Just
|
|
16
|
+
uses: taiki-e/install-action@just
|
|
17
|
+
- name: Install uv
|
|
18
|
+
uses: astral-sh/setup-uv@v7
|
|
19
|
+
with:
|
|
20
|
+
enable-cache: true
|
|
21
|
+
- name: Set up Python
|
|
22
|
+
uses: actions/setup-python@v6
|
|
23
|
+
with:
|
|
24
|
+
python-version: ${{ env.PYTHON_VERSION }}
|
|
25
|
+
allow-prereleases: true
|
|
26
|
+
- name: Install Dependencies
|
|
27
|
+
run: just install
|
|
28
|
+
- name: mypy check
|
|
29
|
+
run: just mypy
|
|
30
|
+
|
|
31
|
+
parallel-testing:
|
|
32
|
+
strategy:
|
|
33
|
+
fail-fast: false
|
|
34
|
+
matrix:
|
|
35
|
+
python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]
|
|
36
|
+
runs-on: ubuntu-latest
|
|
37
|
+
steps:
|
|
38
|
+
- uses: actions/checkout@v6
|
|
39
|
+
- name: install Just
|
|
40
|
+
uses: taiki-e/install-action@just
|
|
41
|
+
- name: Install uv
|
|
42
|
+
uses: astral-sh/setup-uv@v7
|
|
43
|
+
with:
|
|
44
|
+
enable-cache: true
|
|
45
|
+
- name: Set up Python ${{ matrix.python-version }}
|
|
46
|
+
uses: actions/setup-python@v6
|
|
47
|
+
with:
|
|
48
|
+
python-version: ${{ matrix.python-version }}
|
|
49
|
+
allow-prereleases: true
|
|
50
|
+
- name: Install Dependencies
|
|
51
|
+
run: just install
|
|
52
|
+
- name: Test with pytest
|
|
53
|
+
run: just test-parallel-ci
|
|
54
|
+
- name: Upload coverage
|
|
55
|
+
uses: codecov/codecov-action@v5.5.2
|
|
56
|
+
with:
|
|
57
|
+
token: ${{ secrets.CODECOV_TOKEN }}
|
|
58
|
+
fail_ci_if_error: true
|
|
59
|
+
|
|
60
|
+
parallel-testing-http2:
|
|
61
|
+
strategy:
|
|
62
|
+
fail-fast: false
|
|
63
|
+
matrix:
|
|
64
|
+
python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]
|
|
65
|
+
runs-on: ubuntu-latest
|
|
66
|
+
steps:
|
|
67
|
+
- uses: actions/checkout@v6
|
|
68
|
+
- name: install Just
|
|
69
|
+
uses: taiki-e/install-action@just
|
|
70
|
+
- name: Install uv
|
|
71
|
+
uses: astral-sh/setup-uv@v7
|
|
72
|
+
with:
|
|
73
|
+
enable-cache: true
|
|
74
|
+
- name: Set up Python ${{ matrix.python-version }}
|
|
75
|
+
uses: actions/setup-python@v6
|
|
76
|
+
with:
|
|
77
|
+
python-version: ${{ matrix.python-version }}
|
|
78
|
+
allow-prereleases: true
|
|
79
|
+
- name: Install Dependencies
|
|
80
|
+
run: just install
|
|
81
|
+
- name: Install truststore
|
|
82
|
+
run: uv pip install truststore
|
|
83
|
+
- name: Install ssl requirements
|
|
84
|
+
run: |
|
|
85
|
+
sudo apt-get update
|
|
86
|
+
sudo apt-get install -y libnss3-tools build-essential gcc
|
|
87
|
+
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
|
|
88
|
+
eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"
|
|
89
|
+
brew install mkcert
|
|
90
|
+
mkcert -install
|
|
91
|
+
mkcert -key-file meilisearch.key -cert-file meilisearch.crt localhost 127.0.0.1 ::1
|
|
92
|
+
- name: Test with pytest
|
|
93
|
+
run: just test-parallel-ci-http2
|
|
94
|
+
- name: Upload coverage
|
|
95
|
+
uses: codecov/codecov-action@v5.5.2
|
|
96
|
+
with:
|
|
97
|
+
token: ${{ secrets.CODECOV_TOKEN }}
|
|
98
|
+
fail_ci_if_error: true
|
|
99
|
+
|
|
100
|
+
no-parallel-testing:
|
|
101
|
+
strategy:
|
|
102
|
+
fail-fast: false
|
|
103
|
+
matrix:
|
|
104
|
+
python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]
|
|
105
|
+
runs-on: ubuntu-latest
|
|
106
|
+
steps:
|
|
107
|
+
- uses: actions/checkout@v6
|
|
108
|
+
- name: install Just
|
|
109
|
+
uses: taiki-e/install-action@just
|
|
110
|
+
- name: Install uv
|
|
111
|
+
uses: astral-sh/setup-uv@v7
|
|
112
|
+
with:
|
|
113
|
+
enable-cache: true
|
|
114
|
+
- name: Set up Python ${{ matrix.python-version }}
|
|
115
|
+
uses: actions/setup-python@v6
|
|
116
|
+
with:
|
|
117
|
+
python-version: ${{ matrix.python-version }}
|
|
118
|
+
allow-prereleases: true
|
|
119
|
+
- name: Install Dependencies
|
|
120
|
+
run: just install
|
|
121
|
+
- name: Test with pytest
|
|
122
|
+
run: just test-no-parallel-ci
|
|
123
|
+
- name: Upload coverage
|
|
124
|
+
uses: codecov/codecov-action@v5.5.2
|
|
125
|
+
with:
|
|
126
|
+
token: ${{ secrets.CODECOV_TOKEN }}
|
|
127
|
+
fail_ci_if_error: true
|
|
128
|
+
|
|
129
|
+
no-parallel-testing-http2:
|
|
130
|
+
strategy:
|
|
131
|
+
fail-fast: false
|
|
132
|
+
matrix:
|
|
133
|
+
python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]
|
|
134
|
+
runs-on: ubuntu-latest
|
|
135
|
+
steps:
|
|
136
|
+
- uses: actions/checkout@v6
|
|
137
|
+
- name: install Just
|
|
138
|
+
uses: taiki-e/install-action@just
|
|
139
|
+
- name: Install uv
|
|
140
|
+
uses: astral-sh/setup-uv@v7
|
|
141
|
+
with:
|
|
142
|
+
enable-cache: true
|
|
143
|
+
- name: Set up Python ${{ matrix.python-version }}
|
|
144
|
+
uses: actions/setup-python@v6
|
|
145
|
+
with:
|
|
146
|
+
python-version: ${{ matrix.python-version }}
|
|
147
|
+
allow-prereleases: true
|
|
148
|
+
- name: Install Dependencies
|
|
149
|
+
run: just install
|
|
150
|
+
- name: Install truststore
|
|
151
|
+
run: uv pip install truststore
|
|
152
|
+
- name: Install ssl requirements
|
|
153
|
+
run: |
|
|
154
|
+
sudo apt-get update
|
|
155
|
+
sudo apt-get install -y libnss3-tools build-essential gcc
|
|
156
|
+
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
|
|
157
|
+
eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"
|
|
158
|
+
brew install mkcert
|
|
159
|
+
mkcert -install
|
|
160
|
+
mkcert -key-file meilisearch.key -cert-file meilisearch.crt localhost 127.0.0.1 ::1
|
|
161
|
+
- name: Test with pytest
|
|
162
|
+
run: just test-no-parallel-ci-http2
|
|
163
|
+
- name: Upload coverage
|
|
164
|
+
uses: codecov/codecov-action@v5.5.2
|
|
165
|
+
with:
|
|
166
|
+
token: ${{ secrets.CODECOV_TOKEN }}
|
|
167
|
+
fail_ci_if_error: true
|
|
168
|
+
example-testing:
|
|
169
|
+
strategy:
|
|
170
|
+
fail-fast: false
|
|
171
|
+
matrix:
|
|
172
|
+
python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]
|
|
173
|
+
runs-on: ubuntu-latest
|
|
174
|
+
steps:
|
|
175
|
+
- uses: actions/checkout@v6
|
|
176
|
+
- name: install Just
|
|
177
|
+
uses: taiki-e/install-action@just
|
|
178
|
+
- name: Set up Python ${{ matrix.python-version }}
|
|
179
|
+
uses: actions/setup-python@v6
|
|
180
|
+
with:
|
|
181
|
+
python-version: ${{ matrix.python-version }}
|
|
182
|
+
allow-prereleases: true
|
|
183
|
+
cache: pip
|
|
184
|
+
- name: Test with pytest
|
|
185
|
+
run: just test-examples-ci
|
|
186
|
+
|
|
187
|
+
docs:
|
|
188
|
+
runs-on: ubuntu-latest
|
|
189
|
+
steps:
|
|
190
|
+
- uses: actions/checkout@v6
|
|
191
|
+
- name: install Just
|
|
192
|
+
uses: taiki-e/install-action@just
|
|
193
|
+
- name: Install uv
|
|
194
|
+
uses: astral-sh/setup-uv@v7
|
|
195
|
+
with:
|
|
196
|
+
enable-cache: true
|
|
197
|
+
- name: Set up Python
|
|
198
|
+
uses: actions/setup-python@v6
|
|
199
|
+
with:
|
|
200
|
+
python-version: "3.14"
|
|
201
|
+
- name: Install Dependencies
|
|
202
|
+
run: just install
|
|
203
|
+
- name: Test Docs Build
|
|
204
|
+
run: just build-docs
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
meilisearch.crt
|
|
2
|
+
meilisearch.key
|
|
3
|
+
# Byte-compiled / optimized / DLL files
|
|
4
|
+
__pycache__/
|
|
5
|
+
*.py[cod]
|
|
6
|
+
*$py.class
|
|
7
|
+
|
|
8
|
+
# OS Files
|
|
9
|
+
*.swp
|
|
10
|
+
*.DS_Store
|
|
11
|
+
|
|
12
|
+
# C extensions
|
|
13
|
+
*.so
|
|
14
|
+
|
|
15
|
+
# Distribution / packaging
|
|
16
|
+
.Python
|
|
17
|
+
build/
|
|
18
|
+
develop-eggs/
|
|
19
|
+
dist/
|
|
20
|
+
downloads/
|
|
21
|
+
eggs/
|
|
22
|
+
.eggs/
|
|
23
|
+
lib/
|
|
24
|
+
lib64/
|
|
25
|
+
parts/
|
|
26
|
+
sdist/
|
|
27
|
+
var/
|
|
28
|
+
wheels/
|
|
29
|
+
pip-wheel-metadata/
|
|
30
|
+
share/python-wheels/
|
|
31
|
+
*.egg-info/
|
|
32
|
+
.installed.cfg
|
|
33
|
+
*.egg
|
|
34
|
+
MANIFEST
|
|
35
|
+
|
|
36
|
+
# PyInstaller
|
|
37
|
+
# Usually these files are written by a python script from a template
|
|
38
|
+
# before PyInstaller builds the exe, so as to inject date/other infos into it.
|
|
39
|
+
*.manifest
|
|
40
|
+
*.spec
|
|
41
|
+
|
|
42
|
+
# Installer logs
|
|
43
|
+
pip-log.txt
|
|
44
|
+
pip-delete-this-directory.txt
|
|
45
|
+
|
|
46
|
+
# Unit test / coverage reports
|
|
47
|
+
htmlcov/
|
|
48
|
+
.tox/
|
|
49
|
+
.nox/
|
|
50
|
+
.coverage
|
|
51
|
+
.coverage.*
|
|
52
|
+
.cache
|
|
53
|
+
nosetests.xml
|
|
54
|
+
coverage.xml
|
|
55
|
+
*.cover
|
|
56
|
+
*.py,cover
|
|
57
|
+
.hypothesis/
|
|
58
|
+
.pytest_cache/
|
|
59
|
+
|
|
60
|
+
# Translations
|
|
61
|
+
*.mo
|
|
62
|
+
*.pot
|
|
63
|
+
|
|
64
|
+
# Django stuff:
|
|
65
|
+
*.log
|
|
66
|
+
local_settings.py
|
|
67
|
+
db.sqlite3
|
|
68
|
+
db.sqlite3-journal
|
|
69
|
+
|
|
70
|
+
# Flask stuff:
|
|
71
|
+
instance/
|
|
72
|
+
.webassets-cache
|
|
73
|
+
|
|
74
|
+
# Scrapy stuff:
|
|
75
|
+
.scrapy
|
|
76
|
+
|
|
77
|
+
# Sphinx documentation
|
|
78
|
+
docs/_build/
|
|
79
|
+
|
|
80
|
+
# PyBuilder
|
|
81
|
+
target/
|
|
82
|
+
|
|
83
|
+
# Jupyter Notebook
|
|
84
|
+
.ipynb_checkpoints
|
|
85
|
+
|
|
86
|
+
# IPython
|
|
87
|
+
profile_default/
|
|
88
|
+
ipython_config.py
|
|
89
|
+
|
|
90
|
+
# pyenv
|
|
91
|
+
.python-version
|
|
92
|
+
|
|
93
|
+
# pipenv
|
|
94
|
+
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
|
|
95
|
+
# However, in case of collaboration, if having platform-specific dependencies or dependencies
|
|
96
|
+
# having no cross-platform support, pipenv may install dependencies that don't work, or not
|
|
97
|
+
# install all needed dependencies.
|
|
98
|
+
#Pipfile.lock
|
|
99
|
+
|
|
100
|
+
# PEP 582; used by e.g. github.com/David-OConnor/pyflow
|
|
101
|
+
__pypackages__/
|
|
102
|
+
|
|
103
|
+
# Celery stuff
|
|
104
|
+
celerybeat-schedule
|
|
105
|
+
celerybeat.pid
|
|
106
|
+
|
|
107
|
+
# SageMath parsed files
|
|
108
|
+
*.sage.py
|
|
109
|
+
|
|
110
|
+
# Environments
|
|
111
|
+
.env
|
|
112
|
+
.venv
|
|
113
|
+
env/
|
|
114
|
+
venv/
|
|
115
|
+
ENV/
|
|
116
|
+
env.bak/
|
|
117
|
+
venv.bak/
|
|
118
|
+
|
|
119
|
+
# Spyder project settings
|
|
120
|
+
.spyderproject
|
|
121
|
+
.spyproject
|
|
122
|
+
|
|
123
|
+
# Rope project settings
|
|
124
|
+
.ropeproject
|
|
125
|
+
|
|
126
|
+
# mkdocs documentation
|
|
127
|
+
/site
|
|
128
|
+
|
|
129
|
+
# mypy
|
|
130
|
+
.mypy_cache/
|
|
131
|
+
.dmypy.json
|
|
132
|
+
dmypy.json
|
|
133
|
+
|
|
134
|
+
# Pyre type checker
|
|
135
|
+
.pyre/
|
|
136
|
+
|
|
137
|
+
# editors
|
|
138
|
+
.idea
|
|
139
|
+
.vscode
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
repos:
|
|
2
|
+
- repo: https://github.com/pre-commit/pre-commit-hooks
|
|
3
|
+
rev: v6.0.0
|
|
4
|
+
hooks:
|
|
5
|
+
- id: check-added-large-files
|
|
6
|
+
- id: check-toml
|
|
7
|
+
- id: check-yaml
|
|
8
|
+
- id: debug-statements
|
|
9
|
+
- id: end-of-file-fixer
|
|
10
|
+
- id: trailing-whitespace
|
|
11
|
+
- repo: https://github.com/pre-commit/mirrors-mypy
|
|
12
|
+
rev: v1.19.1
|
|
13
|
+
hooks:
|
|
14
|
+
- id: mypy
|
|
15
|
+
additional_dependencies: [pydantic, orjson, types-aiofiles, types-ujson]
|
|
16
|
+
- repo: https://github.com/astral-sh/ruff-pre-commit
|
|
17
|
+
rev: v0.14.11
|
|
18
|
+
hooks:
|
|
19
|
+
- id: ruff-check
|
|
20
|
+
args: [--fix, --exit-non-zero-on-fix]
|
|
21
|
+
- id: ruff-format
|