Skip to main content

Document Insighter Python Client

Project description

Document Insighter Python Client

document-insighter is a set of tools that enables developers to interactive with Document Insighter API, like query extraction results.

Installation

pip install document-insighter

Getting Started

Authentication

OKTA Base Applications

Configure ENV variables

# Client application credentials
INSIGHTER_CLIENT_IDP=xxxx
INSIGHTER_CLIENT_ID=xxxx
INSIGHTER_CLIENT_SECRET=xxxx

# Client access token file path, no need to create it
INSIGHTER_CLIENT_TOKEN_PATH=insighter_token.json

# Tenant name, which can be found in settings page
INSIGHTER_TENANT=xxxx

Fetch Token

from document_insighter.api_client import OktaApplicationClient
from document_insighter.model import Env, Extraction

# Change to Env.PRODUCTION for production
document_insighter = OktaApplicationClient(Env.STAGING)
document_insighter.fetch_token()

Service Account Base Applications

Configure ENV variables

# Client application credentials
INSIGHTER_SA_CLIENT_ID=xxxx
INSIGHTER_SA_CLIENT_SECRET=xxxx

# Path of service account access token, which download from settings page
INSIGHTER_SA_CLIENT_TOKEN_PATH=service-account-token.json

# Tenant name, which can be found in settings page
INSIGHTER_TENANT=xxxx

Create Client

from document_insighter.api_client import ServiceAccountClient
from document_insighter.model import Env

document_insighter = ServiceAccountClient(Env.STAGING)

Query Extractions

from datetime import datetime

pages_generator = document_insighter.query_extractions_pages(datetime(2022, 4, 13), datetime(2022, 4, 14), page_size=50)
extraction_dicts = [x for page in pages_generator for x in page]

# read first extraction
sections = extraction_dicts[0].get('data').get('sections')
batch_sections = list(filter(lambda x:x.get('category') == 'coa_batch', sections))
aggregation_sections = list(filter(lambda x:x.get('category') == 'coa_aggregation', sections))
# load json to models
from typing import List
extractions: List[Extraction] = [Extraction.from_dict(x) for x in extraction_dicts]

Upload and Poll Extractions

extractions = document_insighter.upload_and_poll("BR", 'tests/data/br_document.pdf')

License

MIT

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

document_insighter-0.0.9-py3-none-any.whl (6.5 kB view details)

Uploaded Python 3

File details

Details for the file document_insighter-0.0.9-py3-none-any.whl.

File metadata

File hashes

Hashes for document_insighter-0.0.9-py3-none-any.whl
Algorithm Hash digest
SHA256 a68620c5f2c0dbf430b33d7b40adbab37fee015d20668bf47f74da9cfce2f6d5
MD5 6d1e1a39483b51026a818ad754939af7
BLAKE2b-256 a4544027c5df87eab4b9c926d497376630f27ea3d32c913808163bdbef664c8d

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