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

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

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 Distribution

document-insighter-0.0.7.tar.gz (4.6 kB view details)

Uploaded Source

Built Distribution

document_insighter-0.0.7-py3-none-any.whl (5.3 kB view details)

Uploaded Python 3

File details

Details for the file document-insighter-0.0.7.tar.gz.

File metadata

  • Download URL: document-insighter-0.0.7.tar.gz
  • Upload date:
  • Size: 4.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.15

File hashes

Hashes for document-insighter-0.0.7.tar.gz
Algorithm Hash digest
SHA256 258ec882d14f31d8461ab6e4c0b0c3cca0fd51edd10b20b686d1fef495e20f8a
MD5 20b24c3a39022a3ff698c160a89d9807
BLAKE2b-256 56cbae4b019a3a3a7d2d1cf44f20e57993ccb27b3cb7ce0656ba05e54b18b357

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for document_insighter-0.0.7-py3-none-any.whl
Algorithm Hash digest
SHA256 85da1ade1b625b3ccacc872bd1e9596d71061317fe99b3736eca19ffdb6525ea
MD5 0288efeb3de261346a95f573b190df8b
BLAKE2b-256 ac09a15acfbdab68a5049c967bcd1f2c362e4b6e209edda8e44c28e79995f8fa

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