Skip to main content

Using NuOCR service via APIs

Project description

An API gateway is a software pattern that sits in front of an application programming interface (API) or group of microservices, to facilitate requests and delivery of data and services. Its primary role is to act as a single entry point and standardized process for interactions between an organization's apps, data and services and internal and external customers.

This NuOCR package act as an API gateway which simplifies service delivery and provides flexibility by combining multiple API calls to request and retrieve data and services, which reduces the volume of requests, traffic and manual efforts by great margin.

Advantages are security, reliability, resilience and optimization.

Installation

To install the NuOCR package, please run the following command in your command line prompt.


pip install NuOCR

Examples

Below are few examples, showing the usage of the package.

  1. NuOCR.Util.user

import grpc

from NuOCR.Util import user



key_request = {

    'username': "YOUR USERNAME HERE",

    'password': "YOUR PASSWORD HERE"

}



with grpc.insecure_channel("SERVER DOMAIN OR IP HERE") as channel:

    # To fetch the user api-key

    response = user.GetKey(channel, key_request)

    print(response)

    

    # To update the user api-key

    response = user.ChangeKey(channel, key_request)

    print(response)

For using the NuOCR services, you need to first register and get the API key or user-credentials, then provide the API-key in the meta-deta to use the following services based on your subscription.

  1. NuOCR.Util.extractor

import grpc

from NuOCR.Util import extractor



params = {

    "base64": "YOUR BASE64 HERE"

    "extractionType": "invoice" # anyone from ["invoice", "form", "reciept"],

    "mimeType": "application/pdf",

    "table": True, # boolean value

    "rawJson": True # boolean value

}



user_metadata = [('key', 'YOUR API-KEY HERE')]



with grpc.insecure_channel("SERVER DOMAIN OR IP HERE") as channel:

    # To extract document using the DocRecognizer service.

    print('-'*20, 'Recognizer', '-'*20)

    response = extractor.DocRecognizer(channel, params, user_metadata)

    print(response)

    

    # To extract document using the FormRecognizer service.

    print('-'*20, 'Recognizer', '-'*20)

    response = extractor.FormRecognizer(channel, params, user_metadata)

    print(response)

Similarly, you can fetch and push data from the IO adaptors using NuOCR.Util.io_adaptor. We have currently integrated S3 and FTP as inbound and outbound adapters.

  1. NuOCR.Util.io_adaptor

import grpc

from NuOCR.Util import io_adaptor





ftp_param = {

    "host": HOST,

    "port": PORT NUMBER OF THE REMOTE HOST,

    "username": YOUR FTP USERNAME,

    "password": YOUR FTP PASSWORD,

    "isSecure": False, #BOOLEAN VALUE

    "subscriberId": YOUR SUBSCRIBER ID,

    "remoteFolder": SOURCE OR DESTINATION PATH OF FILE,

    "remoteFilename": NAME OF THE FILE YOU WANT TO STORE OR FETCH,

    "base64": YOUR BASE64 HERE

}



s3_params = {

    "subscriberId": YOUR SUBSCRIBER ID,

    "regionName": REGION NAME,

    "accessKey": YOUR ACCESS KEY,

    "secretKey": YOUR SECRET KEY,

    "bucketName": BUCKET NAME,

    "folderName": SOURCE OR DESTINATION PATH,

    "filename": NAME OF THE FILE YOU WANT TO STORE OR FETCH,

    "base64": YOUR BASE64 HERE,

    "localFilename": LOCAL FILE NAME

}



user_metadata = [('key', 'YOUR API-KEY HERE')]



with grpc.insecure_channel("SERVER DOMAIN OR IP HERE") as channel:

    # To fetch document from S3, this will fetch base64 and file name of all files in that directory.

    print('-'*20, 'S3', '-'*20)

    response = io_adaptor.S3InBound(channel, s3_params)

    for i in response:

        print(i.filename, i.base64)

        

    # To push document to FTP, this will push file to destination path.

    print('-'*20, 'FTP', '-'*20)

    response = io_adaptor.FTPOutBound(channel, ftp_param)

    print(response)

Contributing

TBD

License

TBD

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

NuOCR-0.1.6.tar.gz (10.8 kB view details)

Uploaded Source

Built Distribution

NuOCR-0.1.6-py3-none-any.whl (16.7 kB view details)

Uploaded Python 3

File details

Details for the file NuOCR-0.1.6.tar.gz.

File metadata

  • Download URL: NuOCR-0.1.6.tar.gz
  • Upload date:
  • Size: 10.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.8.15

File hashes

Hashes for NuOCR-0.1.6.tar.gz
Algorithm Hash digest
SHA256 7421491a5a33c0e76240706477308d856b9e46d7f787b6c55021779e86ab9856
MD5 b661b34956bd08abeffe13084d63bfd0
BLAKE2b-256 abaaa2ffb8a96d4ae9401f9f0067e5fe7b72703e0f2a0fc789ce3b25788a9685

See more details on using hashes here.

Provenance

File details

Details for the file NuOCR-0.1.6-py3-none-any.whl.

File metadata

  • Download URL: NuOCR-0.1.6-py3-none-any.whl
  • Upload date:
  • Size: 16.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.8.15

File hashes

Hashes for NuOCR-0.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 d2ed93a28c5a8401b837470b6d37e2860e7d59d20f3624e20cc450451acc7cf9
MD5 a542d3657b06ec6bf38e8989971d754f
BLAKE2b-256 7be70dee3a6b2bf1486378ea07abf0bee9beed1bf5209f7fd711fb39640f0f1c

See more details on using hashes here.

Provenance

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