Skip to content

[FR] Update Labelbox backend to support Labelbox SDK v6.0+ and modern workflows #6714

@iklabucar

Description

@iklabucar

Proposal Summary

Update the FiftyOne Labelbox backend to support Labelbox Python SDK version 6.0.0 and later. Currently, the integration in fiftyone/utils/labelbox.py relies on legacy SDK methods and internal structures that were removed or refactored in the latest Labelbox major releases. This causes immediate AttributeError crashes when attempting to setup projects or upload annotations using current versions of the labelbox library.

Motivation

  • Updating the environment to a modern labelbox version causes view.annotate(backend="labelbox", ...) to fail with multiple internal errors, specifically:

AttributeError: 'Client' object has no attribute 'get_labeling_frontends'

AttributeError: module 'labelbox.schema.ontology' has no attribute 'Option'

  • The current requirement to pin labelbox < 6.0.0 forces users into Labelbox's "Legacy Editor." This prevents users from accessing significant efficiency improvements, such as interactive smart-labeling tools and improved project management workflows.

What areas of FiftyOne does this feature affect?

  • App: FiftyOne application
  • Core: Core fiftyone Python library
  • Server: FiftyOne server

Details

The integration in fiftyone/utils/labelbox.py requires refactoring to align with the Labelbox SDK v6+ architecture:

  • Replace client.get_labeling_frontends() (which is now removed) with the modern project and ontology connection logic.
  • Ontology Schema: Update the construction of ontology tools. Classes like Option have been moved or renamed within the labelbox namespace (e.g., refactored out of labelbox.schema.ontology).
  • Data Export/Import: Ensure load_annotations() is compatible with the new Export Task and NDJSON formats generated by modern Labelbox Workflow projects, as these differ from the legacy JSON exports.

Willingness to contribute

The FiftyOne Community welcomes contributions! Would you or another member of your organization be willing to contribute an implementation of this feature?

  • Yes. I can contribute this feature independently
  • Yes. I would be willing to contribute this feature with guidance from the FiftyOne community
  • No. I cannot contribute this feature at this time

Metadata

Metadata

Assignees

No one assigned

    Labels

    featureWork on a feature request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions