# Java Client
source: https://docs.chalk.ai/docs/client-java

## Query features with Chalk's Java client library

The Chalk Java client library provides a convenient way to query features from your Java applications.

- chalk-java GitHub Repository

### Installation

Add the Chalk Java client to your project using Maven or Gradle:

### Maven

```
<dependency>
    <groupId>ai.chalk</groupId>
    <artifactId>chalk-java</artifactId>
    <version>latest</version>
</dependency>
```

### Gradle

```
dependencies {
    implementation 'ai.chalk:chalk-java:latest'
}
```

### Basic Usage

Here's a quick example of how to use the Chalk Java client:

```
import ai.chalk.ChalkClient;
import ai.chalk.models.QueryParams;
import ai.chalk.models.QueryResult;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class Main {
    public static void main(String[] args) {
        // Initialize the client
        ChalkClient client = ChalkClient.builder()
            .clientId("your-client-id")
            .clientSecret("your-client-secret")
            .environmentId("your-environment-id")
            .build();

        // Query features
        Map<String, Object> inputs = new HashMap<>();
        inputs.put("user.id", "user123");

        QueryParams params = QueryParams.builder()
            .inputs(inputs)
            .outputs(List.of(
                "user.credit_score",
                "user.account_age_days"
            ))
            .build();

        QueryResult result = client.query(params);
        System.out.println(result);
    }
}
```

### Next Steps

- Query Basics - Learn how to query features
- Authentication - Set up authentication for your client
- Online Query API - Explore the online query API




