Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
0eb93d9
:arrow_up: bump minimum python version to 3.10
sebO-S May 29, 2026
0708131
:boom: :coffin: remove support for all unused V1 prompt APIs (#406)
sebO-S Jun 1, 2026
af9e357
:boom: :recycle: move v1 and v2 internals to their respective namespaces
sebO-S Jun 1, 2026
31e54c1
:boom: :recycle: rename inference product to extraction and move inte…
sebO-S Jun 1, 2026
be8a9e0
:boom: :recycle: move more v2 and v1 internals
sebO-S Jun 1, 2026
987c188
:boom: :recycle: move extraction PDF and Image into their respective …
sebO-S Jun 2, 2026
2853658
:boom: :recycle: remove support for source_from_xxx() pattern (#409)
sebO-S Jun 2, 2026
59ff0c9
:arrow_up: upgrade dependencies and add more tools
sebO-S Jun 2, 2026
e5dbc74
:memo: fix doc
sebO-S Jun 2, 2026
5280d1c
:muscle: :wrench: beef up rust criteria and fix many errors
sebO-S Jun 2, 2026
267d010
:recycle: refactor internals
sebO-S Jun 3, 2026
52131bd
:recycle: fix inference fields circular imports
sebO-S Jun 3, 2026
0191e09
:sparkles: add typed accessors for inference fields
sebO-S Jun 3, 2026
b3a167a
:recycle: move crop and split extractors to result level and update f…
sebO-S Jun 3, 2026
f7fc0e7
:wrench: add sphinx to pre-commit
sebO-S Jun 3, 2026
4ba94d5
:boom: :recycle: remove version slug from V1 and V2 urls
sebO-S Jun 5, 2026
ae73285
:boom: :recycle: remove deprecated methods and classes
sebO-S Jun 5, 2026
7084913
:boom: :wrench: convert LocalInputSource page_count to an attribute
sebO-S Jun 5, 2026
c2c5e92
:arrow_down: remove pytz dependency
sebO-S Jun 5, 2026
5b5dcd3
:sparkles: add support for models search
sebO-S Jun 5, 2026
2592f2e
:recycle: move V2 API-specific internals to their own file
sebO-S Jun 5, 2026
249b122
:sparkles: add support for direct url GET inference
sebO-S Jun 8, 2026
8487692
:boom: :recycle: drop requests in favor of httpx (#414)
sebO-S Jun 8, 2026
8afdfb6
:sparkles: add support for custom httpx client for V1 and V2 (#415)
sebO-S Jun 9, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
69 changes: 69 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
version: 2

updates:
- package-ecosystem: "pip"
directory: "/"
schedule:
interval: "weekly"
day: "monday"
time: "09:00"
timezone: "Europe/Paris"
open-pull-requests-limit: 8
commit-message:
prefix: "chore(deps)"
groups:
runtime-dependencies:
patterns:
- "requests"
optional-dependencies:
patterns:
- "pypdfium2"
- "Pillow"
test-dependencies:
patterns:
- "pytest"
- "pytest-cov"
- "toml"
lint-dependencies:
patterns:
- "pylint"
- "pre-commit"
- "types-*"
docs-dependencies:
patterns:
- "sphinx"
- "sphinx-*"
build-dependencies:
patterns:
- "build"
- "twine"

- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"
day: "monday"
time: "09:30"
timezone: "Europe/Paris"
open-pull-requests-limit: 3
commit-message:
prefix: "chore(ci)"
groups:
github-actions:
patterns:
- "*"

- package-ecosystem: "pre-commit"
directory: "/"
schedule:
interval: "weekly"
day: "monday"
time: "10:00"
timezone: "Europe/Paris"
open-pull-requests-limit: 3
commit-message:
prefix: "chore(pre-commit)"
groups:
pre-commit-hooks:
patterns:
- "*"
6 changes: 6 additions & 0 deletions .github/workflows/_publish-docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,8 +39,14 @@ jobs:
cd ./docs
make html

- name: Sphinx make linkcheck
run: |
cd ./docs
make linkcheck

- name: Deploy
uses: peaceiris/actions-gh-pages@v4
if: success()
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./docs/_build/html
4 changes: 2 additions & 2 deletions .github/workflows/_smoke-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ jobs:
max-parallel: 2
matrix:
python-version:
- "3.8"
- "3.10"
- "3.14"
runs-on: "ubuntu-22.04"
steps:
Expand Down Expand Up @@ -56,7 +56,7 @@ jobs:
./tests/test_v1_code_samples.sh ${{ secrets.MINDEE_ACCOUNT_SE_TESTS }} ${{ secrets.MINDEE_ENDPOINT_SE_TESTS }}

- name: Notify Slack Action on Failure
uses: ravsamhq/notify-slack-action@2.3.0
uses: ravsamhq/notify-slack-action@2.5.0
if: ${{ always() && github.ref_name == 'main' }}
with:
status: ${{ job.status }}
Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/_static-analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -52,5 +52,7 @@ jobs:
${{ runner.os }}-prec-

- name: Run all static analysis
env:
SKIP: sphinx-html,sphinx-linkcheck
run: |
pre-commit run --all-files
2 changes: 1 addition & 1 deletion .github/workflows/_test-integrations.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ jobs:
- "ubuntu-22.04"
- "windows-2022"
python-version:
- "3.8"
- "3.10"
- "3.14"
runs-on: ${{ matrix.os }}
steps:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/_test-regressions.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ jobs:
- "ubuntu-22.04"
- "windows-2022"
python-version:
- "3.8"
- "3.10"
- "3.14"
runs-on: ${{ matrix.os }}
steps:
Expand Down
4 changes: 1 addition & 3 deletions .github/workflows/_test-units.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,6 @@ jobs:
- "ubuntu-22.04"
- "windows-2022"
python-version:
- "3.8"
- "3.9"
- "3.10"
- "3.11"
- "3.12"
Expand All @@ -38,7 +36,7 @@ jobs:
uses: actions/cache@v5
with:
path: ~/.cache/pip
key: ${{ runner.os }}-test-${{ hashFiles('setup.cfg') }}
key: ${{ runner.os }}-test-${{ hashFiles('pyproject.toml') }}
restore-keys: |
${{ runner.os }}-test-

Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -137,5 +137,6 @@ dmypy.json
*.swp
*-swp
_test.py
_test*.py
_test.json
local_test
32 changes: 25 additions & 7 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,13 @@ repos:
args: [ --fix, --exit-non-zero-on-fix]
- id: ruff-format

- repo: https://github.com/gitleaks/gitleaks
rev: v8.30.0
- repo: https://github.com/betterleaks/betterleaks
rev: v1.3.1
hooks:
- id: gitleaks
- id: betterleaks

- repo: https://github.com/PyCQA/pylint
rev: v3.3.9
rev: v4.0.5
hooks:
- id: pylint
name: pylint
Expand All @@ -22,6 +22,11 @@ repos:
args: [
"-j2"
]
- repo: https://github.com/pypa/pip-audit
rev: v2.10.0
hooks:
- id: pip-audit
args: ["."]

- repo: https://github.com/pre-commit/mirrors-mypy
rev: v1.18.2
Expand All @@ -30,9 +35,22 @@ repos:
args: []
exclude: "tests/|examples/|docs/"
additional_dependencies:
- toml
- types-pytz
- types-requests
- httpx
- types-setuptools
- importlib-metadata
- types-Pillow
- repo: local
hooks:
- id: sphinx-html
name: Sphinx HTML build
entry: make -C docs html
language: system
pass_filenames: false
files: ^docs/.*$|^mindee/.*\.py$

- id: sphinx-linkcheck
name: Sphinx Linkcheck
entry: make -C docs linkcheck
language: system
pass_filenames: false
files: ^docs/.*$|^mindee/.*\.py$
4 changes: 0 additions & 4 deletions .pylintrc
Original file line number Diff line number Diff line change
Expand Up @@ -104,10 +104,6 @@ recursive=no
# source root.
source-roots=

# When enabled, pylint would attempt to guess common misconfiguration and emit
# user-friendly hints instead of false-positive error messages.
suggestion-mode=yes

# Allow loading of arbitrary C extensions. Extensions are imported into the
# active Python interpreter and may run arbitrary code.
unsafe-load-any-extension=no
Expand Down
10 changes: 0 additions & 10 deletions docs/client.rst

This file was deleted.

7 changes: 7 additions & 0 deletions docs/client_mixin.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
------------
Client Mixin
------------

.. autoclass:: mindee.client_mixin
:members:
:inherited-members:
8 changes: 8 additions & 0 deletions docs/client_options.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
Client Options
##############

Polling Options
===============
.. autoclass:: mindee.client_options.polling_options.PollingOptions
:members:
:inherited-members:
1 change: 1 addition & 0 deletions docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -73,3 +73,4 @@
# -- autodoc-typehints -------------------------------------------------------

typehints_defaults = "comma"
suppress_warnings = ["ref.python"]
File renamed without changes.
5 changes: 3 additions & 2 deletions docs/extras/code_samples/bank_account_details_v1.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,14 @@
# pip install mindee
#

from mindee import Client, PredictResponse, product
from mindee.v1 import Client, PredictResponse, product
from mindee import PathInput

# Init a new client
mindee_client = Client(api_key="my-api-key")

# Load a file from disk
input_doc = mindee_client.source_from_path("/path/to/the/file.ext")
input_doc = PathInput("/path/to/the/file.ext")

# Load a file from disk and parse it.
result: PredictResponse = mindee_client.parse(
Expand Down
5 changes: 3 additions & 2 deletions docs/extras/code_samples/bank_account_details_v2.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,14 @@
# pip install mindee
#

from mindee import Client, PredictResponse, product
from mindee.v1 import Client, PredictResponse, product
from mindee import PathInput

# Init a new client
mindee_client = Client(api_key="my-api-key")

# Load a file from disk
input_doc = mindee_client.source_from_path("/path/to/the/file.ext")
input_doc = PathInput("/path/to/the/file.ext")

# Load a file from disk and parse it.
result: PredictResponse = mindee_client.parse(
Expand Down
5 changes: 3 additions & 2 deletions docs/extras/code_samples/bank_check_v1.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,14 @@
# pip install mindee
#

from mindee import Client, PredictResponse, product
from mindee.v1 import Client, PredictResponse, product
from mindee import PathInput

# Init a new client
mindee_client = Client(api_key="my-api-key")

# Load a file from disk
input_doc = mindee_client.source_from_path("/path/to/the/file.ext")
input_doc = PathInput("/path/to/the/file.ext")

# Load a file from disk and parse it.
result: PredictResponse = mindee_client.parse(
Expand Down
5 changes: 3 additions & 2 deletions docs/extras/code_samples/barcode_reader_v1.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,14 @@
# pip install mindee
#

from mindee import Client, PredictResponse, product
from mindee.v1 import Client, PredictResponse, product
from mindee import PathInput

# Init a new client
mindee_client = Client(api_key="my-api-key")

# Load a file from disk
input_doc = mindee_client.source_from_path("/path/to/the/file.ext")
input_doc = PathInput("/path/to/the/file.ext")

# Load a file from disk and parse it.
result: PredictResponse = mindee_client.parse(
Expand Down
21 changes: 0 additions & 21 deletions docs/extras/code_samples/bill_of_lading_v1_async.txt

This file was deleted.

21 changes: 0 additions & 21 deletions docs/extras/code_samples/business_card_v1_async.txt

This file was deleted.

5 changes: 3 additions & 2 deletions docs/extras/code_samples/carte_grise_v1.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,14 @@
# pip install mindee
#

from mindee import Client, PredictResponse, product
from mindee.v1 import Client, PredictResponse, product
from mindee import PathInput

# Init a new client
mindee_client = Client(api_key="my-api-key")

# Load a file from disk
input_doc = mindee_client.source_from_path("/path/to/the/file.ext")
input_doc = PathInput("/path/to/the/file.ext")

# Load a file from disk and parse it.
result: PredictResponse = mindee_client.parse(
Expand Down
5 changes: 3 additions & 2 deletions docs/extras/code_samples/cropper_v1.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,14 @@
# pip install mindee
#

from mindee import Client, PredictResponse, product
from mindee.v1 import Client, PredictResponse, product
from mindee import PathInput

# Init a new client
mindee_client = Client(api_key="my-api-key")

# Load a file from disk
input_doc = mindee_client.source_from_path("/path/to/the/file.ext")
input_doc = PathInput("/path/to/the/file.ext")

# Load a file from disk and parse it.
result: PredictResponse = mindee_client.parse(
Expand Down
Loading
Loading