Skip to main content

Labelbox Python API

Project description

Labelbox Python SDK

Labelbox is the enterprise-grade training data solution with fast AI enabled labeling tools, labeling automation, human workforce, data management, a powerful API for integration & SDK for extensibility. Visit Labelbox for more information.

The Labelbox Python API offers a simple, user-friendly way to interact with the Labelbox back-end.

Table of Contents

Requirements

Installation

Prerequisite: Install pip

pip is a package manager for Python. On macOS, you can set it up to use the default python3 install via -

curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python3 get-pip.py

If the installation completes with a warning re: pip not being in your path, you'll need to add it by modifying your shell config (.zshrc, .bashrc or similar). You might have to modify the command below depending on the version of python3 on your machine.

export PATH=/Users/<your-macOS-username>/Library/Python/3.8/bin:$PATH

Install SDK locally, using Python's Pip manager

pip3 install -e .

Install dependencies

pip3 install -r requirements.txt

To install dependencies required for data processing modules use:

pip install labelbox[data]

Note for Windows users

The package rasterio installed by labelbox[data] relies on GDAL which could be difficult to install on Microsoft Windows.

You may see the following error message:

INFO:root:Building on Windows requires extra options to setup.py to locate needed GDAL files. More information is available in the README.

ERROR: A GDAL API version must be specified. Provide a path to gdal-config using a GDAL_CONFIG environment variable or use a GDAL_VERSION environment variable.

As a workaround:

  1. Download the binary files for GDAL and rasterio:

    a. From https://www.lfd.uci.edu/~gohlke/pythonlibs/#gdal, download GDAL‑3.3.2‑cp38‑cp38‑win_amd64.wh

    b. From https://www.lfd.uci.edu/~gohlke/pythonlibs/#rasterio, download rasterio‑1.2.9‑cp38‑cp38‑win_amd64.whl

    Note: You need to download the right files for your Python version. In the files above cp38 means CPython 3.8.

  2. After downloading the files, please run the following commands, in this particular order.

pip install GDAL‑3.3.2‑cp38‑cp38‑win_amd64.wh
pip install rasterio‑1.2.9‑cp38‑cp38‑win_amd64.whl
pip install labelbox[data]

This should resolve the error message.

Documentation

Authentication

Labelbox uses API keys to validate requests. You can create and manage API keys on Labelbox. Pass your API key as an environment variable. Then, import and initialize the API Client.

user@machine:~$ export LABELBOX_API_KEY="<your local api key here>"
user@machine:~$ python3

from labelbox import Client
client = Client()
  • Update api_key and endpoint if not using the production cloud deployment
# On prem
client = Client( endpoint = "<local deployment>")

# Local
client = Client(api_key=os.environ['LABELBOX_TEST_API_KEY_LOCAL'], endpoint="http://localhost:8080/graphql")

# Staging
client = Client(api_key=os.environ['LABELBOX_TEST_API_KEY_LOCAL'], endpoint="https://staging-api.labelbox.com/graphql")

Contribution

Please consult CONTRIB.md

Testing

  1. Update the Makefile with your local, staging, prod API key. Ensure that docker has been installed on your system. Make sure the key is not from a free tier account.
  2. To test on local:
user@machine:~$ export LABELBOX_TEST_API_KEY_LOCAL="<your local api key here>"
make test-local  # with an optional flag: PATH_TO_TEST=tests/integration/...etc LABELBOX_TEST_API_KEY_LOCAL=specify_here_or_export_me
  1. To test on staging:
user@machine:~$ export LABELBOX_TEST_API_KEY_STAGING="<your staging api key here>"
make test-staging # with an optional flag: PATH_TO_TEST=tests/integration/...etc LABELBOX_TEST_API_KEY_STAGING=specify_here_or_export_me
  1. To test on prod:
user@machine:~$ export LABELBOX_TEST_API_KEY_PROD="<your prod api key here>"
make test-prod # with an optional flag: PATH_TO_TEST=tests/integration/...etc LABELBOX_TEST_API_KEY_PROD=specify_here_or_export_me
  1. If you make any changes and need to rebuild the image used for testing, force a rebuild with the -B flag
make -B {build|test-staging|test-prod}

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distribution

labelbox-3.10.0.tar.gz (113.1 kB view details)

Uploaded Source

Built Distribution

labelbox-3.10.0-py3-none-any.whl (150.1 kB view details)

Uploaded Python 3

File details

Details for the file labelbox-3.10.0.tar.gz.

File metadata

  • Download URL: labelbox-3.10.0.tar.gz
  • Upload date:
  • Size: 113.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.0

File hashes

Hashes for labelbox-3.10.0.tar.gz
Algorithm Hash digest
SHA256 44a8e9b6d1e83bf19967fdb436b6d8ab6d4e247b23d185d42196bf42f618c7a0
MD5 3b14dd3a956895410df64354dc1ac4cc
BLAKE2b-256 918a79d4e57f5f42c5f314274e6fa6a39774e870a141b3184e085ff6f64bcfdc

See more details on using hashes here.

File details

Details for the file labelbox-3.10.0-py3-none-any.whl.

File metadata

  • Download URL: labelbox-3.10.0-py3-none-any.whl
  • Upload date:
  • Size: 150.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.0

File hashes

Hashes for labelbox-3.10.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f4f6c70c439fcfaa6a95dd07f3e07f0231f289669f3b08fad78a29aa52ac6130
MD5 e983349e4ca8a9c3864b0200147dd447
BLAKE2b-256 9d6f5ec4f592344057ad7d42a0567102bc69a7608d08034b688855d6d998c0a7

See more details on using hashes here.

Supported by

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