# Setup Kotlin DataFrame in Gradle

> For the complete documentation index, see [llms.txt](https://kotlin.github.io/dataframe/llms.txt).

Kotlin DataFrame can be added as a usual Gradle dependency to your Kotlin project (for now only Kotlin/JVM is supported).

## Create a Kotlin project

1. In IntelliJ IDEA, select File | New | Project.

2. In the panel on the left, select New Project.

3. Name the new project and change its location, if necessary.

> **Tip:**
> Select the Create Git repository checkbox to place the new project under version control. You can enable this later at any time.

4. From the Language list, select Kotlin.

5. Select the Gradle build system.

6. From the JDK list, select the [JDK](https://www.oracle.com/java/technologies/downloads/) that you want to use in your project. The minimum supported version is JDK 8.

* If the JDK is installed on your computer, but not defined in the IDE, select Add JDK and specify the path to the JDK home directory.

* If you don't have the necessary JDK on your computer, select Download JDK.

7. From the Gradle DSL list, select Kotlin or Groovy.

8. Select the Add sample code checkbox to create a file with a sample `"Hello World!"` application.

9. Click Create.

You have successfully created a project with Gradle.

## Setup Kotlin DataFrame

### 1. Add the plugin

[Kotlin DataFrame Compiler Plugin](compiler-plugin.html) enables automatic generation of [extension properties](extensionpropertiesapi.html) and updates [data schemas](schemas.html) on-the-fly in Gradle projects, making development with Kotlin DataFrame faster, more convenient, and fully type- and name-safe.

> **Tip:**
> Requires Kotlin 2.2.20-Beta1 or higher

To enable the plugin in your Gradle project, add it to the `plugins` section:

Kotlin DSL:

```KOTLIN
plugins {
    kotlin("plugin.dataframe") version "2.4.21"
}
```

Groovy DSL:

```GROOVY
plugins {
    id 'org.jetbrains.kotlin.plugin.dataframe' version '2.4.21'
}
```

In versions older than Kotlin 2.4.0, add the following line to your `gradle.properties`:

```PROPERTIES
kotlin.incremental=false
```

### 2. Add the library dependency

In your Gradle build file (`build.gradle` or `build.gradle.kts`), add the Kotlin DataFrame library as a dependency:

Kotlin DSL:

```KOTLIN
dependencies {
    implementation("org.jetbrains.kotlinx:dataframe:1.0.0-rc02")
}
```

Groovy DSL:

```GROOVY
dependencies {
    implementation 'org.jetbrains.kotlinx:dataframe:1.0.0-rc02'
}
```

This will add [general Kotlin DataFrame dependency](modules.html#dataframe-general), i.e., [core API and implementation](modules.html#dataframe-core) as well as all [IO modules](modules.html#io-modules) (excluding [experimental ones](modules.html#experimental-modules)).

For flexible dependencies configuration see [Custom configuration](setupcustomgradle.html).

## Hello World

Let’s create your first [DataFrame](dataframe.html) — a simple "Hello, World!" style example:

```KOTLIN
import org.jetbrains.kotlinx.dataframe.api.dataFrameOf
import org.jetbrains.kotlinx.dataframe.api.print

fun main() {
    val df = dataFrameOf(
        "name" to listOf("Alice", "Bob"),
        "age" to listOf(25, 30)
    )

    df.print()
}
```

## Project Example

See [the Gradle example project with the Kotlin DataFrame Compiler Plugin enabled on GitHub](https://github.com/Kotlin/dataframe/tree/master/examples/projects/kotlin-dataframe-plugin-gradle-example).

You can also [download this project](https://github.com/Kotlin/dataframe/raw/example-projects-archives/kotlin-dataframe-plugin-gradle-example.zip).

## Next Steps

* Once you’ve set up Kotlin DataFrame in your Gradle project, continue with the [Quickstart Guide](quickstart.html) to learn the basics of working with Kotlin DataFrame.

* Explore [detailed guides and real-world examples](guides-and-examples.html) to see how Kotlin DataFrame helps with different data tasks.

* Check out various [IDEA examples using Kotlin DataFrame on GitHub](https://github.com/Kotlin/dataframe/tree/master/examples).

* Learn more about the [compiler plugin](compiler-plugin.html).

