diff options
author | CoprDistGit <infra@openeuler.org> | 2023-04-11 22:27:54 +0000 |
---|---|---|
committer | CoprDistGit <infra@openeuler.org> | 2023-04-11 22:27:54 +0000 |
commit | 3b48138e5ffcd015c4822edf5b240859b4f3401b (patch) | |
tree | 513855f8671d2134a49d7064286b79ca89822f1d /python-label-studio.spec | |
parent | b6d82a911e7a55a731bb0faf90b8934398a5ccda (diff) |
automatic import of python-label-studio
Diffstat (limited to 'python-label-studio.spec')
-rw-r--r-- | python-label-studio.spec | 831 |
1 files changed, 831 insertions, 0 deletions
diff --git a/python-label-studio.spec b/python-label-studio.spec new file mode 100644 index 0000000..baf6559 --- /dev/null +++ b/python-label-studio.spec @@ -0,0 +1,831 @@ +%global _empty_manifest_terminate_build 0 +Name: python-label-studio +Version: 1.7.2 +Release: 1 +Summary: Label Studio annotation tool +License: Apache Software License +URL: https://github.com/heartexlabs/label-studio +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/d2/19/2106b6e98db7f23d81fe8f65cae14bb4273908592fd5239286644259cc54/label-studio-1.7.2.tar.gz +BuildArch: noarch + +Requires: python3-wheel +Requires: python3-appdirs +Requires: python3-attr +Requires: python3-attrs +Requires: python3-pyyaml +Requires: python3-azure-storage-blob +Requires: python3-boto +Requires: python3-boto3 +Requires: python3-botocore +Requires: python3-bleach +Requires: python3-google-api-core +Requires: python3-google-auth +Requires: python3-google-cloud-appengine-logging +Requires: python3-google-cloud-audit-log +Requires: python3-google-cloud-core +Requires: python3-google-cloud-storage +Requires: python3-google-cloud-logging +Requires: python3-google-resumable-media +Requires: python3-googleapis-common-protos +Requires: python3-grpc-google-iam-v1 +Requires: python3-Django +Requires: python3-django-storages +Requires: python3-django-annoying +Requires: python3-django-debug-toolbar +Requires: python3-django-filter +Requires: python3-django-model-utils +Requires: python3-django-rq +Requires: python3-django-cors-headers +Requires: python3-django-extensions +Requires: python3-django-rest-swagger +Requires: python3-django-user-agents +Requires: python3-django-ranged-fileresponse +Requires: python3-drf-dynamic-fields +Requires: python3-djangorestframework +Requires: python3-drf-flex-fields +Requires: python3-drf-yasg +Requires: python3-drf-generators +Requires: python3-htmlmin +Requires: python3-jsonschema +Requires: python3-lockfile +Requires: python3-lxml +Requires: python3-defusedxml +Requires: python3-numpy +Requires: python3-ordered-set +Requires: python3-pandas +Requires: python3-protobuf +Requires: python3-psycopg2 +Requires: python3-pydantic +Requires: python3-dateutil +Requires: python3-pytz +Requires: python3-requests +Requires: python3-rq +Requires: python3-rules +Requires: python3-ujson +Requires: python3-xmljson +Requires: python3-colorama +Requires: python3-boxing +Requires: python3-redis +Requires: python3-sentry-sdk +Requires: python3-launchdarkly-server-sdk +Requires: python3-json-logger +Requires: python3-label-studio-converter +Requires: python3-mysqlclient + +%description +<img src="https://user-images.githubusercontent.com/12534576/192582340-4c9e4401-1fe6-4dbb-95bb-fdbba5493f61.png"/> + +   + +[Website](https://labelstud.io/) • [Docs](https://labelstud.io/guide/) • [Twitter](https://twitter.com/labelstudiohq) • [Join Slack Community <img src="https://app.heartex.ai/docs/images/slack-mini.png" width="18px"/>](https://slack.labelstudio.heartex.com/?source=github-1) + + +## What is Label Studio? + +<!-- <a href="https://labelstud.io/blog/release-130.html"><img src="https://github.com/heartexlabs/label-studio/raw/master/docs/themes/htx/source/images/release-130/LS-Hits-v1.3.png" align="right" /></a> --> + +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 Studio](#try-out-label-studio) +- [What you get from Label Studio](#what-you-get-from-label-studio) +- [Included templates for labeling data in Label Studio](#included-templates-for-labeling-data-in-label-studio) +- [Set up machine learning models with Label Studio](#set-up-machine-learning-models-with-Label-Studio) +- [Integrate Label Studio with your existing tools](#integrate-label-studio-with-your-existing-tools) + + + +Have a custom dataset? You can customize Label Studio to fit your needs. Read an [introductory blog post](https://towardsdatascience.com/introducing-label-studio-a-swiss-army-knife-of-data-labeling-140c1be92881) to learn more. + +## Try out Label Studio + +Install Label Studio locally, or deploy it in a cloud instance. [Or, sign up for a free trial of our Enterprise edition.](https://heartex.com/free-trial). + +- [Install locally with Docker](#install-locally-with-docker) +- [Run with Docker Compose (Label Studio + Nginx + PostgreSQL)](#run-with-docker-compose) +- [Install locally with pip](#install-locally-with-pip) +- [Install locally with Anaconda](#install-locally-with-anaconda) +- [Install for local development](#install-for-local-development) +- [Deploy in a cloud instance](#deploy-in-a-cloud-instance) + +### Install locally with Docker +Official Label Studio docker image is [here](https://hub.docker.com/r/heartexlabs/label-studio) and it can be downloaded with `docker pull`. +Run Label Studio in a Docker container and access it at `http://localhost:8080`. + + +```bash +docker pull heartexlabs/label-studio:latest +docker run -it -p 8080:8080 -v $(pwd)/mydata:/label-studio/data heartexlabs/label-studio:latest +``` +You can find all the generated assets, including SQLite3 database storage `label_studio.sqlite3` and uploaded files, in the `./mydata` directory. + +#### Override default Docker install +You can override the default launch command by appending the new arguments: +```bash +docker run -it -p 8080:8080 -v $(pwd)/mydata:/label-studio/data heartexlabs/label-studio:latest label-studio --log-level DEBUG +``` + +#### Build a local image with Docker +If you want to build a local image, run: +```bash +docker build -t heartexlabs/label-studio:latest . +``` + +### Run with Docker Compose +Docker Compose script provides production-ready stack consisting of the following components: + +- Label Studio +- [Nginx](https://www.nginx.com/) - proxy web server used to load various static data, including uploaded audio, images, etc. +- [PostgreSQL](https://www.postgresql.org/) - production-ready database that replaces less performant SQLite3. + +To start using the app from `http://localhost` run this command: +```bash +docker-compose up +``` + +### Install locally with pip + +```bash +# Requires Python >=3.7 <=3.9 +pip install label-studio + +# Start the server at http://localhost:8080 +label-studio +``` + +### Install locally with Anaconda + +```bash +conda create --name label-studio +conda activate label-studio +pip install label-studio +``` + +### Install for local development + +You can run the latest Label Studio version locally without installing the package with pip. + +```bash +# Install all package dependencies +pip install -e . +# Run database migrations +python label_studio/manage.py migrate +# Start the server in development mode at http://localhost:8080 +python label_studio/manage.py runserver +``` + +### Deploy in a cloud instance + +You can deploy Label Studio with one click in Heroku, Microsoft Azure, or Google Cloud Platform: + +[<img src="https://www.herokucdn.com/deploy/button.svg" height="30px">](https://heroku.com/deploy?template=https://github.com/heartexlabs/label-studio/tree/heroku-persistent-pg) +[<img src="https://aka.ms/deploytoazurebutton" height="30px">](https://portal.azure.com/#create/Microsoft.Template/uri/https%3A%2F%2Fraw.githubusercontent.com%2Fheartexlabs%2Flabel-studio%2Fmaster%2Fazuredeploy.json) +[<img src="https://deploy.cloud.run/button.svg" height="30px">](https://deploy.cloud.run) + + +#### Apply frontend changes + +The frontend part of Label Studio app lies in the `frontend/` 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/ +npm ci +npx webpack +cd ../.. +python label_studio/manage.py collectstatic --no-input +``` + +### Troubleshoot installation +If you see any errors during installation, try to rerun the installation + +```bash +pip install --ignore-installed label-studio +``` + +#### Install dependencies on Windows +To run Label Studio on Windows, download and install the following wheel packages from [Gohlke builds](https://www.lfd.uci.edu/~gohlke/pythonlibs) to ensure you're using the correct version of Python: +- [lxml](https://www.lfd.uci.edu/~gohlke/pythonlibs/#lxml) + +```bash +# Upgrade pip +pip install -U pip + +# If you're running Win64 with Python 3.8, install the packages downloaded from Gohlke: +pip install lxml‑4.5.0‑cp38‑cp38‑win_amd64.whl + +# Install label studio +pip install label-studio +``` + +#### Run test suite +```bash +pip install -r deploy/requirements-test.txt +cd label_studio + +# postgres (assumes default postgres user,db,pass) +DJANGO_DB=default DJANGO_SETTINGS_MODULE=core.settings.label_studio python -m pytest -vv -n auto + +# sqlite3 +DJANGO_DB=sqlite DJANGO_SETTINGS_MODULE=core.settings.label_studio python -m pytest -vv -n auto +``` + + +## What you get from Label Studio + + + +- **Multi-user labeling** sign up and login, when you create an annotation it's tied to your account. +- **Multiple projects** to work on all your datasets in one instance. +- **Streamlined design** helps you focus on your task, not how to use the software. +- **Configurable label formats** let you customize the visual interface to meet your specific labeling needs. +- **Support for multiple data types** including images, audio, text, HTML, time-series, and video. +- **Import from files or from cloud storage** in Amazon AWS S3, Google Cloud Storage, or JSON, CSV, TSV, RAR, and ZIP archives. +- **Integration with machine learning models** so that you can visualize and compare predictions from different models and perform pre-labeling. +- **Embed it in your data pipeline** REST API makes it easy to make it a part of your pipeline + +## Included templates for labeling data in Label Studio + +Label 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: + +<img src="https://raw.githubusercontent.com/heartexlabs/label-studio/master/images/templates-categories.jpg" /> + +## Set up machine learning models with Label Studio + +Connect your favorite machine learning model using the Label Studio Machine Learning SDK. Follow these steps: + +1. Start your own machine learning backend server. See [more detailed instructions](https://github.com/heartexlabs/label-studio-ml-backend). +2. Connect Label Studio to the server on the model page found in project settings. + +This lets you: + +- **Pre-label** your data using model predictions. +- Do **online learning** and retrain your model while new annotations are being created. +- Do **active learning** by labeling only the most complex examples in your data. + +## Integrate Label Studio with your existing tools + +You can use Label Studio as an independent part of your machine learning workflow or integrate the frontend or backend into your existing tools. + +* Use the [Label Studio Frontend](https://github.com/heartexlabs/label-studio-frontend) as a separate React library. See more in the [Frontend Library documentation](https://labelstud.io/guide/frontend.html). + +## Ecosystem + +| Project | Description | +|-|-| +| label-studio | Server, distributed as a pip package | +| [label-studio-frontend](https://github.com/heartexlabs/label-studio-frontend) | React and JavaScript frontend and can run standalone in a web browser or be embedded into your application. | +| [data-manager](https://github.com/heartexlabs/dm2) | React 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-converter](https://github.com/heartexlabs/label-studio-converter) | Encode labels in the format of your favorite machine learning library | +| [label-studio-transformers](https://github.com/heartexlabs/label-studio-transformers) | Transformers library connected and configured for use with Label Studio | + + +## Roadmap + +Want to use **The Coolest Feature X** but Label Studio doesn't support it? Check out [our public roadmap](roadmap.md)! + +## Citation + +```tex +@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}, +} +``` + +## License + +This software is licensed under the [Apache 2.0 LICENSE](/LICENSE) © [Heartex](https://www.heartex.com/). 2020-2022 + +<img src="https://user-images.githubusercontent.com/12534576/192582529-cf628f58-abc5-479b-a0d4-8a3542a4b35e.png" title="Hey everyone!" width="180" /> + + + + +%package -n python3-label-studio +Summary: Label Studio annotation tool +Provides: python-label-studio +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-label-studio +<img src="https://user-images.githubusercontent.com/12534576/192582340-4c9e4401-1fe6-4dbb-95bb-fdbba5493f61.png"/> + +   + +[Website](https://labelstud.io/) • [Docs](https://labelstud.io/guide/) • [Twitter](https://twitter.com/labelstudiohq) • [Join Slack Community <img src="https://app.heartex.ai/docs/images/slack-mini.png" width="18px"/>](https://slack.labelstudio.heartex.com/?source=github-1) + + +## What is Label Studio? + +<!-- <a href="https://labelstud.io/blog/release-130.html"><img src="https://github.com/heartexlabs/label-studio/raw/master/docs/themes/htx/source/images/release-130/LS-Hits-v1.3.png" align="right" /></a> --> + +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 Studio](#try-out-label-studio) +- [What you get from Label Studio](#what-you-get-from-label-studio) +- [Included templates for labeling data in Label Studio](#included-templates-for-labeling-data-in-label-studio) +- [Set up machine learning models with Label Studio](#set-up-machine-learning-models-with-Label-Studio) +- [Integrate Label Studio with your existing tools](#integrate-label-studio-with-your-existing-tools) + + + +Have a custom dataset? You can customize Label Studio to fit your needs. Read an [introductory blog post](https://towardsdatascience.com/introducing-label-studio-a-swiss-army-knife-of-data-labeling-140c1be92881) to learn more. + +## Try out Label Studio + +Install Label Studio locally, or deploy it in a cloud instance. [Or, sign up for a free trial of our Enterprise edition.](https://heartex.com/free-trial). + +- [Install locally with Docker](#install-locally-with-docker) +- [Run with Docker Compose (Label Studio + Nginx + PostgreSQL)](#run-with-docker-compose) +- [Install locally with pip](#install-locally-with-pip) +- [Install locally with Anaconda](#install-locally-with-anaconda) +- [Install for local development](#install-for-local-development) +- [Deploy in a cloud instance](#deploy-in-a-cloud-instance) + +### Install locally with Docker +Official Label Studio docker image is [here](https://hub.docker.com/r/heartexlabs/label-studio) and it can be downloaded with `docker pull`. +Run Label Studio in a Docker container and access it at `http://localhost:8080`. + + +```bash +docker pull heartexlabs/label-studio:latest +docker run -it -p 8080:8080 -v $(pwd)/mydata:/label-studio/data heartexlabs/label-studio:latest +``` +You can find all the generated assets, including SQLite3 database storage `label_studio.sqlite3` and uploaded files, in the `./mydata` directory. + +#### Override default Docker install +You can override the default launch command by appending the new arguments: +```bash +docker run -it -p 8080:8080 -v $(pwd)/mydata:/label-studio/data heartexlabs/label-studio:latest label-studio --log-level DEBUG +``` + +#### Build a local image with Docker +If you want to build a local image, run: +```bash +docker build -t heartexlabs/label-studio:latest . +``` + +### Run with Docker Compose +Docker Compose script provides production-ready stack consisting of the following components: + +- Label Studio +- [Nginx](https://www.nginx.com/) - proxy web server used to load various static data, including uploaded audio, images, etc. +- [PostgreSQL](https://www.postgresql.org/) - production-ready database that replaces less performant SQLite3. + +To start using the app from `http://localhost` run this command: +```bash +docker-compose up +``` + +### Install locally with pip + +```bash +# Requires Python >=3.7 <=3.9 +pip install label-studio + +# Start the server at http://localhost:8080 +label-studio +``` + +### Install locally with Anaconda + +```bash +conda create --name label-studio +conda activate label-studio +pip install label-studio +``` + +### Install for local development + +You can run the latest Label Studio version locally without installing the package with pip. + +```bash +# Install all package dependencies +pip install -e . +# Run database migrations +python label_studio/manage.py migrate +# Start the server in development mode at http://localhost:8080 +python label_studio/manage.py runserver +``` + +### Deploy in a cloud instance + +You can deploy Label Studio with one click in Heroku, Microsoft Azure, or Google Cloud Platform: + +[<img src="https://www.herokucdn.com/deploy/button.svg" height="30px">](https://heroku.com/deploy?template=https://github.com/heartexlabs/label-studio/tree/heroku-persistent-pg) +[<img src="https://aka.ms/deploytoazurebutton" height="30px">](https://portal.azure.com/#create/Microsoft.Template/uri/https%3A%2F%2Fraw.githubusercontent.com%2Fheartexlabs%2Flabel-studio%2Fmaster%2Fazuredeploy.json) +[<img src="https://deploy.cloud.run/button.svg" height="30px">](https://deploy.cloud.run) + + +#### Apply frontend changes + +The frontend part of Label Studio app lies in the `frontend/` 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/ +npm ci +npx webpack +cd ../.. +python label_studio/manage.py collectstatic --no-input +``` + +### Troubleshoot installation +If you see any errors during installation, try to rerun the installation + +```bash +pip install --ignore-installed label-studio +``` + +#### Install dependencies on Windows +To run Label Studio on Windows, download and install the following wheel packages from [Gohlke builds](https://www.lfd.uci.edu/~gohlke/pythonlibs) to ensure you're using the correct version of Python: +- [lxml](https://www.lfd.uci.edu/~gohlke/pythonlibs/#lxml) + +```bash +# Upgrade pip +pip install -U pip + +# If you're running Win64 with Python 3.8, install the packages downloaded from Gohlke: +pip install lxml‑4.5.0‑cp38‑cp38‑win_amd64.whl + +# Install label studio +pip install label-studio +``` + +#### Run test suite +```bash +pip install -r deploy/requirements-test.txt +cd label_studio + +# postgres (assumes default postgres user,db,pass) +DJANGO_DB=default DJANGO_SETTINGS_MODULE=core.settings.label_studio python -m pytest -vv -n auto + +# sqlite3 +DJANGO_DB=sqlite DJANGO_SETTINGS_MODULE=core.settings.label_studio python -m pytest -vv -n auto +``` + + +## What you get from Label Studio + + + +- **Multi-user labeling** sign up and login, when you create an annotation it's tied to your account. +- **Multiple projects** to work on all your datasets in one instance. +- **Streamlined design** helps you focus on your task, not how to use the software. +- **Configurable label formats** let you customize the visual interface to meet your specific labeling needs. +- **Support for multiple data types** including images, audio, text, HTML, time-series, and video. +- **Import from files or from cloud storage** in Amazon AWS S3, Google Cloud Storage, or JSON, CSV, TSV, RAR, and ZIP archives. +- **Integration with machine learning models** so that you can visualize and compare predictions from different models and perform pre-labeling. +- **Embed it in your data pipeline** REST API makes it easy to make it a part of your pipeline + +## Included templates for labeling data in Label Studio + +Label 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: + +<img src="https://raw.githubusercontent.com/heartexlabs/label-studio/master/images/templates-categories.jpg" /> + +## Set up machine learning models with Label Studio + +Connect your favorite machine learning model using the Label Studio Machine Learning SDK. Follow these steps: + +1. Start your own machine learning backend server. See [more detailed instructions](https://github.com/heartexlabs/label-studio-ml-backend). +2. Connect Label Studio to the server on the model page found in project settings. + +This lets you: + +- **Pre-label** your data using model predictions. +- Do **online learning** and retrain your model while new annotations are being created. +- Do **active learning** by labeling only the most complex examples in your data. + +## Integrate Label Studio with your existing tools + +You can use Label Studio as an independent part of your machine learning workflow or integrate the frontend or backend into your existing tools. + +* Use the [Label Studio Frontend](https://github.com/heartexlabs/label-studio-frontend) as a separate React library. See more in the [Frontend Library documentation](https://labelstud.io/guide/frontend.html). + +## Ecosystem + +| Project | Description | +|-|-| +| label-studio | Server, distributed as a pip package | +| [label-studio-frontend](https://github.com/heartexlabs/label-studio-frontend) | React and JavaScript frontend and can run standalone in a web browser or be embedded into your application. | +| [data-manager](https://github.com/heartexlabs/dm2) | React 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-converter](https://github.com/heartexlabs/label-studio-converter) | Encode labels in the format of your favorite machine learning library | +| [label-studio-transformers](https://github.com/heartexlabs/label-studio-transformers) | Transformers library connected and configured for use with Label Studio | + + +## Roadmap + +Want to use **The Coolest Feature X** but Label Studio doesn't support it? Check out [our public roadmap](roadmap.md)! + +## Citation + +```tex +@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}, +} +``` + +## License + +This software is licensed under the [Apache 2.0 LICENSE](/LICENSE) © [Heartex](https://www.heartex.com/). 2020-2022 + +<img src="https://user-images.githubusercontent.com/12534576/192582529-cf628f58-abc5-479b-a0d4-8a3542a4b35e.png" title="Hey everyone!" width="180" /> + + + + +%package help +Summary: Development documents and examples for label-studio +Provides: python3-label-studio-doc +%description help +<img src="https://user-images.githubusercontent.com/12534576/192582340-4c9e4401-1fe6-4dbb-95bb-fdbba5493f61.png"/> + +   + +[Website](https://labelstud.io/) • [Docs](https://labelstud.io/guide/) • [Twitter](https://twitter.com/labelstudiohq) • [Join Slack Community <img src="https://app.heartex.ai/docs/images/slack-mini.png" width="18px"/>](https://slack.labelstudio.heartex.com/?source=github-1) + + +## What is Label Studio? + +<!-- <a href="https://labelstud.io/blog/release-130.html"><img src="https://github.com/heartexlabs/label-studio/raw/master/docs/themes/htx/source/images/release-130/LS-Hits-v1.3.png" align="right" /></a> --> + +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 Studio](#try-out-label-studio) +- [What you get from Label Studio](#what-you-get-from-label-studio) +- [Included templates for labeling data in Label Studio](#included-templates-for-labeling-data-in-label-studio) +- [Set up machine learning models with Label Studio](#set-up-machine-learning-models-with-Label-Studio) +- [Integrate Label Studio with your existing tools](#integrate-label-studio-with-your-existing-tools) + + + +Have a custom dataset? You can customize Label Studio to fit your needs. Read an [introductory blog post](https://towardsdatascience.com/introducing-label-studio-a-swiss-army-knife-of-data-labeling-140c1be92881) to learn more. + +## Try out Label Studio + +Install Label Studio locally, or deploy it in a cloud instance. [Or, sign up for a free trial of our Enterprise edition.](https://heartex.com/free-trial). + +- [Install locally with Docker](#install-locally-with-docker) +- [Run with Docker Compose (Label Studio + Nginx + PostgreSQL)](#run-with-docker-compose) +- [Install locally with pip](#install-locally-with-pip) +- [Install locally with Anaconda](#install-locally-with-anaconda) +- [Install for local development](#install-for-local-development) +- [Deploy in a cloud instance](#deploy-in-a-cloud-instance) + +### Install locally with Docker +Official Label Studio docker image is [here](https://hub.docker.com/r/heartexlabs/label-studio) and it can be downloaded with `docker pull`. +Run Label Studio in a Docker container and access it at `http://localhost:8080`. + + +```bash +docker pull heartexlabs/label-studio:latest +docker run -it -p 8080:8080 -v $(pwd)/mydata:/label-studio/data heartexlabs/label-studio:latest +``` +You can find all the generated assets, including SQLite3 database storage `label_studio.sqlite3` and uploaded files, in the `./mydata` directory. + +#### Override default Docker install +You can override the default launch command by appending the new arguments: +```bash +docker run -it -p 8080:8080 -v $(pwd)/mydata:/label-studio/data heartexlabs/label-studio:latest label-studio --log-level DEBUG +``` + +#### Build a local image with Docker +If you want to build a local image, run: +```bash +docker build -t heartexlabs/label-studio:latest . +``` + +### Run with Docker Compose +Docker Compose script provides production-ready stack consisting of the following components: + +- Label Studio +- [Nginx](https://www.nginx.com/) - proxy web server used to load various static data, including uploaded audio, images, etc. +- [PostgreSQL](https://www.postgresql.org/) - production-ready database that replaces less performant SQLite3. + +To start using the app from `http://localhost` run this command: +```bash +docker-compose up +``` + +### Install locally with pip + +```bash +# Requires Python >=3.7 <=3.9 +pip install label-studio + +# Start the server at http://localhost:8080 +label-studio +``` + +### Install locally with Anaconda + +```bash +conda create --name label-studio +conda activate label-studio +pip install label-studio +``` + +### Install for local development + +You can run the latest Label Studio version locally without installing the package with pip. + +```bash +# Install all package dependencies +pip install -e . +# Run database migrations +python label_studio/manage.py migrate +# Start the server in development mode at http://localhost:8080 +python label_studio/manage.py runserver +``` + +### Deploy in a cloud instance + +You can deploy Label Studio with one click in Heroku, Microsoft Azure, or Google Cloud Platform: + +[<img src="https://www.herokucdn.com/deploy/button.svg" height="30px">](https://heroku.com/deploy?template=https://github.com/heartexlabs/label-studio/tree/heroku-persistent-pg) +[<img src="https://aka.ms/deploytoazurebutton" height="30px">](https://portal.azure.com/#create/Microsoft.Template/uri/https%3A%2F%2Fraw.githubusercontent.com%2Fheartexlabs%2Flabel-studio%2Fmaster%2Fazuredeploy.json) +[<img src="https://deploy.cloud.run/button.svg" height="30px">](https://deploy.cloud.run) + + +#### Apply frontend changes + +The frontend part of Label Studio app lies in the `frontend/` 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/ +npm ci +npx webpack +cd ../.. +python label_studio/manage.py collectstatic --no-input +``` + +### Troubleshoot installation +If you see any errors during installation, try to rerun the installation + +```bash +pip install --ignore-installed label-studio +``` + +#### Install dependencies on Windows +To run Label Studio on Windows, download and install the following wheel packages from [Gohlke builds](https://www.lfd.uci.edu/~gohlke/pythonlibs) to ensure you're using the correct version of Python: +- [lxml](https://www.lfd.uci.edu/~gohlke/pythonlibs/#lxml) + +```bash +# Upgrade pip +pip install -U pip + +# If you're running Win64 with Python 3.8, install the packages downloaded from Gohlke: +pip install lxml‑4.5.0‑cp38‑cp38‑win_amd64.whl + +# Install label studio +pip install label-studio +``` + +#### Run test suite +```bash +pip install -r deploy/requirements-test.txt +cd label_studio + +# postgres (assumes default postgres user,db,pass) +DJANGO_DB=default DJANGO_SETTINGS_MODULE=core.settings.label_studio python -m pytest -vv -n auto + +# sqlite3 +DJANGO_DB=sqlite DJANGO_SETTINGS_MODULE=core.settings.label_studio python -m pytest -vv -n auto +``` + + +## What you get from Label Studio + + + +- **Multi-user labeling** sign up and login, when you create an annotation it's tied to your account. +- **Multiple projects** to work on all your datasets in one instance. +- **Streamlined design** helps you focus on your task, not how to use the software. +- **Configurable label formats** let you customize the visual interface to meet your specific labeling needs. +- **Support for multiple data types** including images, audio, text, HTML, time-series, and video. +- **Import from files or from cloud storage** in Amazon AWS S3, Google Cloud Storage, or JSON, CSV, TSV, RAR, and ZIP archives. +- **Integration with machine learning models** so that you can visualize and compare predictions from different models and perform pre-labeling. +- **Embed it in your data pipeline** REST API makes it easy to make it a part of your pipeline + +## Included templates for labeling data in Label Studio + +Label 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: + +<img src="https://raw.githubusercontent.com/heartexlabs/label-studio/master/images/templates-categories.jpg" /> + +## Set up machine learning models with Label Studio + +Connect your favorite machine learning model using the Label Studio Machine Learning SDK. Follow these steps: + +1. Start your own machine learning backend server. See [more detailed instructions](https://github.com/heartexlabs/label-studio-ml-backend). +2. Connect Label Studio to the server on the model page found in project settings. + +This lets you: + +- **Pre-label** your data using model predictions. +- Do **online learning** and retrain your model while new annotations are being created. +- Do **active learning** by labeling only the most complex examples in your data. + +## Integrate Label Studio with your existing tools + +You can use Label Studio as an independent part of your machine learning workflow or integrate the frontend or backend into your existing tools. + +* Use the [Label Studio Frontend](https://github.com/heartexlabs/label-studio-frontend) as a separate React library. See more in the [Frontend Library documentation](https://labelstud.io/guide/frontend.html). + +## Ecosystem + +| Project | Description | +|-|-| +| label-studio | Server, distributed as a pip package | +| [label-studio-frontend](https://github.com/heartexlabs/label-studio-frontend) | React and JavaScript frontend and can run standalone in a web browser or be embedded into your application. | +| [data-manager](https://github.com/heartexlabs/dm2) | React 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-converter](https://github.com/heartexlabs/label-studio-converter) | Encode labels in the format of your favorite machine learning library | +| [label-studio-transformers](https://github.com/heartexlabs/label-studio-transformers) | Transformers library connected and configured for use with Label Studio | + + +## Roadmap + +Want to use **The Coolest Feature X** but Label Studio doesn't support it? Check out [our public roadmap](roadmap.md)! + +## Citation + +```tex +@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}, +} +``` + +## License + +This software is licensed under the [Apache 2.0 LICENSE](/LICENSE) © [Heartex](https://www.heartex.com/). 2020-2022 + +<img src="https://user-images.githubusercontent.com/12534576/192582529-cf628f58-abc5-479b-a0d4-8a3542a4b35e.png" title="Hey everyone!" width="180" /> + + + + +%prep +%autosetup -n label-studio-1.7.2 + +%build +%py3_build + +%install +%py3_install +install -d -m755 %{buildroot}/%{_pkgdocdir} +if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi +if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi +if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi +if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi +pushd %{buildroot} +if [ -d usr/lib ]; then + find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/lib64 ]; then + find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/bin ]; then + find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/sbin ]; then + find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst +fi +touch doclist.lst +if [ -d usr/share/man ]; then + find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst +fi +popd +mv %{buildroot}/filelist.lst . +mv %{buildroot}/doclist.lst . + +%files -n python3-label-studio -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Tue Apr 11 2023 Python_Bot <Python_Bot@openeuler.org> - 1.7.2-1 +- Package Spec generated |