Skip to main content

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:

Release files for ivi-sdk 0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ivi-sdk 0.1
File Size Uploaded
ivi_sdk-0.1.tar.gz 5.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for ivi-sdk 0.1
File Interpreter ABI Platform
ivi_sdk-0.1-py3-none-any.whl Python 3 none any Details

Total release size:64.7 kB

Release files / ivi_sdk-0.1.tar.gz

Download URL ivi_sdk-0.1.tar.gz
Size 5.6 kB
Tags Source
SHA-256 checksum
How to use checksums
07b1d0b3e2543ef5c2ad6fa1fc660cfe99b286ed300fb226ed2c1dfd71502259
BLAKE2b-256 checksum
How to use checksums
c4342353823b24cdabe29042d61a9723a00f19786d9f0b0002177184c0257ee2
Upload date
Uploaded using Trusted Publishing?
What is 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

Release files / ivi_sdk-0.1-py3-none-any.whl

Download URL ivi_sdk-0.1-py3-none-any.whl
Size 59.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6960256fce7236decaf0395a9139114afe1014afa3c204d02a924cb2ff7dd3cc
BLAKE2b-256 checksum
How to use checksums
54eace2ecb6532c8997e3fe19096202bfed662d36231d177090d6b6077eff6c0
Upload date
Uploaded using Trusted Publishing?
What is 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

Release history Release notifications | RSS feed

This release

0.1 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page