label-studio
Label Studio annotation tool
What it is and what it does
Label Studio is a Django-based web application that provides a browser-accessible interface for annotating raw data across multiple media types—images, audio, text, video, and time series. You run it as a standalone server (via the `label-studio` command or Docker), create projects, upload or connect to cloud storage (S3, GCS, Azure Blob), and invite team members to label data through a customizable UI. Annotations are stored in a database (SQLite by default, PostgreSQL for production) and can be exported in formats compatible with common ML frameworks.
The package is built on Django and Django REST Framework, with integrations for cloud storage (boto3, azure-storage-blob, google-cloud-logging) and optional machine learning model integration for pre-labeling. It is designed as a self-hosted or cloud-deployed service rather than a library you import into your own code; you install it, start the server, and interact via the web UI or REST API. The 58 runtime dependencies reflect this architecture—most are Django middleware and utilities for authentication, CORS, CSP, file serving, and job queuing.
Use it for:
- Prepare raw image, text, or audio datasets for supervised learning by labeling examples through a team-accessible web interface.
- Improve existing training datasets by reviewing and correcting model predictions displayed side-by-side with raw data.
- Integrate data labeling into a ML pipeline via the REST API, triggering exports to training-ready formats after annotation.
- Run a self-hosted annotation service for sensitive data that cannot be sent to third-party SaaS platforms.
- Customize labeling workflows for domain-specific tasks using Label Studio's configuration language and template system.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Label Studio is a web-based data annotation platform that lets you label images, audio, text, video, and time-series data through a browser UI, then export annotations in formats ready for machine learning training.
Yes, if you need a self-hosted, open-source annotation platform. Label Studio is actively maintained with no known vulnerabilities and supports multiple data types and export formats. The Apache-2.0 license is permissive. Install friction is low, but deployment requires managing 58 dependencies and typically running it as a service (Docker or local server) rather than embedding it in a Python script. Best suited for teams annotating datasets at scale or organizations with data privacy constraints.
Install
label-studio on PyPI
pip
pip install label-studiouv
uv add label-studiopoetry
poetry add label-studioInstalling label-studio
Before you install
Low friction install as a pure Python wheel. Active maintenance with recent releases; established community use indicated by repository activity. Requires Python >=3.10 and brings in 58 runtime dependencies, mostly Django ecosystem packages and cloud storage clients (boto3, azure-storage-blob, google-cloud-logging), which add deployment complexity.
License in practice
Apache-2.0 permissive license allows commercial and private use with minimal restrictions. You may use, modify, and distribute Label Studio freely provided you include the license notice and state significant changes.
Quickstart
pip install label-studio
label-studio
Requires Python >=3.10. Launches a web server at http://localhost:8080; you access the annotation UI through a browser, not via direct Python imports.
Verify before relying
- Whether the 58 runtime dependencies can be cleanly installed together on all supported platforms without version conflicts.
- Performance characteristics and scalability limits for concurrent annotators or large datasets.
- Whether pre-labeling with ML models requires additional setup beyond the base install.
- Actual GitHub stars and monthly download volume to assess community adoption.
Package facts
| License | Apache-2.0 (permissive) |
| Python support | supports the current Python release (<4,>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 58 — Django, appdirs, attr, attrs, azure-storage-blob, bleach, boto3, botocore, colorama, cryptography, defusedxml, django-annoying, django-cors-headers, django-csp, django-debug-toolbar, django-environ, django-extensions, django-filter, django-migration-linter, django-ranged-fileresponse, django-rq, django-storages, django-user-agents, djangorestframework, djangorestframework-simplejwt, drf-dynamic-fields, drf-flex-fields, drf-generators, drf-spectacular, google-cloud-logging |
| Maintenance | actively maintained — 154 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 113,849/month — #12,326 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: label_studio-1.23.0-py3-none-any.whl
Tags
More Artificial Intelligence packages
LiteLLM provides a unified Python interface to…
permissive · top 100 on PyPI
huggingface-hubClient library and CLI tool for downloading,…
permissive · top 100 on PyPI
langchainLangChain provides a framework for building…
permissive · top 1,000 on PyPI
hf-xethf-xet provides chunk-based deduplication and…
permissive · top 1,000 on PyPI
tokenizersTokenizers converts raw text into token…
permissive · top 1,000 on PyPI
transformersTransformers provides a unified framework for…
permissive · top 1,000 on PyPI
label-studio-sdkProvides a Python client library and CLI for…
unclear · top 5,000 on PyPI
labelboxLabelbox is a Python SDK for interacting with…
permissive · top 15,000 on PyPI
argillaArgilla is a Python SDK client for a…
permissive · top 15,000 on PyPI
surge-apiA Python SDK for accessing the Surge API to…
permissive · top 5,000 on PyPI
superviselyPython SDK for the Supervisely computer vision…
unclear · top 15,000 on PyPI
dtlpymetricsCalculates and generates quality scores for…
unclear · top 15,000 on PyPI
connected-components-3dLabels connected components in 2D and 3D images…
copyleft · top 15,000 on PyPI
cleanlabCleanlab automatically detects and helps fix…
permissive · top 15,000 on PyPI
pystac-ext-labelExtends PySTAC to add support for the Label…
permissive · top 5,000 on PyPI
optuna-dashboardProvides a real-time web dashboard for…
permissive · top 15,000 on PyPI