Skip to content

Commit 63be9a8

Browse files
authored
Merge pull request #1095 from Kotlin/jupyter-module
Splitting off Jupyter yet again
2 parents f7cbe37 + 5a62c95 commit 63be9a8

File tree

80 files changed

+200653
-43632
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

80 files changed

+200653
-43632
lines changed

build.gradle.kts

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@ plugins {
1919
alias(kotlin.jvm)
2020
alias(publisher)
2121
alias(serialization) apply false
22-
alias(jupyter.api) apply false
2322
alias(dokka)
2423
alias(kover)
2524
alias(ktlint)
@@ -50,20 +49,21 @@ configurations {
5049
}
5150

5251
dependencies {
53-
api(project(":core"))
54-
api(project(":dataframe-arrow"))
55-
api(project(":dataframe-excel"))
56-
api(project(":dataframe-openapi"))
57-
api(project(":dataframe-jdbc"))
58-
api(project(":dataframe-csv"))
52+
api(projects.core)
53+
api(projects.dataframeArrow)
54+
api(projects.dataframeExcel)
55+
api(projects.dataframeOpenapi)
56+
api(projects.dataframeJdbc)
57+
api(projects.dataframeCsv)
5958

60-
kover(project(":core"))
61-
kover(project(":dataframe-arrow"))
62-
kover(project(":dataframe-excel"))
63-
kover(project(":dataframe-openapi"))
64-
kover(project(":dataframe-jdbc"))
65-
kover(project(":dataframe-csv"))
66-
kover(project(":plugins:kotlin-dataframe"))
59+
kover(projects.core)
60+
kover(projects.dataframeArrow)
61+
kover(projects.dataframeExcel)
62+
kover(projects.dataframeOpenapi)
63+
kover(projects.dataframeJdbc)
64+
kover(projects.dataframeCsv)
65+
kover(projects.plugins.kotlinDataframe)
66+
kover(projects.dataframeJupyter)
6767
}
6868

6969
enum class Version : Comparable<Version> {

core/README.md

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,9 @@ or [:dataframe-jdbc](../dataframe-jdbc), however, this is has not happened yet f
99

1010
At the moment, these integrations are still part of the `:core` module:
1111

12-
- csv/tsv
12+
- (deprecated) csv/tsv
1313
- html
1414
- json
15-
- jupyter
1615

1716
### Korro code samples
1817

@@ -36,10 +35,10 @@ We can also generate "normal" DataFrame samples for the website. This can be don
3635
[OtherSamples class](./src/test/kotlin/org/jetbrains/kotlinx/dataframe/samples/api/OtherSamples.kt). Generated
3736
HTML files will be stored in [docs/StardustDocs/snippets/manual](../docs/StardustDocs/snippets/manual).
3837

39-
### KDoc Preprocesor
38+
### KoDEx
4039

41-
The code you're working on needs to be edited in [src](src), but the KDocs are processed by the
42-
[KDoc Preprocessor](https://github.com/Jolanrensen/docProcessorGradlePlugin) when the project is published (or the task
40+
The code you're working on needs to be edited in [src](src), but the KDocs are processed by
41+
[KoDEx](https://github.com/Jolanrensen/kodex) when the project is published (or the task
4342
is run manually). The generated sources with adjusted KDocs will be overwritten
4443
in [generated-sources](generated-sources).
4544
See the [KDoc Preprocessing Guide](../KDOC_PREPROCESSING.md) for more information.

core/api/core.api

Lines changed: 194 additions & 199 deletions
Large diffs are not rendered by default.

core/build.gradle.kts

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ plugins {
1212
alias(kotlin.jvm)
1313
alias(publisher)
1414
alias(serialization)
15-
alias(jupyter.api)
1615
alias(korro)
1716
alias(kover)
1817
alias(ktlint)
@@ -35,13 +34,10 @@ plugins {
3534

3635
group = "org.jetbrains.kotlinx"
3736

38-
val jupyterApiTCRepo: String by project
39-
4037
repositories {
4138
mavenLocal()
4239
mavenCentral()
4340
maven("https://maven.pkg.jetbrains.space/public/p/kotlinx-html/maven")
44-
maven(jupyterApiTCRepo)
4541
}
4642

4743
kotlin.sourceSets {
@@ -65,7 +61,7 @@ dependencies {
6561

6662
api(libs.kotlin.reflect)
6763
implementation(libs.kotlin.stdlib)
68-
kotlinCompilerPluginClasspathSamples(project(":plugins:expressions-converter"))
64+
kotlinCompilerPluginClasspathSamples(projects.plugins.expressionsConverter)
6965

7066
api(libs.commonsCsv)
7167
implementation(libs.commonsIo)
@@ -86,8 +82,8 @@ dependencies {
8682
testImplementation(libs.jsoup)
8783
testImplementation(libs.sl4jsimple)
8884

89-
// for JupyterCodegenTests and samples.api
90-
testImplementation(project(":dataframe-csv"))
85+
// for samples.api
86+
testImplementation(projects.dataframeCsv)
9187
}
9288

9389
val samplesImplementation by configurations.getting {
@@ -391,10 +387,6 @@ tasks.test {
391387
}
392388
}
393389

394-
tasks.processJupyterApiResources {
395-
libraryProducers = listOf("org.jetbrains.kotlinx.dataframe.jupyter.Integration")
396-
}
397-
398390
kotlinPublications {
399391
publication {
400392
publicationName = "core"

core/src/main/kotlin/org/jetbrains/kotlinx/dataframe/api/generateCode.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package org.jetbrains.kotlinx.dataframe.api
22

3-
import org.jetbrains.dataframe.impl.codeGen.CodeGenerator
43
import org.jetbrains.kotlinx.dataframe.DataFrame
4+
import org.jetbrains.kotlinx.dataframe.codeGen.CodeGenerator
55
import org.jetbrains.kotlinx.dataframe.codeGen.MarkerVisibility
66
import org.jetbrains.kotlinx.dataframe.codeGen.NameNormalizer
77
import org.jetbrains.kotlinx.dataframe.impl.codeGen.from

core/src/main/kotlin/org/jetbrains/kotlinx/dataframe/codeGen/CodeGenerator.kt

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,5 @@
1-
package org.jetbrains.dataframe.impl.codeGen
1+
package org.jetbrains.kotlinx.dataframe.codeGen
22

3-
import org.jetbrains.kotlinx.dataframe.codeGen.CodeWithConverter
4-
import org.jetbrains.kotlinx.dataframe.codeGen.DefaultReadDfMethod
5-
import org.jetbrains.kotlinx.dataframe.codeGen.ExtensionsCodeGenerator
6-
import org.jetbrains.kotlinx.dataframe.codeGen.Marker
7-
import org.jetbrains.kotlinx.dataframe.codeGen.MarkerVisibility
8-
import org.jetbrains.kotlinx.dataframe.codeGen.MarkersExtractor
9-
import org.jetbrains.kotlinx.dataframe.codeGen.NameNormalizer
103
import org.jetbrains.kotlinx.dataframe.impl.codeGen.CodeGeneratorImpl
114
import org.jetbrains.kotlinx.dataframe.impl.codeGen.FullyQualifiedNames
125
import org.jetbrains.kotlinx.dataframe.impl.codeGen.ShortNames

core/src/main/kotlin/org/jetbrains/kotlinx/dataframe/codeGen/CodeWithConverter.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,5 @@
11
package org.jetbrains.kotlinx.dataframe.codeGen
22

3-
import org.jetbrains.kotlinx.jupyter.api.Code
4-
import org.jetbrains.kotlinx.jupyter.api.VariableName
5-
63
/**
74
* Class representing generated code declarations for a [Marker].
85
*
@@ -28,3 +25,6 @@ public data class CodeWithConverter(val declarations: Code, val converter: (Vari
2825
else -> declarations + "\n" + converter(name)
2926
}
3027
}
28+
29+
public typealias Code = String
30+
public typealias VariableName = String

core/src/main/kotlin/org/jetbrains/kotlinx/dataframe/impl/Utils.kt

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -270,13 +270,16 @@ internal fun <C : Comparable<C>> Sequence<C?>.indexOfMax(): Int {
270270
return maxIndex
271271
}
272272

273-
internal fun KClass<*>.createStarProjectedType(nullable: Boolean): KType =
274-
if (this == Nothing::class) {
273+
internal fun createStarProjectedType(klass: KClass<*>, nullable: Boolean): KType =
274+
if (klass == Nothing::class) {
275275
nothingType(nullable) // would be Void otherwise
276276
} else {
277-
this.starProjectedType.let { if (nullable) it.withNullability(true) else it }
277+
klass.starProjectedType.let { if (nullable) it.withNullability(true) else it }
278278
}
279279

280+
@JvmName("createStarProjectedTypeExt")
281+
internal fun KClass<*>.createStarProjectedType(nullable: Boolean): KType = createStarProjectedType(this, nullable)
282+
280283
internal fun KType.isSubtypeWithNullabilityOf(type: KType) =
281284
this.isSubtypeOf(type) && (!this.isMarkedNullable || type.isMarkedNullable)
282285

core/src/main/kotlin/org/jetbrains/kotlinx/dataframe/impl/codeGen/CodeGeneratorImpl.kt

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,6 @@
11
package org.jetbrains.kotlinx.dataframe.impl.codeGen
22

33
import com.squareup.kotlinpoet.buildCodeBlock
4-
import org.jetbrains.dataframe.impl.codeGen.CodeGenResult
5-
import org.jetbrains.dataframe.impl.codeGen.CodeGenerator
6-
import org.jetbrains.dataframe.impl.codeGen.InterfaceGenerationMode
7-
import org.jetbrains.dataframe.impl.codeGen.InterfaceGenerationMode.Enum
8-
import org.jetbrains.dataframe.impl.codeGen.InterfaceGenerationMode.NoFields
9-
import org.jetbrains.dataframe.impl.codeGen.InterfaceGenerationMode.None
10-
import org.jetbrains.dataframe.impl.codeGen.InterfaceGenerationMode.TypeAlias
11-
import org.jetbrains.dataframe.impl.codeGen.InterfaceGenerationMode.WithFields
12-
import org.jetbrains.dataframe.keywords.HardKeywords
13-
import org.jetbrains.dataframe.keywords.ModifierKeywords
144
import org.jetbrains.kotlinx.dataframe.ColumnsContainer
155
import org.jetbrains.kotlinx.dataframe.ColumnsScope
166
import org.jetbrains.kotlinx.dataframe.DataColumn
@@ -20,10 +10,19 @@ import org.jetbrains.kotlinx.dataframe.annotations.DataSchema
2010
import org.jetbrains.kotlinx.dataframe.api.ColumnSelectionDsl
2111
import org.jetbrains.kotlinx.dataframe.api.DataSchemaEnum
2212
import org.jetbrains.kotlinx.dataframe.codeGen.BaseField
13+
import org.jetbrains.kotlinx.dataframe.codeGen.Code
14+
import org.jetbrains.kotlinx.dataframe.codeGen.CodeGenResult
15+
import org.jetbrains.kotlinx.dataframe.codeGen.CodeGenerator
2316
import org.jetbrains.kotlinx.dataframe.codeGen.CodeWithConverter
2417
import org.jetbrains.kotlinx.dataframe.codeGen.DefaultReadDfMethod
2518
import org.jetbrains.kotlinx.dataframe.codeGen.ExtensionsCodeGenerator
2619
import org.jetbrains.kotlinx.dataframe.codeGen.FieldType
20+
import org.jetbrains.kotlinx.dataframe.codeGen.InterfaceGenerationMode
21+
import org.jetbrains.kotlinx.dataframe.codeGen.InterfaceGenerationMode.Enum
22+
import org.jetbrains.kotlinx.dataframe.codeGen.InterfaceGenerationMode.NoFields
23+
import org.jetbrains.kotlinx.dataframe.codeGen.InterfaceGenerationMode.None
24+
import org.jetbrains.kotlinx.dataframe.codeGen.InterfaceGenerationMode.TypeAlias
25+
import org.jetbrains.kotlinx.dataframe.codeGen.InterfaceGenerationMode.WithFields
2726
import org.jetbrains.kotlinx.dataframe.codeGen.IsolatedMarker
2827
import org.jetbrains.kotlinx.dataframe.codeGen.Marker
2928
import org.jetbrains.kotlinx.dataframe.codeGen.MarkerVisibility
@@ -33,8 +32,9 @@ import org.jetbrains.kotlinx.dataframe.codeGen.ValidFieldName
3332
import org.jetbrains.kotlinx.dataframe.codeGen.toNullable
3433
import org.jetbrains.kotlinx.dataframe.columns.ColumnGroup
3534
import org.jetbrains.kotlinx.dataframe.impl.toSnakeCase
35+
import org.jetbrains.kotlinx.dataframe.keywords.HardKeywords
36+
import org.jetbrains.kotlinx.dataframe.keywords.ModifierKeywords
3637
import org.jetbrains.kotlinx.dataframe.schema.DataFrameSchema
37-
import org.jetbrains.kotlinx.jupyter.api.Code
3838

3939
private fun renderNullability(nullable: Boolean) = if (nullable) "?" else ""
4040

core/src/main/kotlin/org/jetbrains/kotlinx/dataframe/codeGen/ReplCodeGenerator.kt renamed to core/src/main/kotlin/org/jetbrains/kotlinx/dataframe/impl/codeGen/ReplCodeGenerator.kt

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
1-
package org.jetbrains.dataframe.impl.codeGen
1+
package org.jetbrains.kotlinx.dataframe.impl.codeGen
22

33
import org.jetbrains.kotlinx.dataframe.AnyFrame
44
import org.jetbrains.kotlinx.dataframe.AnyRow
5+
import org.jetbrains.kotlinx.dataframe.codeGen.Code
56
import org.jetbrains.kotlinx.dataframe.codeGen.CodeWithConverter
6-
import org.jetbrains.kotlinx.dataframe.impl.codeGen.ReplCodeGeneratorImpl
7-
import org.jetbrains.kotlinx.jupyter.api.Code
87
import kotlin.reflect.KClass
98
import kotlin.reflect.KProperty
109

core/src/main/kotlin/org/jetbrains/kotlinx/dataframe/impl/codeGen/ReplCodeGeneratorImpl.kt

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,19 @@
11
package org.jetbrains.kotlinx.dataframe.impl.codeGen
22

3-
import org.jetbrains.dataframe.impl.codeGen.CodeGenerator
4-
import org.jetbrains.dataframe.impl.codeGen.InterfaceGenerationMode
5-
import org.jetbrains.dataframe.impl.codeGen.ReplCodeGenerator
63
import org.jetbrains.kotlinx.dataframe.AnyFrame
74
import org.jetbrains.kotlinx.dataframe.AnyRow
85
import org.jetbrains.kotlinx.dataframe.DataFrame
96
import org.jetbrains.kotlinx.dataframe.DataRow
107
import org.jetbrains.kotlinx.dataframe.annotations.DataSchema
118
import org.jetbrains.kotlinx.dataframe.api.schema
9+
import org.jetbrains.kotlinx.dataframe.codeGen.Code
10+
import org.jetbrains.kotlinx.dataframe.codeGen.CodeGenerator
1211
import org.jetbrains.kotlinx.dataframe.codeGen.CodeWithConverter
12+
import org.jetbrains.kotlinx.dataframe.codeGen.InterfaceGenerationMode
1313
import org.jetbrains.kotlinx.dataframe.codeGen.Marker
1414
import org.jetbrains.kotlinx.dataframe.codeGen.MarkerVisibility
1515
import org.jetbrains.kotlinx.dataframe.codeGen.MarkersExtractor
1616
import org.jetbrains.kotlinx.dataframe.schema.DataFrameSchema
17-
import org.jetbrains.kotlinx.jupyter.api.Code
1817
import kotlin.reflect.KClass
1918
import kotlin.reflect.KProperty
2019
import kotlin.reflect.KType

core/src/main/kotlin/org/jetbrains/kotlinx/dataframe/impl/codeGen/SchemaReader.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
package org.jetbrains.kotlinx.dataframe.impl.codeGen
22

3-
import org.jetbrains.dataframe.impl.codeGen.CodeGenerator
43
import org.jetbrains.kotlinx.dataframe.AnyFrame
54
import org.jetbrains.kotlinx.dataframe.DataFrame
65
import org.jetbrains.kotlinx.dataframe.api.schema
6+
import org.jetbrains.kotlinx.dataframe.codeGen.Code
7+
import org.jetbrains.kotlinx.dataframe.codeGen.CodeGenerator
78
import org.jetbrains.kotlinx.dataframe.codeGen.DefaultReadDfMethod
89
import org.jetbrains.kotlinx.dataframe.io.SupportedCodeGenerationFormat
910
import org.jetbrains.kotlinx.dataframe.io.SupportedDataFrameFormat
@@ -12,7 +13,6 @@ import org.jetbrains.kotlinx.dataframe.io.guessFormat
1213
import org.jetbrains.kotlinx.dataframe.io.read
1314
import org.jetbrains.kotlinx.dataframe.io.readCodeForGeneration
1415
import org.jetbrains.kotlinx.dataframe.schema.DataFrameSchema
15-
import org.jetbrains.kotlinx.jupyter.api.Code
1616
import java.net.URL
1717

1818
/**

core/src/main/kotlin/org/jetbrains/kotlinx/dataframe/impl/io/writeJson.kt

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,11 @@ import kotlinx.serialization.json.JsonArray
88
import kotlinx.serialization.json.JsonElement
99
import kotlinx.serialization.json.JsonObject
1010
import kotlinx.serialization.json.JsonPrimitive
11+
import kotlinx.serialization.json.addAll
1112
import kotlinx.serialization.json.buildJsonArray
1213
import kotlinx.serialization.json.buildJsonObject
1314
import kotlinx.serialization.json.encodeToJsonElement
15+
import kotlinx.serialization.json.put
1416
import kotlinx.serialization.json.putJsonArray
1517
import kotlinx.serialization.json.putJsonObject
1618
import org.jetbrains.kotlinx.dataframe.AnyCol
@@ -401,3 +403,15 @@ internal fun encodeDataFrameWithMetadata(
401403
),
402404
)
403405
}
406+
407+
@OptIn(ExperimentalSerializationApi::class)
408+
internal fun encodeFrameNoDynamicNestedTables(df: AnyFrame, limit: Int): JsonObject =
409+
buildJsonObject {
410+
put(NROW, df.rowsCount())
411+
put(NCOL, df.columnsCount())
412+
putJsonArray(COLUMNS) { addAll(df.columnNames()) }
413+
put(
414+
KOTLIN_DATAFRAME,
415+
encodeFrame(df.take(limit)),
416+
)
417+
}

core/src/main/kotlin/org/jetbrains/kotlinx/dataframe/io/guess.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ import org.jetbrains.kotlinx.dataframe.DataRow
99
import org.jetbrains.kotlinx.dataframe.annotations.DataSchema
1010
import org.jetbrains.kotlinx.dataframe.annotations.ImportDataSchema
1111
import org.jetbrains.kotlinx.dataframe.api.single
12+
import org.jetbrains.kotlinx.dataframe.codeGen.Code
1213
import org.jetbrains.kotlinx.dataframe.codeGen.DefaultReadDfMethod
13-
import org.jetbrains.kotlinx.jupyter.api.Code
1414
import java.io.BufferedInputStream
1515
import java.io.File
1616
import java.io.FileNotFoundException

core/src/main/kotlin/org/jetbrains/kotlinx/dataframe/io/string.kt

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -198,12 +198,6 @@ internal fun renderValueToString(value: Any?, decimalFormat: RendererDecimalForm
198198
?: value.toString()
199199
}
200200

201-
internal fun internallyRenderable(value: Any?): Boolean =
202-
when (value) {
203-
is AnyFrame, is Double, is List<*>, null, "" -> true
204-
else -> false
205-
}
206-
207201
internal fun Double.format(decimalFormat: RendererDecimalFormat): String = decimalFormat.format.format(this)
208202

209203
internal fun Float.format(decimalFormat: RendererDecimalFormat): String = decimalFormat.format.format(this)

core/src/test/kotlin/org/jetbrains/kotlinx/dataframe/codeGen/CodeGenerationTests.kt

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,6 @@
11
package org.jetbrains.kotlinx.dataframe.codeGen
22

33
import io.kotest.matchers.shouldBe
4-
import org.jetbrains.dataframe.impl.codeGen.CodeGenerator
5-
import org.jetbrains.dataframe.impl.codeGen.InterfaceGenerationMode
6-
import org.jetbrains.dataframe.impl.codeGen.ReplCodeGenerator
7-
import org.jetbrains.dataframe.impl.codeGen.generate
84
import org.jetbrains.kotlinx.dataframe.AnyRow
95
import org.jetbrains.kotlinx.dataframe.ColumnsScope
106
import org.jetbrains.kotlinx.dataframe.DataColumn
@@ -16,9 +12,9 @@ import org.jetbrains.kotlinx.dataframe.api.groupBy
1612
import org.jetbrains.kotlinx.dataframe.api.move
1713
import org.jetbrains.kotlinx.dataframe.api.schema
1814
import org.jetbrains.kotlinx.dataframe.api.toCodeString
19-
import org.jetbrains.kotlinx.dataframe.api.toDataFrame
2015
import org.jetbrains.kotlinx.dataframe.api.under
2116
import org.jetbrains.kotlinx.dataframe.columns.ColumnGroup
17+
import org.jetbrains.kotlinx.dataframe.impl.codeGen.ReplCodeGenerator
2218
import org.jetbrains.kotlinx.dataframe.impl.codeGen.ReplCodeGeneratorImpl
2319
import org.jetbrains.kotlinx.dataframe.testSets.person.BaseTest
2420
import org.jetbrains.kotlinx.dataframe.testSets.person.Person

core/src/test/kotlin/org/jetbrains/kotlinx/dataframe/codeGen/MatchSchemeTests.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
package org.jetbrains.kotlinx.dataframe.codeGen
22

33
import io.kotest.matchers.shouldBe
4-
import org.jetbrains.dataframe.impl.codeGen.ReplCodeGenerator
54
import org.jetbrains.kotlinx.dataframe.DataFrame
65
import org.jetbrains.kotlinx.dataframe.DataRow
76
import org.jetbrains.kotlinx.dataframe.annotations.DataSchema
87
import org.jetbrains.kotlinx.dataframe.api.add
98
import org.jetbrains.kotlinx.dataframe.api.cast
109
import org.jetbrains.kotlinx.dataframe.api.generateCode
10+
import org.jetbrains.kotlinx.dataframe.impl.codeGen.ReplCodeGenerator
1111
import org.jetbrains.kotlinx.dataframe.io.readJsonStr
1212
import org.junit.Test
1313

core/src/test/kotlin/org/jetbrains/kotlinx/dataframe/codeGen/NameGenerationTests.kt

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,12 @@
11
package org.jetbrains.kotlinx.dataframe.codeGen
22

33
import io.kotest.matchers.shouldBe
4-
import org.jetbrains.dataframe.impl.codeGen.CodeGenerator
5-
import org.jetbrains.dataframe.impl.codeGen.ReplCodeGenerator
6-
import org.jetbrains.dataframe.impl.codeGen.process
74
import org.jetbrains.kotlinx.dataframe.annotations.ColumnName
85
import org.jetbrains.kotlinx.dataframe.annotations.DataSchema
96
import org.jetbrains.kotlinx.dataframe.api.dataFrameOf
107
import org.jetbrains.kotlinx.dataframe.api.schema
8+
import org.jetbrains.kotlinx.dataframe.impl.codeGen.ReplCodeGenerator
9+
import org.jetbrains.kotlinx.dataframe.impl.codeGen.process
1110
import org.junit.Test
1211

1312
class NameGenerationTests {

0 commit comments

Comments
 (0)