Introducing Datature Python SDK and Management REST API

Our Python SDK and Management API facilitate developers to code and automate MLOps processes from image upload to model export and deployment.

Leonard So

What is Python SDK / Management API?

An application programming interface (API) is a set of definitions and protocols that are used to help access, build, and integrate software. APIs are widely used in many applications and are easily accessible across almost all popular programming languages.

A Python system development kit (SDK) helps Python developers more easily utilize and integrate external tool suites into their own Python code. Where an API is a generic interface that is widely accessible, a Python SDK is specifically designed to provide functions and tools that create ease of use in Python.

Why Should You Use the Python SDK / Management API?

Datature’s Nexus is a great platform for users with various backgrounds and skill sets to make their way through what is typically a long, withdrawn, deeply technical, and complicated MLOps pipeline without a single line of code. However, users with more development experience may want to streamline the incorporation of Nexus assets and resources into their current code setup without having to access the platform. Datature’s Management API and Python SDK are designed to facilitate this.

With Datature’s goal of democratizing computer vision, using Datature for MLOps pipelines helps to reduce the complications of a typical MLOps pipeline into a few simple steps. To support more use cases, Datature is utilizing the launch of the Python SDK and Management API to help users smoothly incorporate Datature into their preferred environment.

How to Get Started with Datature Management API and Python SDK?

Getting started with the Management API and Python SDK is a quick and familiar flow. The first step that is essential to all requests is to ensure that you log on to the platform, access the relevant project, and store the project secret which can be found in API Management. For more detail on the project key and secret key, check out this link for more information.

Once you have the project secret, you will now be able to make API requests using the Management API. To see all possible routes as well view the required inputs and expected outputs, check our API documentation!

To use our Python SDK, you will need to install the Datature Python package. A quick and easy way to install the package is through the popular package manager pip, through this simple command:

`pip install datature` 

Once the package is installed in your local environment, you will be able to use the Python function equivalents of the API routes. Documentation and example usage can be found in the same documentation listed above.

Currently, our Management API and Python SDK coverage for Nexus functionality can be categorized into several main categories: projects, assets, annotations, class tags, workflows, model trainings, model artifacts, and model deployment. These categories have been constructed to largely replicate all the user interaction on the Nexus platform, but with the design for scalable actions that can be programmed for efficiency. Please use the example code that can be found in the documentation for advisable usage for chaining our functions together.

What Can You Do with Datature Management API and Python SDK?

Providing Nexus’ powerful, efficient, and simply designed functions programmatically enables users to automate tasks in the MLOps pipeline to accelerate iterative development and reduce latency between steps in the pipeline. These automated tasks can span from simple functions such as programmatically uploading your assets without having to access the platform directly, to facilitating advanced setups that take iterative computer vision model development to the next level.

One example that Datature’s Management API and Python SDK supports displays the many benefits that such programmatic tools can have on automating iterative processes. Active learning is a process in which users can utilize the corresponding predictions from their deployed models to determine whether input images the model finds difficult to predict with high confidence should be uploaded to the platform for annotation and subsequent retraining and redeployment of the model. With these new programmatic tools, evaluation of model deployment image predictions can automatically trigger image upload. Starting new model trainings after the images have been uploaded can be triggered programmatically. Finally, model syncing can now be automated by automatically exporting or deploying training artifacts as they are created. In short, Datature’s Management API and Python SDK provide the building blocks to programmatically perform simple processes, or even construct state-of-the-art automated interactions to facilitate your computer vision model lifecycle.

Our Developer’s Roadmap

Python SDK and Management API is just the first step in helping developers use Datature’s resources as efficiently and easily as possible. As the Nexus platform evolves, so too will the Management API and Python SDK functionality to continue to facilitate integration between user applications and their projects on Nexus, to make all interactions as efficient and clear as possible. We will be continuing to update and add more routes and functions!

Need Help?

If you have questions, feel free to join our Community Slack to post your questions or contact us about how the Python SDK and Management API fits in with your usage.

For more detailed information about the Python SDK and Management API functionality, customization options, or answers to any common questions you might have, read more about the annotation process on our Developer Portal.

Build models with the best tools.

develop ml models in minutes with datature