# label-studio-java-sdk
**Repository Path**: zsj1981_boy/label-studio-java-sdk
## Basic Information
- **Project Name**: label-studio-java-sdk
- **Description**: No description available
- **Primary Language**: Python
- **License**: Apache-2.0
- **Default Branch**: main
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2026-03-12
- **Last Updated**: 2026-03-12
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# Label Studio Java SDK
[](https://search.maven.org/search?q=g:%22io.labelstudio%22%20AND%20a:%22label-studio-sdk%22)
[](https://adoptium.net/)
[](https://opensource.org/licenses/Apache-2.0)
A comprehensive Java client library for the [Label Studio](https://labelstud.io/) API, providing **100% feature parity** with the Python SDK. Built for production use with type safety, async support, and modern Java practices.
## 🚀 Key Features
- **🎯 Complete API Coverage**: All Label Studio API endpoints supported
- **🛡️ Type Safety**: Strongly typed models with compile-time validation
- **⚡ Async Support**: Both synchronous and asynchronous operations via CompletableFuture
- **🏗️ Builder Pattern**: Fluent, intuitive API for creating requests
- **📄 Pagination**: Built-in support for paginated responses
- **🔧 Error Handling**: Comprehensive error handling with detailed diagnostics
- **🔄 100% Python SDK Compatibility**: Drop-in replacement for Python SDK users
- **🌐 Production Ready**: Battle-tested with comprehensive test coverage
## 📦 Installation
### Maven
```xml
io.labelstudio
label-studio-sdk
2.0.0
```
### Gradle
```gradle
implementation 'io.labelstudio:label-studio-sdk:2.0.0'
```
### Requirements
- **Java 11+** (Java 17+ recommended for optimal performance)
- **Maven 3.6+** or **Gradle 6+**
## ⚡ Quick Start
### Basic Setup
```java
import io.labelstudio.sdk.LabelStudio;
import io.labelstudio.sdk.client.ProjectCreateRequest;
import io.labelstudio.sdk.models.Project;
// Create a client
LabelStudio client = LabelStudio.builder()
.baseUrl("http://localhost:8080") // Your Label Studio URL
.apiKey("your-api-key") // Your API key
.build();
// Or use environment variable LABEL_STUDIO_API_KEY
LabelStudio client = LabelStudio.builder()
.baseUrl("http://localhost:8080")
.build();
```
### Create a Project
```java
String labelConfig = """
""";
ProjectCreateRequest request = ProjectCreateRequest.builder()
.title("Sentiment Classification")
.description("A project for classifying text sentiment")
.labelConfig(labelConfig)
.showInstruction(true)
.enableEmptyAnnotation(false)
.maximumAnnotations(1)
.build();
Project project = client.projects().create(request);
System.out.println("Created project: " + project.getTitle());
```
### Import Tasks
```java
import java.util.*;
// Prepare task data
List