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
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
07b1d0b3e2543ef5c2ad6fa1fc660cfe99b286ed300fb226ed2c1dfd71502259
|
|
| MD5 |
4e63d73bb382b3fc64e43c358fa37fd9
|
|
| BLAKE2b-256 |
c4342353823b24cdabe29042d61a9723a00f19786d9f0b0002177184c0257ee2
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6960256fce7236decaf0395a9139114afe1014afa3c204d02a924cb2ff7dd3cc
|
|
| MD5 |
976de3ba90e7602a57678d64ec9728d8
|
|
| BLAKE2b-256 |
54eace2ecb6532c8997e3fe19096202bfed662d36231d177090d6b6077eff6c0
|