Skip to main content

Mindee API helper library for Python

Project description

License: MIT GitHub Workflow Status PyPI Version Downloads

Mindee API Helper Library for Python

Quickly and easily connect to Mindee's API services using Python.

Quick Start

Here's the TL;DR of getting started.

First, get an API Key

Then, install this library:

pip install mindee

Finally, Python away!

Loading a File and Parsing It

Global Documents

from mindee import Client, product

# 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")

# Parse the document as an invoice by passing the appropriate type
result = mindee_client.parse(product.InvoiceV4, input_doc)

# Print a brief summary of the parsed data
print(result.document)

Note: Files can also be loaded from:

A python BinaryIO compatible file:

input_doc = mindee_client.source_from_file(my_file)

A URL (HTTPS only):

input_doc = mindee_client.source_from_url("https://files.readme.io/a74eaa5-c8e283b-sample_invoice.jpeg")

A base64-encoded string, making sure to specify the extension of the file name:

input_doc = mindee_client.source_from_b64string(my_input_string, "my-file-name.ext")

Raw bytes, making sure to specify the extension of the file name:

input_doc = mindee_client.source_from_bytes(my_raw_bytes_sequence, "my-file-name.ext")

Region-Specific Documents

from mindee import Client, product

# 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")

# Parse the document as a USA bank check by passing the appropriate type
result = mindee_client.parse(product.us.BankCheckV1, input_doc)

# Print a brief summary of the parsed data
print(result.document)

Custom Document (API Builder)

from mindee import Client, product

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

# Add your custom endpoint (document)
my_endpoint = mindee_client.create_endpoint(
    account_name="my-account",
    endpoint_name="my-endpoint",
)

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

# Parse the file.
# The endpoint must be specified since it cannot be determined from the class.
result = mindee_client.parse(
    product.CustomV1,
    input_doc,
    endpoint=my_endpoint
)

# Print a brief summary of the parsed data
print(result.document)

# Iterate over all the fields in the document
for field_name, field_values in result.document.fields.items():
    print(field_name, "=", field_values)

Additional Options

Options to pass when sending a file.

Page Options

Allows sending only certain pages in a PDF.

In this example we only send the first, penultimate and last pages:

from mindee import Client, product, PageOptions

result = mindee_client.parse(
    product.InvoiceV4,
    input_source,
    page_options=PageOptions(
        page_indexes=[0, -2, -1],
        operation=PageOptions.KEEP_ONLY,
        on_min_pages=2
    )
)

Further Reading

Complete details on the working of the library are available in the following guides:

You can view the source code on GitHub.

You can also take a look at the Reference Documentation.

License

Copyright © Mindee

Available as open source under the terms of the MIT License.

Questions?

Join our Slack

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mindee-4.10.0.tar.gz (90.7 kB view details)

Uploaded Source

Built Distribution

mindee-4.10.0-py3-none-any.whl (147.2 kB view details)

Uploaded Python 3

File details

Details for the file mindee-4.10.0.tar.gz.

File metadata

  • Download URL: mindee-4.10.0.tar.gz
  • Upload date:
  • Size: 90.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.10.14

File hashes

Hashes for mindee-4.10.0.tar.gz
Algorithm Hash digest
SHA256 ec8de55f5e2c46ebc68a2a1a0bf3a41f2e1fd942ad5c2b165fa9dd68d6a07858
MD5 c10ce6c96880f7ec3543678ef03e59b9
BLAKE2b-256 56bbd1e6ee904f3aac6c1c2adb316301a46ddf603a0c23ba611a0c299861b1af

See more details on using hashes here.

File details

Details for the file mindee-4.10.0-py3-none-any.whl.

File metadata

  • Download URL: mindee-4.10.0-py3-none-any.whl
  • Upload date:
  • Size: 147.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.10.14

File hashes

Hashes for mindee-4.10.0-py3-none-any.whl
Algorithm Hash digest
SHA256 31eb6d9bc4cc036003eb6b4cd7fdf4d53a2077ed61243bc7031ea53c991a4615
MD5 00aac9385f496d674f00f6c9ba2a36b3
BLAKE2b-256 db9d2abe6405f44544dbf3388ac94014d21f134ebf03bd1e4865fc4b9ffe3126

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page