Skip to main content

Helper library for consuming the Unmand API

Project description

Unmand Python Library

Version

The Unmand Python library provides convenient access to the Unmand APIs from applications written in the Python language.

For more help, see our docs.

Requirements

Python 3+

Installation

Install the package with:

pip install unmand

Example Usage

from unmand import Extraction, ExfilAPI

token = 'TOP-SECRET-EXAMPLE-TOKEN'
document_path = 'Sample.pdf'

exfil = ExfilAPI(token)
with open(document_path, 'rb') as file_data:
    extraction = exfil.queue(file_data)
    print(extraction)
    if extraction.status != "FAILED":
        exfil.poll(extraction=extraction)
        if extraction.status == 'FINISHED':
            print(extraction.result)

ExfilAPI and Extraction

The main class is ExfilAPI. Instantiate this with your token argument. Use the optional argument test to direct your queries to the test API instead of the production API. For example:

exfil_test = ExfilAPI(token, test=True) # This aims at the test API
exfil = ExfilAPI(token) # This aims at the production API

Submit a extraction by attaching the binary file data from your system to the queue method of ExfilAPI. This will return an instance of the Extraction class.

extraction = exfil.queue(file_data)

At any time, you can get the status of the extraction:

print(extraction) # or
print(extraction.status)

Once a extraction is queued, call the poll method of the ExfilAPI class to be updated when the extraction is finished. Use the optional argument suppress_output to stop updates printing to screen.

exfil.poll(extraction=extraction)  # or
exfil.poll(extraction=extraction, suppress_output=True)

Once finished, the results of the extraction are saved as a dictionary under the result attribute.

print(extraction.result)

Swarm Tasks

There is a SwarmAPI class so that swarm tasks can be uploaded for display in the UI. An example usage is shown below. Be careful, the token for a Swarm project will be different.

swarm = SwarmAPI(token, test=True)

start_time = datetime.utcnow()
finish_time = datetime.utcnow()
response_details = {'Some data': 1, 'Some other data': 2, "an array": [1,2,3,4]}
status = 'SUCCESS' # or 'FAILURE'

task = Task('UniqueTestId', start_time, finish_time , status, 'PROD', 'Short Response', response_details , "First Identifier", "Second Identifier", "Third Identifier")
swarm.upload_swarm_task(task)

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

unmand-2.1.4.tar.gz (19.5 kB view details)

Uploaded Source

Built Distribution

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

unmand-2.1.4-py3-none-any.whl (18.3 kB view details)

Uploaded Python 3

File details

Details for the file unmand-2.1.4.tar.gz.

File metadata

  • Download URL: unmand-2.1.4.tar.gz
  • Upload date:
  • Size: 19.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.25

File hashes

Hashes for unmand-2.1.4.tar.gz
Algorithm Hash digest
SHA256 6a0ae4d334f527539e0f8d155aade73972192151432e3d632e1b67f14490abce
MD5 9f62ff499540185eeace88ad073ea719
BLAKE2b-256 bb9f8789cb270d0254589b3ad1f636685925f6a41631786fce93a43deca13826

See more details on using hashes here.

File details

Details for the file unmand-2.1.4-py3-none-any.whl.

File metadata

  • Download URL: unmand-2.1.4-py3-none-any.whl
  • Upload date:
  • Size: 18.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.25

File hashes

Hashes for unmand-2.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 b4d8a1254f96b7b78495e3c0d9328e063533b61b1709514e4f9b943a16ec7c94
MD5 a4733dcd97544689657c61e3034a686d
BLAKE2b-256 22b60079cfd3c034aabab26d65b640029023701cdb10d83d8fa9b9a64fb09c81

See more details on using hashes here.

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