No project description provided
Project description
Label Studio Python Library
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.iaaendpoint to return stats from the inter-annotator agreement matrix. - You can now update tasks that have comments.
- Added support for
synctoS3s(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
projectparameter inactions.list()(broken in SDK 1). - Relaxed request/response validation reduces pydantic errors in SDK 2.
Breaking changes
Enterprise-only
comments.createno longer accepts aprojectargument.- In
prompts.indicators, thepkparameter is nowid. - In
prompts.runsandprompts.versions, theidparameter is nowprompt_id. workspaces.members.listresponses are now objects instead of dictionaries.
Enterprise and open source
- In
projects.exportscalls, the project ID is now passed asid, while the export ID is passed asexport_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
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ae2a29a87d8c208db434d73ec34489bd609b9cb8097d4a9ac6bf7c7d6260c9d2
|
|
| MD5 |
a16b441eb933a367cb0b45eb73c98f13
|
|
| BLAKE2b-256 |
77a07845e3c76775df2f0b76696a911d5b6b81fbe1f4518fe95b1337b687a694
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b19f7613c47581f4f64d9c47f95a49862455a28e9c628bf1d6a08d18ed863073
|
|
| MD5 |
f5c81656e0bb643401bedd383366a8c4
|
|
| BLAKE2b-256 |
fce87221806c3cd54d5b2242ac828944d3bb74f050dfa3f9836978e13df8a311
|