Skip to main content

No project description provided

Project description

Label Studio Python Library

fern shield pypi

The Label Studio Python Library provides convenient access to the Label Studio API from applications written in Python.

Documentation

Explore the Label Studio API documentation here.

Installation

pip install --upgrade label-studio-sdk
# or
poetry add label-studio-sdk

Usage

from label_studio_sdk import LabelStudio

client = LabelStudio(
    base_url='YOUR_LABEL_STUDIO_URL',  
    api_key="YOUR_API_KEY",
)

Versions

SDK 2.0.0

In August 2025, we released SDK version 2.0.0.

This version has a number of documentation and functional improvements over SDK 1.

Enhancements

Enterprise-only

  • Added a new projects.stats.iaa endpoint to return stats from the inter-annotator agreement matrix.
  • You can now update tasks that have comments.
  • Added support for sync to S3s (S3 with IAM role) exports.

Enterprise and open source

  • Expanded support to include all project settings, many of which were missing in SDK 1. For example, in Enterprise environments you can now configure assignment_settings, review_settings, annotator_evaluation, and many more.
  • Fixed passing the project parameter in actions.list() (broken in SDK 1).
  • Relaxed request/response validation reduces pydantic errors in SDK 2.

Breaking changes

Enterprise-only

  • comments.create no longer accepts a project argument.
  • In prompts.indicators, the pk parameter is now id.
  • In prompts.runs and prompts.versions, the id parameter is now prompt_id.
  • workspaces.members.list responses are now objects instead of dictionaries.

Enterprise and open source

  • In projects.exports calls, the project ID is now passed as id, while the export ID is passed as export_pk.
  • Predictions returned in task responses are now objects instead of dictionaries.

SDK 1.0+

SDK 1 was released in June 2024.

If you use the Label Studio SDK 1 package in any automated pipelines, we strongly recommend pinning your SDK version to <2.0.0 until you can reconcile the breaking changes.

SDK <1

The version of label-studio-sdk<1 is deprecated and no longer supported. We recommend updating to the latest version.

To use SDK <1

If you still want to use the deprecated version, you can install it with pip install "label-studio-sdk<1".

OR You can find the branch with the old version by cloning the repository and checking out the branch as follows:

git clone https://github.com/HumanSignal/label-studio-sdk.git
cd label-studio-sdk
git fetch origin
git checkout release/0.0.34

OR you can change your import statements as follows:

from label_studio_sdk import Client
from label_studio_sdk.data_manager import Filters, Column, Operator, Type
from label_studio_sdk._legacy import Project

Example: Create a new project with tasks

# Import the SDK and the client module
from label_studio_sdk import LabelStudio

client = LabelStudio(
    base_url="http://localhost:8080",   # <-- put your LS URL here
    api_key="YOUR_API_KEY",             # <-- put your API key here
)

label_config = """
<View>
  <Header value="Choose text sentiment:"/>
  <Text name="text" value="$text"/>
  <Choices name="sentiment" toName="text" choice="single">
    <Choice value="Positive"/>
    <Choice value="Negative"/>
    <Choice value="Neutral"/>
  </Choices>
</View>
"""

# Create project
project = client.projects.create(
    title="Sentiment Classification",
    label_config=label_config
)

# (Optional) validate the config to catch mistakes early
client.projects.validate_label_config(id=project.id, label_config=label_config)

# Create a single task
task = client.tasks.create(
    project=project.id,
    data={"text": "Label Studio is the best!"}  # 'text' matches value="$text"
)
print(f"Created task id: {task.id}")

# Or create multiple tasks at once
client.projects.import_tasks(
    id=project.id,
    request=[
        {"text": "I love Label Studio"},
        {"text": "Label Studio helps me ship faster"},
    ]
)

For additional examples, see our API reference.

Contributing

Please follow this guide to contribute to the SDK

While we value open-source contributions to this SDK, this library is generated programmatically. Additions made directly to this library would have to be moved over to our generation code, otherwise they would be overwritten upon the next generated release. Feel free to open a PR as a proof of concept, but know that we will not be able to merge it as-is. We suggest opening an issue first to discuss with us!

On the other hand, contributions to the README are always very welcome!

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

label_studio_sdk-2.0.17.tar.gz (410.6 kB view details)

Uploaded Source

Built Distribution

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

label_studio_sdk-2.0.17-py3-none-any.whl (811.2 kB view details)

Uploaded Python 3

File details

Details for the file label_studio_sdk-2.0.17.tar.gz.

File metadata

  • Download URL: label_studio_sdk-2.0.17.tar.gz
  • Upload date:
  • Size: 410.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.4 CPython/3.12.3 Linux/6.11.0-1018-azure

File hashes

Hashes for label_studio_sdk-2.0.17.tar.gz
Algorithm Hash digest
SHA256 ae2a29a87d8c208db434d73ec34489bd609b9cb8097d4a9ac6bf7c7d6260c9d2
MD5 a16b441eb933a367cb0b45eb73c98f13
BLAKE2b-256 77a07845e3c76775df2f0b76696a911d5b6b81fbe1f4518fe95b1337b687a694

See more details on using hashes here.

File details

Details for the file label_studio_sdk-2.0.17-py3-none-any.whl.

File metadata

  • Download URL: label_studio_sdk-2.0.17-py3-none-any.whl
  • Upload date:
  • Size: 811.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.4 CPython/3.12.3 Linux/6.11.0-1018-azure

File hashes

Hashes for label_studio_sdk-2.0.17-py3-none-any.whl
Algorithm Hash digest
SHA256 b19f7613c47581f4f64d9c47f95a49862455a28e9c628bf1d6a08d18ed863073
MD5 f5c81656e0bb643401bedd383366a8c4
BLAKE2b-256 fce87221806c3cd54d5b2242ac828944d3bb74f050dfa3f9836978e13df8a311

See more details on using hashes here.

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