Savant ClientSDK is a toolkit that enables the building of simple bridges between applications and Savant. With a simple Pythonic interface, ClientSDK helps developers ingest images into the pipeline and retrieve computer vision results from it. The SDK is available in both synchronous and asynchronous modes and tightly integrated with OpenTelemetry and logging subsystems allowing developers to associate ingested data with tracing information and logged messages.
Client SDK enables not only sending frames with metadata but also supports control flow messages like
Shutdown. Shutdown capability makes ClientSDK ideal in situations when the pipeline needs to be finalized after data processing. One such case represents the ReID index builder used in the Facial ReID demo. It feeds the pipeline with images to build the database. When all images are sent, it needs to cause the completion of the pipeline; and it does it by sending the
The code is pretty straightforward and easy to understand. Before ClientSDK, we used the file source adapter and there was no good way to shut down the compose bundle after the index was ready. Now, it can be done in a simple and standardized way.