Skip to main content

Official Python client for the Thresh document extraction API

Project description

thresh-sdk

Official Python client for the Thresh document extraction API — documents in, schema-conformant JSON out.

from thresh import Thresh

client = Thresh(api_key="th_live_...")
doc = client.upload(
    "contract.pdf",
    fields=["purchase_price", "closing_date", "buyer_name"],
    tables=[{"name": "monthly_charges", "columns": ["item", "qty", "mrc"]}],
    questions=["Is the contract contingent upon financing?"],
)
result = client.wait(doc.id)

result.fields["purchase_price"]        # "399900"
result.tables["monthly_charges"]       # [{"item": ..., "qty": ..., "mrc": ...}, ...]
result.answer("Is the contract contingent upon financing?")  # "Yes"
  • upload(...) accepts a path or a binary file object; pass idempotency_key= to make retries safe.
  • No schema? client.upload("contract.pdf") runs auto-extraction: the engine discovers and names the fields and tables itself. Refine what it found, then client.create_template("sale-contract", fields=[...]) and reuse it with client.upload("next.pdf", template="sale-contract").
  • wait(id, timeout=300) polls until completed or failed (failed results return with .error set — no exception).
  • verify_webhook_signature(secret, header, body) validates Thresh-Signature headers on webhook deliveries.
  • Errors raise ThreshError with .status, .error_type, and .request_id.

Missing values come back as the string "null"; checkbox states as "true"/"false".

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

thresh_sdk-0.3.0.tar.gz (17.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

thresh_sdk-0.3.0-py3-none-any.whl (4.6 kB view details)

Uploaded Python 3

File details

Details for the file thresh_sdk-0.3.0.tar.gz.

File metadata

  • Download URL: thresh_sdk-0.3.0.tar.gz
  • Upload date:
  • Size: 17.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for thresh_sdk-0.3.0.tar.gz
Algorithm Hash digest
SHA256 47e56b023e830e800a54bc2354ba31491a65125bb35ac35264ecee2a2025cb3a
MD5 d1ca88cabc53d4414a93841ed674d485
BLAKE2b-256 93ca1bea43c0f5a381fe091fbfe7eedaa7f96b7646651b33de8446738984ae3f

See more details on using hashes here.

Provenance

The following attestation bundles were made for thresh_sdk-0.3.0.tar.gz:

Publisher: publish-sdk.yml on Fillnull/thresh

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file thresh_sdk-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: thresh_sdk-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 4.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for thresh_sdk-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 32ed2a84221f77174d3b8f9883057ca0128f9c05d866f4ac3a6df2adf619e6c7
MD5 ffc1fdc0ba079e72f0a90ee516c5cc1d
BLAKE2b-256 30237654b56415d2ac844d4efdb21cd5505ebd6280e2025ff3eda3d6bce4075c

See more details on using hashes here.

Provenance

The following attestation bundles were made for thresh_sdk-0.3.0-py3-none-any.whl:

Publisher: publish-sdk.yml on Fillnull/thresh

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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