> ## Documentation Index
> Fetch the complete documentation index at: https://docs.labelbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Overview

> Description of Labelbox-Python SDK and our developer guides.

Welcome to Labelbox-Python SDK developer guides! The Labelbox-Python SDK is an open-source project that provides access to the Labelbox API and can automate many actions and workflows in the Labelbox app. The SDK's source code can be found on our [GitHub page](https://github.com/Labelbox/labelbox-python). For a complete granular API reference, visit our [readthedocs](https://labelbox-python.readthedocs.io/en/latest/) page.

<Warning>
  ### SDK version deprecation

  SDK versions earlier than 3.68 are no longer supported. Please update to a supported version to maintain compatibility.
</Warning>

## Installation

To install, run either `pip install labelbox` or`pip install "labelbox[data]"` in your command line.

<CodeGroup>
  ```shell shell theme={null}
  pip install "labelbox[data]"
  # or
  pip install labelbox
  ```
</CodeGroup>

| Module             | Description                                                                                                                                                              |
| ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `"labelbox[data]"` | Installs all [required dependencies](https://github.com/Labelbox/labelbox-python/blob/develop/requirements.lock) (libraries, tools to manipulate annotations, and more.) |
| `labelbox`         | Installs all required libraries for client-only functionality                                                                                                            |

For more in-depth installation information, please visit our [installation guide](/reference/install-python-sdk).

## How to use our developer guides

Our developer documentation is designed to help you understand the different methods in the Labelbox-Python SDK. You are encouraged to run the code blocks locally as you read through the guides. Some guides include links to Google Colab Notebooks and our GitHub repository at the top of the page. These links allow you to run Python code quickly, demonstrating how specific methods work and providing example workflows.

## Best practices

To get the best experience from the SDK, we recommend the following:

1. Always use bulk operations. Unless you are testing or working on small datasets, use bulk operations for faster and more reliable performance.
   * `create_data_rows` instead of `create_data_row`
   * `project.export()` instead of `project.labels()`
   * `Label.bulk_delete(labels)` instead of `[label.delete() for label in labels]`
2. Use `get_one()` and `get_many()` methods to get elements of a paginated collection instead of `list`.
   * `list(dataset.data_rows())[0]` is going to query for every single `data_row` in your dataset.
3. Make sure to use the latest version of the SDK.
   * Labelbox is a rapidly evolving company, and we are constantly adding new features and optimizations.

## GraphQL API

<Warning>
  ### GraphQL APIs are not meant to be consumed directly

  GraphQL APIs may be updated or deprecated at any time without notice. For this reason, Labelbox strongly advises that customers use the Python SDK for all development.
</Warning>

## How to contribute

To learn how to contribute towards the Labelbox Python SDK and our example notebooks, refer to our dedicated [contributing guide](https://github.com/Labelbox/labelbox-python/blob/develop/CONTRIBUTING.md) .

For feedback or to report any issues with our documentation, please email [docs@labelbox.com](mailto:docs@labelbox.com) .
