Python SDK 3.0.0 Release

We are releasing a new version of the SDK with many new features and improvements.

πŸ“˜

Note

The Python SDK is now available for all free tier users. The API limit for free users is 1500k per minute.

FeatureDescription
MetadataCustom data row metadata can now be uploaded via the SDK. Metadata is searchable from the catalog. One particularly exciting type of metadata that is now supported is embeddings. With embeddings, users can determine the similarity of data rows. This is useful for curating datasets with only the highest value data rows for improving a model. For example, users can create datasets from data rows that are similar to ones that their model underperforms on.

There are many applications of metadata and we encourage you to explore this new feature yourself. You can view the guide here.
Annotation typesWe added a new module to the Labelbox SDK called annotation types. This module contains objects for representing and manipulating human or model-generated annotations. By representing all data with the same set of objects it should simplify ETL, visualization code, training pipelines, project configuration, and annotation imports to Labelbox.

To get started, check out these notebooks.
Model DiagnosticsClient code for interacting with our model diagnostic tool has been added to the SDK. Users can now create and query for the latest model and model runs, upload labels and predictions, compute metrics, and more. If you have not signed up for the beta please sign up. here.

Test this end-to-end demo or fill in this Google using your own models.

Installation

In order to add new features without introducing dependency conflicts or bloating installations, there is a slight change to the installation process.

To use client functionality (anything not in the labelbox.data module) install labelbox exactly how you did before. This will not install any of the new dependencies.

pip install labelbox

To install all of the dependencies, use:

pip install "labelbox[data]"

Breaking changes

As part of our 3.0.0 SDK release, we made a few breaking changes.

πŸ“˜

Note

For a complete list of breaking changes, check out our changelog.

Deprecated

Functions were removed because they are deprecated and are not compatible with the latest Labelbox editor. The only exception to this is project.reviews(), which was removed for performance reasons. Reviews can still be viewed per label by querying label.reviews() or if they are needed for an entire project, they are included in the bulk annotation export.

  • project.reviews()

  • project.create_label()

  • project.create_prediction()

  • project.create_prediction_model()

  • project.predictions()

  • Project.active_prediction_model

  • Data_row.predictions

  • PredictionModel

  • Prediction

Renamed

As part of the new metadata product rollout, we are renaming what we used to call metadata to attachments.

  • data_row.create_metadata() was renamed to data_row.create_attachment()

  • AssetMetadata was renamed to AssetAttachment

  • data_row.metadata() was renamed to data_row.attachments()