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.2.tar.gz (9.9 kB view details)

Uploaded Source

Built Distribution

NuOCR-0.1.2-py3-none-any.whl (19.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: NuOCR-0.1.2.tar.gz
  • Upload date:
  • Size: 9.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.7.13

File hashes

Hashes for NuOCR-0.1.2.tar.gz
Algorithm Hash digest
SHA256 5257dde941ee6088907328c17bf9e42b5523590d7ed9b757f7f7afe1d5c21dfd
MD5 4615a799bcf32fb9446a1072a54b4459
BLAKE2b-256 f2339064a42c07a807e664d6af48caefe6b5eb719b817f052c693da7c8a22031

See more details on using hashes here.

Provenance

File details

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

File metadata

  • Download URL: NuOCR-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 19.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.7.13

File hashes

Hashes for NuOCR-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 a548a8513992c673fb39f69ad6690b0c16f42d220496b4894ab30eb0ae866caf
MD5 c175c95600a4a8e4b4e0559c0808c8f9
BLAKE2b-256 fe6bca9b3725672a35bf545de2900812300d1e35f650a49b2c37ac3dd1ab8365

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