Hybrid & On-prem
Cloud data overview
Restrict data access by IP range
How to generate signed URLs
How to generate non-expiring signed URLs
Data import overview
Upload data via app
Import URLs via JSON
Asset metadata & image overlay
Model-assisted labeling (import annotations)
Real-time human-in-the-loop labeling
Custom label interface
Creating your first project
Project setup script
Python SDK FAQ
Intro to the GraphQL API
Data types overview
Bulk import requests
Legacy vs new editor ontology
Legacy vs new editor JSON exports
Legacy vs new editor hotkeys
Model predictions (legacy)
November 4, 2020
October 9, 2020
September 25, 2020
August 21, 2020
August 6, 2020
July 6, 2020
June 22, 2020
June 2, 2020
May 19, 2020
April 14, 2020
April 1, 2020
March 3, 2020
February 18, 2020
February 5, 2020
January 17, 2020
Updated by Alex Cota
These are some common questions users have when they are learning the capabilities of our Python SDK.
What should I do when I hit my API rate limit?
When the user attempts too many requests to the API within a short timeframe, the API will raise an
ApiLimitError exception. Our support engineers recommend that you implement your own retry logic if this happens. However, if you have hit the 500 API calls per minute per user, consider making fewer calls to the API.
If you hit the rate limit, you’ll get a 429 status code and a retry-after response header that will contain a value for the number of seconds to wait before making a follow-up request.
Can I customize my queue/set prioritization?
Yes. To learn how to customize the order of the data rows in a queue, see
Project.set_labeling_parameter_overrides(self, data) in our API reference. For a detailed explanation of how queue customization works in Labelbox, see Queue system.
Can I re-enqueue Labels?
This can be done with
Label.bulk_delete(). It will automatically re-enqueue the labels. For instructions on how to do this with the GraphQL API, see Re-enqueue labels programmatically.
How can I sort the Labelbox objects I get from the API?
One-to-many relationship fetches can be sorted by calling a relationship and providing passing a value for
order_by. You can only sort one field at a time in ascending or descending order. Currently, it's not possible to automatically sort top-level collections (such as
Client.get_projects()) in a fetch. The example below fetches and alphabetically sorts in ascending order the datasets from a specified project.
project = client.get_project("<project_id>")
sorted_datasets = project.datasets(order_by=Dataset.name.asc)
If your Python SDK does not have the method I’m looking for, can I write my own custom GraphQL queries?
You can write your own custom GraphQL queries using
Can I add users with the Python API?
A method for adding users (in bulk or individually) to a project or an organization does not exist in the Python SDK.
If you are looking for a particular functionality that has not been mentioned in this page or previous pages in this section, please take a look at our comprehensive Python API reference.