Skip to main content

Simple IVI gRPC stream API wrapper

Project description

IVI Python SDK

General info

The IVI Python SDK is a minimal wrapper layer around the underlying IVI gRPC Streams API. The primary module is ivi_sdk/ivi_client.py.

The SDK is installable via pip and should be usable with any released Python >= 3.6. The included setup.py will download, generate, and install the necessary gRPC and protobuf dependencies, as well as fetch protos and run the protoc code generator.

The IVIClient makes use of asyncio and grpc.aio for managing stream processing via coroutines, and also instantiates the unary RPC stubs for convenience. This SDK does not wrap the unary RPC calls - users should refer directly to the proto files and interact directly with the generated protobuf and gRPC Python code for unary calls as documented in the Readme.io guide. Examples are available there as well as in tests/example.py. However, unlike the example code, it is strongly recommend for users to schedule any unary RPC calls and processing within their own coroutine wrappers, to avoid stalling the main Python thread.

It is strongly suggested to set the asycio event loop global exception handler via set_exception_handler and fixing or reporting any errors found therein. Failing to do so may lead to memory leaks through unbounded accumulation of unhandled errors.

pytest based unit tests for the IVIClient stream processing are contained in tests/test_ivi_client.py script. This will also require the pytest-asyncio package to be installed.

Recommended further reading beyond the RPC guide:

Project details


Release history Release notifications | RSS feed

This version

0.1

Download files

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

Source Distribution

ivi_sdk-0.1.tar.gz (5.6 kB view details)

Uploaded Source

Built Distribution

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

ivi_sdk-0.1-py3-none-any.whl (59.1 kB view details)

Uploaded Python 3

File details

Details for the file ivi_sdk-0.1.tar.gz.

File metadata

  • Download URL: ivi_sdk-0.1.tar.gz
  • Upload date:
  • Size: 5.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.22.0 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.8.10

File hashes

Hashes for ivi_sdk-0.1.tar.gz
Algorithm Hash digest
SHA256 07b1d0b3e2543ef5c2ad6fa1fc660cfe99b286ed300fb226ed2c1dfd71502259
MD5 4e63d73bb382b3fc64e43c358fa37fd9
BLAKE2b-256 c4342353823b24cdabe29042d61a9723a00f19786d9f0b0002177184c0257ee2

See more details on using hashes here.

File details

Details for the file ivi_sdk-0.1-py3-none-any.whl.

File metadata

  • Download URL: ivi_sdk-0.1-py3-none-any.whl
  • Upload date:
  • Size: 59.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.22.0 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.8.10

File hashes

Hashes for ivi_sdk-0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 6960256fce7236decaf0395a9139114afe1014afa3c204d02a924cb2ff7dd3cc
MD5 976de3ba90e7602a57678d64ec9728d8
BLAKE2b-256 54eace2ecb6532c8997e3fe19096202bfed662d36231d177090d6b6077eff6c0

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