### Label Studio Installation and Setup Source: https://labelstud.io/docs/guide Guides for installing and setting up Label Studio, including quick start, Kubernetes installation with Helm values, database setup, persistent storage, and security best practices. ```APIDOC Installation: Quick Start: https://labelstud.io/guide/quick_start General Installation: https://labelstud.io/guide/install Kubernetes Installation: Overview: https://labelstud.io/guide/install_k8s Ingress Controller Setup: https://labelstud.io/guide/ingress_config Airgapped Server: https://labelstud.io/guide/install_k8s_airgapped Helm Values: https://labelstud.io/guide/helm_values Troubleshooting: https://labelstud.io/guide/install_troubleshoot Setup: Database Setup: https://labelstud.io/guide/storedata Persistent Storage: https://labelstud.io/guide/persistent_storage Start Label Studio: https://labelstud.io/guide/start Upgrade: https://labelstud.io/guide/upgrade_community Security: https://labelstud.io/guide/security ``` -------------------------------- ### Install Label Studio with Kubernetes Source: https://labelstud.io/docs/guide Instructions for deploying Label Studio using Kubernetes, including setting up an ingress controller, configuring for airgapped environments, and utilizing Helm values. ```Bash # Example Helm command to install Label Studio helm install my-label-studio ./label-studio-chart --namespace label-studio \ --create-namespace \ --set ingress.enabled=true \ --set ingress.hostname=label-studio.example.com \ --set postgresql.enabled=true \ --set postgresql.auth.username=labelstudio \ --set postgresql.auth.password=yourpassword \ --set postgresql.auth.database=labelstudio ``` ```Kubernetes # Example Kubernetes Ingress resource configuration apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: label-studio-ingress annotations: nginx.ingress.kubernetes.io/rewrite-target: / spec: rules: - host: label-studio.example.com http: paths: - path: / pathType: Prefix backend: service: name: label-studio-service port: number: 8080 ``` -------------------------------- ### Label Studio Organization and User Management Source: https://labelstud.io/docs/guide Guides for managing organization settings, adding and managing user accounts, and handling access tokens within Label Studio. ```APIDOC Organization Management: Add Users: https://labelstud.io/guide/signup Manage User Accounts: https://labelstud.io/guide/admin_manage Account and Settings: https://labelstud.io/guide/user_account Access Tokens: https://labelstud.io/guide/access_tokens ``` -------------------------------- ### Label Studio Support and Community Source: https://labelstud.io/docs/guide Resources for getting support, including troubleshooting guides, GitHub issues, Slack community, Discourse forum, and contact information for sales. ```APIDOC Support Resources: Troubleshooting: https://labelstud.io/guide/troubleshooting GitHub Issues: https://github.com/HumanSignal/label-studio/issues Slack Community: https://slack.labelstud.io Discourse Forum: https://community.labelstud.io/ Contact Sales: https://humansignal.com/contact-sales/ ``` -------------------------------- ### Label Studio Project Management Source: https://labelstud.io/docs/guide Instructions on creating, configuring, and managing Label Studio projects, including data management, labeling interface setup, and project settings. ```APIDOC Project Management: Create Project: https://labelstud.io/guide/setup_project Configure Labeling Interface: https://labelstud.io/guide/setup Manage Projects: Overview: https://labelstud.io/guide/manage_projects_lso Project Settings: https://labelstud.io/guide/project_settings Data Manager: https://labelstud.io/guide/manage_data Labeling Guide: General: https://labelstud.io/guide/labeling Hotkeys: https://labelstud.io/guide/hotkeys ``` -------------------------------- ### Label Studio Machine Learning Integration Source: https://labelstud.io/docs/guide Information on integrating machine learning models with Label Studio, including writing custom ML backends and exploring ML examples and tutorials. ```APIDOC Machine Learning Integration: Overview: https://labelstud.io/guide/ml Write Custom ML Backend: https://labelstud.io/guide/ml_create ML Examples and Tutorials: https://labelstud.io/guide/ml_tutorials ``` -------------------------------- ### Label Studio Integrations and Extensibility Source: https://labelstud.io/docs/guide Information on integrating Label Studio with other tools, using the Python SDK, setting up webhooks, and understanding the frontend reference. ```APIDOC Integrations and Extensibility: API: https://labelstud.io/guide/api Python SDK: https://labelstud.io/guide/sdk Webhooks: Development: https://labelstud.io/guide/webhook_create Event Reference: https://labelstud.io/guide/webhook_reference Frontend Reference: https://labelstud.io/guide/frontend_reference Integrations Directory: https://labelstud.io/integrations/ ``` -------------------------------- ### Label Studio Learn Resources Source: https://labelstud.io/docs/guide Links to learning resources for Label Studio, including the blog, videos, community forums, and academic program. ```APIDOC Learning Resources: Learn Hub: https://labelstud.io/learn/ Blog: https://labelstud.io/blog/ Videos: https://labelstud.io/videos/ Community: https://labelstud.io/community/ Academic Program: https://labelstud.io/academic/ ``` -------------------------------- ### Python SDK for Label Studio Source: https://labelstud.io/docs/guide Demonstrates how to use the Label Studio Python SDK to interact with Label Studio, including project creation, data import, and model integration. ```Python from label_studio_sdk import Client # Initialize the client ls = Client(url="http://localhost:8080", api_key="YOUR_API_KEY") # Get a project project = ls.get_project(id=1) # Import data # Assuming you have a list of dictionaries, each with an 'image' key # data_to_import = [{'image': 'http://example.com/image1.jpg'}, {'image': 'http://example.com/image2.jpg'}] # project.import_tasks(data_to_import) # Configure an ML backend # ml_backend = ls.create_ml_backend( \ # project=project, \ # title="My ML Backend", \ # model_url="http://my-ml-model:5000", \ # backend="label_studio_ml.model.BaseModel" # ) # Request predictions for a task # task_id = 123 # predictions = project.predict(task_id=task_id, model_version="latest") # print(predictions) # Export annotations # exported_data = project.export_tasks(export_format="json") # print(exported_data) ``` -------------------------------- ### Label Studio API Reference Source: https://labelstud.io/docs/guide This section provides comprehensive documentation for the Label Studio API, detailing available endpoints, methods, parameters, and return values for interacting with Label Studio programmatically. ```APIDOC API Documentation: Access Tokens: - Purpose: Manage API access by creating and revoking access tokens. - Endpoints: - POST /api/v1/user/tokens: Create a new access token. - Request Body: - expiresAt (string, optional): Expiration date in ISO format. - Returns: {"key": "your_access_token"} - DELETE /api/v1/user/tokens/{tokenId}: Revoke an existing access token. - Parameters: - tokenId (string): The ID of the token to revoke. - Returns: 204 No Content on success. Webhooks: - Purpose: Configure and manage webhooks for real-time event notifications. - Endpoints: - GET /api/v1/webhooks: List all configured webhooks. - POST /api/v1/webhooks: Create a new webhook. - Request Body: - url (string, required): The URL to send webhook events to. - events (array of strings, optional): List of events to subscribe to (e.g., "task_created", "annotation_updated"). If empty, all events are sent. - enabled (boolean, optional): Whether the webhook is enabled (default: true). - Returns: Details of the created webhook. - PUT /api/v1/webhooks/{webhookId}: Update an existing webhook. - Parameters: - webhookId (string): The ID of the webhook to update. - Request Body: Same as POST. - Returns: Updated webhook details. - DELETE /api/v1/webhooks/{webhookId}: Delete a webhook. - Parameters: - webhookId (string): The ID of the webhook to delete. - Returns: 204 No Content on success. Projects: - Purpose: Manage Label Studio projects, including creation, deletion, and configuration. - Endpoints: - GET /api/v1/projects: List all projects. - POST /api/v1/projects: Create a new project. - Request Body: - title (string, required): The name of the project. - description (string, optional): A description for the project. - label_config (string, optional): The labeling interface configuration (XML). - Returns: Details of the created project. - GET /api/v1/projects/{projectId}: Get details of a specific project. - Parameters: - projectId (string): The ID of the project. - Returns: Project details. - DELETE /api/v1/projects/{projectId}: Delete a project. - Parameters: - projectId (string): The ID of the project. - Returns: 204 No Content on success. Tasks: - Purpose: Manage tasks within a project, including import, export, and retrieval. - Endpoints: - POST /api/v1/projects/{projectId}/tasks: Import tasks into a project. - Parameters: - projectId (string): The ID of the project. - Request Body: - data (object, required): Task data, including the "image" or "text" field. - predictions (array of objects, optional): Pre-annotations for the task. - Returns: Information about the imported tasks. - GET /api/v1/projects/{projectId}/tasks: List tasks in a project. - Parameters: - projectId (string): The ID of the project. - Returns: List of tasks. - GET /api/v1/projects/{projectId}/export: Export tasks and annotations from a project. - Parameters: - projectId (string): The ID of the project. - format (string, optional): The export format (e.g., "json", "csv"). - Returns: Exported data. Machine Learning Integration: - Purpose: Connect and manage machine learning backends for active learning and pre-annotation. - Endpoints: - GET /api/v1/ml: List configured ML backends. - POST /api/v1/ml: Configure a new ML backend. - Request Body: - title (string, required): Name of the ML backend. - model_url (string, required): URL of the ML model endpoint. - backend (string, optional): Type of backend (e.g., "label_studio_ml.model.BaseModel"). - Returns: Details of the configured ML backend. - POST /api/v1/projects/{projectId}/models/predict: Request predictions from an ML backend for a task. - Parameters: - projectId (string): The ID of the project. - Request Body: - task_id (integer, required): The ID of the task. - model_version (string, optional): Specific model version to use. - Returns: Predictions for the task. Users & Accounts: - Purpose: Manage user accounts and organization settings. - Endpoints: - GET /api/v1/user: Get current user information. - GET /api/v1/users: List all users in the organization. - POST /api/v1/users: Add a new user to the organization. - Request Body: - email (string, required): User's email address. - password (string, required): User's password. - firstName (string, optional): User's first name. - lastName (string, optional): User's last name. - Returns: Details of the created user. - PUT /api/v1/users/{userId}: Update a user's information. - Parameters: - userId (string): The ID of the user to update. - Request Body: User details to update. - Returns: Updated user details. - DELETE /api/v1/users/{userId}: Remove a user from the organization. - Parameters: - userId (string): The ID of the user to remove. - Returns: 204 No Content on success. ``` -------------------------------- ### Label Studio API Reference Source: https://labelstud.io/docs/guide Provides access to the Label Studio API for programmatic interaction with the platform. This includes endpoints for managing projects, labeling configurations, data, and results. ```APIDOC API Reference: URL: https://labelstud.io/guide/api Key functionalities include: - Project Management: Creating, updating, and deleting projects. - Data Management: Importing, exporting, and managing labeling data. - Labeling Configuration: Defining and managing labeling interfaces and templates. - Results Management: Retrieving and processing labeling results. Example Endpoints: GET /api/v1/projects Retrieves a list of all projects. POST /api/v1/projects Creates a new project. Request Body: name: string (required) - The name of the project. description: string (optional) - A description for the project. GET /api/v1/projects/{id} Retrieves a specific project by its ID. GET /api/v1/projects/{id}/data Retrieves data associated with a project. POST /api/v1/projects/{id}/label Submits a label for a data item. Request Body: data_id: integer (required) - The ID of the data item. annotations: array (required) - An array of annotation objects. - result: array (required) - The labeling results. - model_version: string (optional) - The version of the model used for labeling. Related Documentation: - SDK Reference: https://labelstud.io/guide/sdk - Customizable Tags: https://labelstud.io/tags ``` -------------------------------- ### Label Studio API Reference Source: https://labelstud.io/docs/guide This section provides comprehensive API documentation for Label Studio, detailing available endpoints, methods, parameters, and return values. It serves as a reference for integrating Label Studio with other applications or building custom workflows. ```APIDOC API Reference: Introduction: Getting Started: https://api.labelstud.io/api-reference/introduction/getting-started Python SDK: Usage: https://labelstud.io/guide/sdk Webhooks: Development: https://labelstud.io/guide/webhook_create Event Reference: https://labelstud.io/guide/webhook_reference Frontend Reference: Details: https://labelstud.io/guide/frontend_reference ``` -------------------------------- ### Label Studio SDK Reference Source: https://labelstud.io/docs/guide Details on using the Label Studio SDK for Python to interact with the Label Studio API. This allows for automation of labeling tasks and data management within your Python projects. ```APIDOC SDK Reference: URL: https://labelstud.io/guide/sdk Key functionalities: - Project creation and management. - Data import and export. - Labeling task submission. - Result retrieval. Example Usage (Python): ```python from label_studio_sdk import Client # Initialize the client client = Client(url='http://localhost:8080', api_key='YOUR_API_KEY') # Get a project project = client.get_project(id=1) # Import data project.import_data([{'data': {'image': 'http://example.com/image.jpg'}}]) # Get labeling results results = project.get_results() for result in results: print(result['result']) ``` Related Documentation: - API Reference: https://labelstud.io/guide/api ``` -------------------------------- ### Label Studio Data Import and Export Source: https://labelstud.io/docs/guide Details on importing data into Label Studio, formatting data for import, importing pre-annotations, and exporting annotations in various formats. ```APIDOC Data Import/Export: Add Project Storage: https://labelstud.io/guide/storage Import Data: Overview: https://labelstud.io/guide/tasks Data Format for Import: https://labelstud.io/guide/task_format Import Pre-annotations: https://labelstud.io/guide/predictions Export Annotations: https://labelstud.io/guide/export ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.