diff --git a/build.gradle.kts b/build.gradle.kts
index e160c83..6714ac6 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -1,7 +1,7 @@
import java.util.*
plugins {
- kotlin("jvm") version "2.0.0"
+ kotlin("jvm") version "2.0.20"
id("org.jetbrains.kotlinx.dataframe") version "0.14.1"
}
@@ -10,6 +10,7 @@ version = "1.0-SNAPSHOT"
repositories {
mavenCentral()
+ maven("https://maven.pkg.jetbrains.space/kotlin/p/kotlin/dev/")
}
dependencies {
@@ -17,16 +18,16 @@ dependencies {
implementation ("org.jetbrains.kotlinx:kandy-lets-plot:0.7.0")
implementation ("org.jetbrains.kotlinx:kandy-api:0.7.0")
implementation ("org.mariadb.jdbc:mariadb-java-client:3.1.4")
+ kotlinCompilerPluginClasspath("org.jetbrains.kotlinx.dataframe:compiler-plugin-all:0.14.1")
testImplementation(kotlin("test"))
}
-
val props = Properties()
file("local.properties").inputStream().use { props.load(it) }
dataframes {
schema {
- data = "jdbc:mariadb://localhost:3306/imdb"
+ data = "jdbc:mariadb://localhost:3307/imdb"
name = "org.jetbrains.kotlinx.dataframe.examples.jdbc.Actors"
jdbcOptions {
user = props.getProperty("db.user")
@@ -35,7 +36,7 @@ dataframes {
}
}
schema {
- data = "jdbc:mariadb://localhost:3306/imdb"
+ data = "jdbc:mariadb://localhost:3307/imdb"
name = "org.jetbrains.kotlinx.dataframe.examples.jdbc.TarantinoFilms"
jdbcOptions {
user = System.getenv("DB_USER") ?: props.getProperty("db.user")
@@ -58,4 +59,12 @@ tasks.test {
}
kotlin {
jvmToolchain(11)
+}
+
+tasks.compileKotlin {
+ compilerOptions {
+ freeCompilerArgs.addAll("-P", "plugin:org.jetbrains.kotlinx.dataframe:path=${projectDir.absolutePath}")
+ freeCompilerArgs.addAll("-P", "plugin:org.jetbrains.kotlinx.dataframe:schemas=${layout.buildDirectory.file("generated").get().asFile.absolutePath}")
+ }
+ compilerExecutionStrategy.set(org.jetbrains.kotlin.gradle.tasks.KotlinCompilerExecutionStrategy.IN_PROCESS)
}
\ No newline at end of file
diff --git a/gradle.properties b/gradle.properties
index 7fc6f1f..6899da9 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -1 +1,2 @@
kotlin.code.style=official
+kotlin.dataframe.add.ksp=false
diff --git a/notebooks/imdb.ipynb b/notebooks/imdb.ipynb
index 3642eec..4ba020d 100644
--- a/notebooks/imdb.ipynb
+++ b/notebooks/imdb.ipynb
@@ -3,8 +3,8 @@
{
"metadata": {
"ExecuteTime": {
- "end_time": "2024-09-24T09:53:20.609282200Z",
- "start_time": "2024-09-24T09:53:19.934276Z"
+ "end_time": "2024-09-25T13:21:21.666609Z",
+ "start_time": "2024-09-25T13:21:19.485739700Z"
}
},
"cell_type": "code",
@@ -19,8 +19,8 @@
{
"metadata": {
"ExecuteTime": {
- "end_time": "2024-09-24T09:53:24.989290300Z",
- "start_time": "2024-09-24T09:53:20.661280400Z"
+ "end_time": "2024-09-25T13:21:39.311710900Z",
+ "start_time": "2024-09-25T13:21:21.685689400Z"
}
},
"cell_type": "code",
@@ -31,8 +31,8 @@
{
"metadata": {
"ExecuteTime": {
- "end_time": "2024-09-24T09:53:25.058811300Z",
- "start_time": "2024-09-24T09:53:24.996291700Z"
+ "end_time": "2024-09-25T13:21:39.481706Z",
+ "start_time": "2024-09-25T13:21:39.328404800Z"
}
},
"cell_type": "code",
@@ -64,7 +64,7 @@
{
"cell_type": "code",
"source": [
- "val URL = \"jdbc:mariadb://localhost:3306/imdb\"\n",
+ "val URL = \"jdbc:mariadb://localhost:3307/imdb\"\n",
"val USER_NAME = \"root\"\n",
"val PASSWORD = \"pass\"\n",
"\n",
@@ -81,8 +81,8 @@
"metadata": {
"collapsed": false,
"ExecuteTime": {
- "end_time": "2024-09-24T09:53:25.768841300Z",
- "start_time": "2024-09-24T09:53:25.065812400Z"
+ "end_time": "2024-09-25T13:21:40.939474Z",
+ "start_time": "2024-09-25T13:21:39.494671Z"
}
},
"outputs": [
@@ -152,8 +152,8 @@
"metadata": {
"collapsed": false,
"ExecuteTime": {
- "end_time": "2024-09-24T09:53:26.531840800Z",
- "start_time": "2024-09-24T09:53:25.804841100Z"
+ "end_time": "2024-09-25T13:21:42.191895Z",
+ "start_time": "2024-09-25T13:21:40.981362600Z"
}
},
"outputs": [
@@ -275,8 +275,8 @@
"metadata": {
"collapsed": false,
"ExecuteTime": {
- "end_time": "2024-09-24T09:53:27.309887500Z",
- "start_time": "2024-09-24T09:53:26.611841900Z"
+ "end_time": "2024-09-25T13:21:43.333417300Z",
+ "start_time": "2024-09-25T13:21:42.229129Z"
}
},
"outputs": [
@@ -461,7 +461,7 @@
" </style>\n",
" </head>\n",
" <body>\n",
- " <table class="dataframe" id="df_788529152"></table>\n",
+ " <table class="dataframe" id="df_50331648"></table>\n",
"\n",
"<p class="dataframe_description">... showing only top 20 of 10000 rows</p><p class="dataframe_description">DataFrame: rowsCount = 10000, columnsCount = 4</p>\n",
"\n",
@@ -746,10 +746,10 @@
"{ name: "<span title=\"first_name: String\">first_name</span>", children: [], rightAlign: false, values: ["Michael","Eloy","Dieguito","Antonio","José","Félix","Marcial","José","Francisco","Víctor","Antonio","Luis","Janny","Antonio","Baltazar","Luis Roberto","Murray the","Néstor","Tony","Pollino"] }, \n",
"{ name: "<span title=\"last_name: String\">last_name</span>", children: [], rightAlign: false, values: ["'babeepower' Viera","'Chincheta'","'El Cigala'","'El de Chipiona'","'El Francés'","'El Gato'","'El Jalisco'","'El Morito'","'El Niño de la Manola'","'El Payaso'","'El Pescaíto'","'El Plojo'","'el Portugues'","'El Rilete'","'El Toro'","'Formiga'","'K'","'Kick Boxer'","'La Chispa'","'Romero'"] }, \n",
"{ name: "<span title=\"gender: String\">gender</span>", children: [], rightAlign: false, values: ["M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M"] }, \n",
- "], id: 788529152, rootId: 788529152, totalRows: 10000 } ) });\n",
+ "], id: 50331648, rootId: 50331648, totalRows: 10000 } ) });\n",
"/*-->*/\n",
"\n",
- "call_DataFrame(function() { DataFrame.renderTable(788529152) });\n",
+ "call_DataFrame(function() { DataFrame.renderTable(50331648) });\n",
"\n",
"\n",
" </script>\n",
@@ -921,10 +921,10 @@
" \n",
" \n",
"
\n",
- " | id | first_name | last_name | gender |
|---|
| 2 | Michael | 'babeepower' Viera | M |
| 3 | Eloy | 'Chincheta' | M |
| 4 | Dieguito | 'El Cigala' | M |
| 5 | Antonio | 'El de Chipiona' | M |
| 6 | José | 'El Francés' | M |
| 7 | Félix | 'El Gato' | M |
| 8 | Marcial | 'El Jalisco' | M |
| 9 | José | 'El Morito' | M |
| 10 | Francisco | 'El Niño de la Manola' | M |
| 11 | Víctor | 'El Payaso' | M |
| 12 | Antonio | 'El Pescaíto' | M |
| 13 | Luis | 'El Plojo' | M |
| 14 | Janny | 'el Portugues' | M |
| 15 | Antonio | 'El Rilete' | M |
| 16 | Baltazar | 'El Toro' | M |
| 17 | Luis Roberto | 'Formiga' | M |
| 18 | Murray the | 'K' | M |
| 19 | Néstor | 'Kick Boxer' | M |
| 20 | Tony | 'La Chispa' | M |
| 21 | Pollino | 'Romero' | M |
\n",
+ " | id | first_name | last_name | gender |
|---|
| 2 | Michael | 'babeepower' Viera | M |
| 3 | Eloy | 'Chincheta' | M |
| 4 | Dieguito | 'El Cigala' | M |
| 5 | Antonio | 'El de Chipiona' | M |
| 6 | José | 'El Francés' | M |
| 7 | Félix | 'El Gato' | M |
| 8 | Marcial | 'El Jalisco' | M |
| 9 | José | 'El Morito' | M |
| 10 | Francisco | 'El Niño de la Manola' | M |
| 11 | Víctor | 'El Payaso' | M |
| 12 | Antonio | 'El Pescaíto' | M |
| 13 | Luis | 'El Plojo' | M |
| 14 | Janny | 'el Portugues' | M |
| 15 | Antonio | 'El Rilete' | M |
| 16 | Baltazar | 'El Toro' | M |
| 17 | Luis Roberto | 'Formiga' | M |
| 18 | Murray the | 'K' | M |
| 19 | Néstor | 'Kick Boxer' | M |
| 20 | Tony | 'La Chispa' | M |
| 21 | Pollino | 'Romero' | M |
\n",
" \n",
" \n",
"