Skip to main content

Integration between V7 Darwin and Voxel51

Project description

darwin_fiftyone

Provides an integration between Voxel51 and V7 Darwin. This enables Voxel51 users to send subsets of their datasets to Darwin for annotation and review. The annotated data can then be imported back into Voxel51.

This integration is currently in beta.

Install

  1. Install the library
pip install darwin-fiftyone 
  1. Configure voxel51 to use it
cat ~/.fiftyone/annotation_config.json
{
  "backends": {
    "darwin": {
      "config_cls": "darwin_fiftyone.DarwinBackendConfig",
      "api_key": "d8mLUXQ.**********************"
    }
  }
}

Note: Replace the api_key placeholder with a valid API key generated from Darwin.

Development setup

  1. Install the library and development dependencies
# Install all dependencies including development tools
pip install -r requirements.txt

# Install the package in editable mode
pip install -e .
  1. Configure voxel51 to use it
cat ~/.fiftyone/annotation_config.json
{
  "backends": {
    "darwin": {
      "config_cls": "darwin_fiftyone.DarwinBackendConfig",
      "api_key": "d8mLUXQ.**********************"
    }
  }
}

Note: Replace the api_key placeholder with a valid API key generated from Darwin.

  1. (Optional) Install the V7 plugin in V51 to push/pull data to V7 directly from V51.
fiftyone plugins download \
    https://github.com/voxel51/fiftyone-plugins \
    --plugin-names @voxel51/annotation

Example Usage

Several notebooks can be found here

API

In addition to the standard arguments provided by dataset.annotate(), we also support:

  • backend=darwin, Indicates that the Darwin backend is being used.
  • atts, Specifies attribute subannotations to be added in the labelling job
  • dataset_slug, Specifies the name of the dataset to use or create on Darwin.
  • external_storage, Specifies the sluggified name of the Darwin external storage and indicates that all files should be treated as external storage

Testing

Set up your environment with FiftyOne and Darwin integration settings. To find your team slug check the Darwin documentation on dataset identifiers which has a section called "Finding Team Slugs:"

You'll also need an API Key

export FIFTYONE_ANNOTATION_BACKENDS=*,darwin
export FIFTYONE_DARWIN_CONFIG_CLS=darwin_fiftyone.DarwinBackendConfig
export FIFTYONE_DARWIN_API_KEY=******.*********
export FIFTYONE_DARWIN_TEAM_SLUG=your-team-slug-here

NB. E2E tests run in the IRL env and on a specific team with a specific external storage configuration. See env.example

Supported Annotation Types

The integration currently supports bounding boxes, polygons (closed polylines), keypoints, and tags (classification). It also supports attributes, text, instance ids, and properties subtypes.

Future development work will focus on the addition of annotation and subannotation types. Do reach out if you have suggestions.

TODO

  • Support for read only external data storage
  • Support for mask and keypoint skeleton types

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

darwin_fiftyone-2.1.0.tar.gz (26.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

darwin_fiftyone-2.1.0-py3-none-any.whl (20.2 kB view details)

Uploaded Python 3

File details

Details for the file darwin_fiftyone-2.1.0.tar.gz.

File metadata

  • Download URL: darwin_fiftyone-2.1.0.tar.gz
  • Upload date:
  • Size: 26.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for darwin_fiftyone-2.1.0.tar.gz
Algorithm Hash digest
SHA256 86aad0b7954abe89e644d845c868a73088e26c8a4e9c14f05ec661b81369122a
MD5 1d07f1e70fd752cc0ce53490defef7c1
BLAKE2b-256 84d7be04ad2d54b21faa6f162690f5527a8de00139e4faacd50dad75dcd491d3

See more details on using hashes here.

Provenance

The following attestation bundles were made for darwin_fiftyone-2.1.0.tar.gz:

Publisher: python-publish.yml on v7labs/darwin-fiftyone

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file darwin_fiftyone-2.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for darwin_fiftyone-2.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ff8a314803cec0b8ad984d77d3a78f68dec3c267e6cba778db901554a0c5a121
MD5 95dfaab52f4a22d4162ca171b84f949c
BLAKE2b-256 d2a7775a5e95a089a34d9baf98b025257657eadd7ca4b2343e87ed8c47e22107

See more details on using hashes here.

Provenance

The following attestation bundles were made for darwin_fiftyone-2.1.0-py3-none-any.whl:

Publisher: python-publish.yml on v7labs/darwin-fiftyone

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page