Package: label-studio
Website•Docs•Twitter•Join Slack CommunityWhat is Label Studio?Label Studio is an open source data labeling tool. It lets you label data types like audio, text, images, videos, and time series with a simple and straightforward UI and export to various model formats. It can be used to prepare raw data or improve existing training data to get more accurate ML models.Try out Label StudioWhat you get from Label StudioIncluded templates for labeling data in Label StudioSet up machine learning models with Label StudioIntegrate Label Studio with your existing toolsHave a custom dataset? You can customize Label Studio to fit your needs. Read anintroductory blog postto learn more.Try out Label StudioInstall Label Studio locally, or deploy it in a cloud instance.Or, sign up for a free trial of our Enterprise edition..Install locally with DockerRun with Docker Compose (Label Studio + Nginx + PostgreSQL)Install locally with pipInstall locally with AnacondaInstall for local developmentDeploy in a cloud instanceInstall locally with DockerOfficial Label Studio docker image ishereand it can be downloaded withdocker pull.
Run Label Studio in a Docker container and access it athttp://localhost:8080.dockerpullheartexlabs/label-studio:latest
dockerrun-it-p8080:8080-v$(pwd)/mydata:/label-studio/dataheartexlabs/label-studio:latestYou can find all the generated assets, including SQLite3 database storagelabel_studio.sqlite3and uploaded files, in the./mydatadirectory.Override default Docker installYou can override the default launch command by appending the new arguments:dockerrun-it-p8080:8080-v$(pwd)/mydata:/label-studio/dataheartexlabs/label-studio:latestlabel-studio--log-levelDEBUGBuild a local image with DockerIf you want to build a local image, run:dockerbuild-theartexlabs/label-studio:latest.Run with Docker ComposeDocker Compose script provides production-ready stack consisting of the following components:Label StudioNginx- proxy web server used to load various static data, including uploaded audio, images, etc.PostgreSQL- production-ready database that replaces less performant SQLite3.To start using the app fromhttp://localhostrun this command:docker-composeupRun with Docker Compose + MinIOYou can also run it with an additional MinIO server for local S3 storage. This is particularly useful when you want to
test the behavior with S3 storage on your local system. To start Label Studio in this way, you need to run the following command:# Add sudo on Linux if you are not a member of the docker groupdockercompose-fdocker-compose.yml-fdocker-compose.minio.ymlup-dIf you do not have a static IP address, you must create an entry in your hosts file so that both Label Studio and your
browser can access the MinIO server. For more detailed instructions, please refer toour guide on storing data.Install locally with pip# Requires Python >=3.8pipinstalllabel-studio# Start the server at http://localhost:8080label-studioInstall locally with Anacondacondacreate--namelabel-studio
condaactivatelabel-studio
condainstallpsycopg2
pipinstalllabel-studioInstall for local developmentYou can run the latest Label Studio version locally without installing the package with pip.# Install all package dependenciespipinstall-e.# Run database migrationspythonlabel_studio/manage.pymigrate
pythonlabel_studio/manage.pycollectstatic# Start the server in development mode at http://localhost:8080pythonlabel_studio/manage.pyrunserverDeploy in a cloud instanceYou can deploy Label Studio with one click in Heroku, Microsoft Azure, or Google Cloud Platform:Apply frontend changesThe frontend part of Label Studio app lies in thefrontend/folder and written in React JSX. In case you've made some changes there, the following commands should be run before building / starting the instance:cd label_studio/frontend/
yarn install --frozen-lockfile
npx webpack
cd ../..
python label_studio/manage.py collectstatic --no-inputTroubleshoot installationIf you see any errors during installation, try to rerun the installationpipinstall--ignore-installedlabel-studioInstall dependencies on WindowsTo run Label Studio on Windows, download and install the following wheel packages fromGohlke buildsto ensure you're using the correct version of Python:lxml# Upgrade pippipinstall-Upip# If you're running Win64 with Python 3.8, install the packages downloaded from Gohlke:pipinstalllxml‑4.5.0‑cp38‑cp38‑win_amd64.whl# Install label studiopipinstalllabel-studioRun test suiteTo add the tests' dependencies to your local install:pipinstall-rdeploy/requirements-test.txtAlternatively, it is possible to run the unit tests from a Docker container in which the test dependencies are installed:makebuild-testing-image
makedocker-testing-shellIn either case, to run the unit tests:cdlabel_studio# sqlite3DJANGO_DB=sqliteDJANGO_SETTINGS_MODULE=core.settings.label_studiopytest-vv# postgres (assumes default postgres user,db,pass. Will not work in Docker# testing container without additional configuration)DJANGO_DB=defaultDJANGO_SETTINGS_MODULE=core.settings.label_studiopytest-vvWhat you get from Label StudioMulti-user labelingsign up and login, when you create an annotation it's tied to your account.Multiple projectsto work on all your datasets in one instance.Streamlined designhelps you focus on your task, not how to use the software.Configurable label formatslet you customize the visual interface to meet your specific labeling needs.Support for multiple data typesincluding images, audio, text, HTML, time-series, and video.Import from files or from cloud storagein Amazon AWS S3, Google Cloud Storage, or JSON, CSV, TSV, RAR, and ZIP archives.Integration with machine learning modelsso that you can visualize and compare predictions from different models and perform pre-labeling.Embed it in your data pipelineREST API makes it easy to make it a part of your pipelineIncluded templates for labeling data in Label StudioLabel Studio includes a variety of templates to help you label your data, or you can create your own using specifically designed configuration language. The most common templates and use cases for labeling include the following cases:Set up machine learning models with Label StudioConnect your favorite machine learning model using the Label Studio Machine Learning SDK. Follow these steps:Start your own machine learning backend server. Seemore detailed instructions.Connect Label Studio to the server on the model page found in project settings.This lets you:Pre-labelyour data using model predictions.Doonline learningand retrain your model while new annotations are being created.Doactive learningby labeling only the most complex examples in your data.Integrate Label Studio with your existing toolsYou can use Label Studio as an independent part of your machine learning workflow or integrate the frontend or backend into your existing tools.Use theLabel Studio Frontendas a separate React library. See more in theFrontend Library documentation.EcosystemProjectDescriptionlabel-studioServer, distributed as a pip packagelabel-studio-frontendReact and JavaScript frontend and can run standalone in a web browser or be embedded into your application.data-managerReact and JavaScript frontend for managing data. Includes the Label Studio Frontend. Relies on the label-studio server or a custom backend with the expected API methods.label-studio-converterEncode labels in the format of your favorite machine learning librarylabel-studio-transformersTransformers library connected and configured for use with Label StudioRoadmapWant to useThe Coolest Feature Xbut Label Studio doesn't support it? Check outour public roadmap!Citation@misc{Label Studio,
  title={{Label Studio}: Data labeling software},
  url={https://github.com/heartexlabs/label-studio},
  note={Open source software available from https://github.com/heartexlabs/label-studio},
  author={Maxim Tkachenko and
    Mikhail Malyuk and
    Andrey Holmanyuk and
    Nikolai Liubimov},
  year={2020-2022},}LicenseThis software is licensed under theApache 2.0 LICENSE©Heartex. 2020-2022