Skip to content

Commit ab463e1

Browse files
committed
Merge branch 'master' into parseExperimentalUuid
2 parents 4677665 + a1d46b8 commit ab463e1

File tree

130 files changed

+2692
-1093
lines changed

Some content is hidden

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

130 files changed

+2692
-1093
lines changed

build.gradle.kts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -253,8 +253,8 @@ kotlinPublications {
253253
fairDokkaJars = false
254254

255255
sonatypeSettings(
256-
project.findProperty("kds.sonatype.user") as String?,
257-
project.findProperty("kds.sonatype.password") as String?,
256+
project.findProperty("kds.sonatype.central.username") as String?,
257+
project.findProperty("kds.sonatype.central.password") as String?,
258258
"dataframe project, v. ${project.version}",
259259
)
260260

core/api/core.api

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

core/generated-sources/src/main/kotlin/org/jetbrains/kotlinx/dataframe/api/Nulls.kt

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -964,6 +964,15 @@ public fun <T> DataFrame<T>.dropNulls(whereAllNull: Boolean = false, columns: Co
964964
}
965965
}
966966

967+
@Refine
968+
@Interpretable("DropNulls0")
969+
@Deprecated(
970+
"DataFrame conventional name for filterNot* functions is drop*",
971+
ReplaceWith("dropNulls(columns = columns)"),
972+
DeprecationLevel.ERROR,
973+
)
974+
public fun <T> DataFrame<T>.filterNotNull(columns: ColumnsSelector<T, *>): DataFrame<T> = dropNulls(columns = columns)
975+
967976
/**
968977
* ## The Drop Nulls Operation
969978
*
@@ -1256,6 +1265,8 @@ public fun <T> DataFrame<T>.dropNA(vararg columns: AnyColumnReference, whereAllN
12561265
* If `true`, rows are dropped if all selected cells are [`NA`][org.jetbrains.kotlinx.dataframe.documentation.NA].
12571266
* If `false`, rows are dropped if any of the selected cells is [`NA`][org.jetbrains.kotlinx.dataframe.documentation.NA].
12581267
*/
1268+
@Refine
1269+
@Interpretable("DropNa1")
12591270
public fun <T> DataFrame<T>.dropNA(whereAllNA: Boolean = false): DataFrame<T> = dropNA(whereAllNA) { all() }
12601271

12611272
/**

core/generated-sources/src/main/kotlin/org/jetbrains/kotlinx/dataframe/api/add.kt

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ import org.jetbrains.kotlinx.dataframe.ColumnsContainer
1010
import org.jetbrains.kotlinx.dataframe.DataColumn
1111
import org.jetbrains.kotlinx.dataframe.DataFrame
1212
import org.jetbrains.kotlinx.dataframe.DataRow
13-
import org.jetbrains.kotlinx.dataframe.RowExpression
1413
import org.jetbrains.kotlinx.dataframe.Selector
1514
import org.jetbrains.kotlinx.dataframe.annotations.AccessApiOverload
1615
import org.jetbrains.kotlinx.dataframe.annotations.Interpretable
@@ -257,27 +256,27 @@ public class AddDsl<T>(
257256
internal inline fun <reified R> add(
258257
name: String,
259258
infer: Infer = Infer.Nulls,
260-
noinline expression: RowExpression<T, R>,
259+
noinline expression: AddExpression<T, R>,
261260
): Boolean = add(df.mapToColumn(name, infer, expression))
262261

263262
public inline fun <reified R> expr(
264263
infer: Infer = Infer.Nulls,
265-
noinline expression: RowExpression<T, R>,
264+
noinline expression: AddExpression<T, R>,
266265
): DataColumn<R> = df.mapToColumn("", infer, expression)
267266

268267
@Interpretable("From")
269-
public inline infix fun <reified R> String.from(noinline expression: RowExpression<T, R>): Boolean =
268+
public inline infix fun <reified R> String.from(noinline expression: AddExpression<T, R>): Boolean =
270269
add(this, Infer.Nulls, expression)
271270

272271
// TODO: use path instead of name
273272
@Deprecated(DEPRECATED_ACCESS_API)
274273
@AccessApiOverload
275-
public inline infix fun <reified R> ColumnAccessor<R>.from(noinline expression: RowExpression<T, R>): Boolean =
274+
public inline infix fun <reified R> ColumnAccessor<R>.from(noinline expression: AddExpression<T, R>): Boolean =
276275
name().from(expression)
277276

278277
@Deprecated(DEPRECATED_ACCESS_API)
279278
@AccessApiOverload
280-
public inline infix fun <reified R> KProperty<R>.from(noinline expression: RowExpression<T, R>): Boolean =
279+
public inline infix fun <reified R> KProperty<R>.from(noinline expression: AddExpression<T, R>): Boolean =
281280
add(name, Infer.Nulls, expression)
282281

283282
public infix fun String.from(column: AnyColumnReference): Boolean = add(column.rename(this))
@@ -420,15 +419,15 @@ public fun <T> DataFrame<T>.add(body: AddDsl<T>.() -> Unit): DataFrame<T> {
420419
public inline fun <reified R, T, G> GroupBy<T, G>.add(
421420
name: String,
422421
infer: Infer = Infer.Nulls,
423-
noinline expression: RowExpression<G, R>,
422+
noinline expression: AddExpression<G, R>,
424423
): GroupBy<T, G> = updateGroups { add(name, infer, expression) }
425424

426425
@Deprecated(DEPRECATED_ACCESS_API)
427426
@AccessApiOverload
428427
public inline fun <reified R, T, G> GroupBy<T, G>.add(
429428
column: ColumnAccessor<G>,
430429
infer: Infer = Infer.Nulls,
431-
noinline expression: RowExpression<G, R>,
430+
noinline expression: AddExpression<G, R>,
432431
): GroupBy<T, G> = add(column.name(), infer, expression)
433432

434433
public class AddGroup<T>(internal val body: AddDsl<T>.() -> Unit)

core/generated-sources/src/main/kotlin/org/jetbrains/kotlinx/dataframe/api/all.kt

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -225,7 +225,7 @@ public interface AllColumnsSelectionDsl<out _UNUSED> {
225225
*/
226226
@Suppress("UNCHECKED_CAST")
227227
@Interpretable("All0")
228-
public fun <C> ColumnSet<C>.all(): TransformableColumnSet<C> = allColumnsInternal() as TransformableColumnSet<C>
228+
public fun <C> ColumnSet<C>.all(): ColumnSet<C> = allColumnsInternal().cast()
229229

230230
/**
231231
* ## All (Cols)
@@ -276,7 +276,7 @@ public interface AllColumnsSelectionDsl<out _UNUSED> {
276276
* @see [ColumnsSelectionDsl.cols]
277277
*/
278278
@Interpretable("All1")
279-
public fun ColumnsSelectionDsl<*>.all(): TransformableColumnSet<*> = asSingleColumn().allColumnsInternal()
279+
public fun ColumnsSelectionDsl<*>.all(): ColumnSet<*> = asSingleColumn().allColumnsInternal()
280280

281281
/**
282282
* ## All (Cols)
@@ -327,8 +327,7 @@ public interface AllColumnsSelectionDsl<out _UNUSED> {
327327
* @see [ColumnsSelectionDsl.cols]
328328
*/
329329
@Interpretable("All2")
330-
public fun SingleColumn<DataRow<*>>.allCols(): TransformableColumnSet<*> =
331-
ensureIsColumnGroup().allColumnsInternal()
330+
public fun SingleColumn<DataRow<*>>.allCols(): ColumnSet<*> = ensureIsColumnGroup().allColumnsInternal()
332331

333332
/**
334333
* ## All (Cols)
@@ -378,7 +377,7 @@ public interface AllColumnsSelectionDsl<out _UNUSED> {
378377
* @see [ColumnsSelectionDsl.allExcept]
379378
* @see [ColumnsSelectionDsl.cols]
380379
*/
381-
public fun String.allCols(): TransformableColumnSet<*> = columnGroup(this).allCols()
380+
public fun String.allCols(): ColumnSet<*> = columnGroup(this).allCols()
382381

383382
/**
384383
* ## All (Cols)
@@ -430,7 +429,7 @@ public interface AllColumnsSelectionDsl<out _UNUSED> {
430429
*/
431430
@Deprecated(DEPRECATED_ACCESS_API)
432431
@AccessApiOverload
433-
public fun KProperty<*>.allCols(): TransformableColumnSet<*> = columnGroup(this).allCols()
432+
public fun KProperty<*>.allCols(): ColumnSet<*> = columnGroup(this).allCols()
434433

435434
/**
436435
* ## All (Cols)
@@ -480,7 +479,7 @@ public interface AllColumnsSelectionDsl<out _UNUSED> {
480479
* @see [ColumnsSelectionDsl.allExcept]
481480
* @see [ColumnsSelectionDsl.cols]
482481
*/
483-
public fun ColumnPath.allCols(): TransformableColumnSet<*> = columnGroup(this).allCols()
482+
public fun ColumnPath.allCols(): ColumnSet<*> = columnGroup(this).allCols()
484483

485484
// endregion
486485

core/generated-sources/src/main/kotlin/org/jetbrains/kotlinx/dataframe/api/cast.kt

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,6 @@ import org.jetbrains.kotlinx.dataframe.columns.FrameColumn
1919
import org.jetbrains.kotlinx.dataframe.columns.SingleColumn
2020
import org.jetbrains.kotlinx.dataframe.columns.ValueColumn
2121
import org.jetbrains.kotlinx.dataframe.impl.api.convertToImpl
22-
import org.jetbrains.kotlinx.dataframe.impl.columns.TransformableColumnSet
23-
import org.jetbrains.kotlinx.dataframe.impl.columns.TransformableSingleColumn
2422
import kotlin.reflect.typeOf
2523

2624
@Check
@@ -94,10 +92,6 @@ public fun <C> ColumnsResolver<*>.cast(): ColumnsResolver<C> = this as ColumnsRe
9492

9593
public fun <C> SingleColumn<*>.cast(): SingleColumn<C> = this as SingleColumn<C>
9694

97-
public fun <C> TransformableColumnSet<*>.cast(): TransformableColumnSet<C> = this as TransformableColumnSet<C>
98-
99-
public fun <C> TransformableSingleColumn<*>.cast(): TransformableSingleColumn<C> = this as TransformableSingleColumn<C>
100-
10195
public fun <C> ColumnReference<*>.cast(): ColumnReference<C> = this as ColumnReference<C>
10296

10397
public fun <T, G> GroupBy<*, *>.cast(): GroupBy<T, G> = this as GroupBy<T, G>

core/generated-sources/src/main/kotlin/org/jetbrains/kotlinx/dataframe/api/colGroups.kt

Lines changed: 11 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ import org.jetbrains.kotlinx.dataframe.columns.ColumnSet
1212
import org.jetbrains.kotlinx.dataframe.columns.ColumnsResolver
1313
import org.jetbrains.kotlinx.dataframe.columns.SingleColumn
1414
import org.jetbrains.kotlinx.dataframe.documentation.AccessApi
15-
import org.jetbrains.kotlinx.dataframe.impl.columns.TransformableColumnSet
1615
import kotlin.reflect.KProperty
1716

1817
// region ColumnsSelectionDsl
@@ -177,7 +176,7 @@ public interface ColGroupsColumnsSelectionDsl {
177176
* @see [ColumnsSelectionDsl.valueCols]
178177
*/
179178
@Interpretable("ColGroups0")
180-
public fun ColumnSet<*>.colGroups(filter: Predicate<ColumnGroup<*>> = { true }): TransformableColumnSet<AnyRow> =
179+
public fun ColumnSet<*>.colGroups(filter: Predicate<ColumnGroup<*>> = { true }): ColumnSet<AnyRow> =
181180
columnGroupsInternal(filter)
182181

183182
/**
@@ -213,9 +212,8 @@ public interface ColGroupsColumnsSelectionDsl {
213212
* @see [ColumnsSelectionDsl.valueCols]
214213
*/
215214
@Interpretable("ColGroups1")
216-
public fun ColumnsSelectionDsl<*>.colGroups(
217-
filter: Predicate<ColumnGroup<*>> = { true },
218-
): TransformableColumnSet<AnyRow> = asSingleColumn().columnGroupsInternal(filter)
215+
public fun ColumnsSelectionDsl<*>.colGroups(filter: Predicate<ColumnGroup<*>> = { true }): ColumnSet<AnyRow> =
216+
asSingleColumn().columnGroupsInternal(filter)
219217

220218
/**
221219
* ## Column Groups
@@ -250,9 +248,8 @@ public interface ColGroupsColumnsSelectionDsl {
250248
* @see [ColumnsSelectionDsl.valueCols]
251249
*/
252250
@Interpretable("ColGroups2")
253-
public fun SingleColumn<DataRow<*>>.colGroups(
254-
filter: Predicate<ColumnGroup<*>> = { true },
255-
): TransformableColumnSet<AnyRow> = this.ensureIsColumnGroup().columnGroupsInternal(filter)
251+
public fun SingleColumn<DataRow<*>>.colGroups(filter: Predicate<ColumnGroup<*>> = { true }): ColumnSet<AnyRow> =
252+
this.ensureIsColumnGroup().columnGroupsInternal(filter)
256253

257254
/**
258255
* ## Column Groups
@@ -286,7 +283,7 @@ public interface ColGroupsColumnsSelectionDsl {
286283
* @see [ColumnsSelectionDsl.frameCols]
287284
* @see [ColumnsSelectionDsl.valueCols]
288285
*/
289-
public fun String.colGroups(filter: Predicate<ColumnGroup<*>> = { true }): TransformableColumnSet<AnyRow> =
286+
public fun String.colGroups(filter: Predicate<ColumnGroup<*>> = { true }): ColumnSet<AnyRow> =
290287
columnGroup(this).colGroups(filter)
291288

292289
/**
@@ -321,7 +318,7 @@ public interface ColGroupsColumnsSelectionDsl {
321318
* @see [ColumnsSelectionDsl.frameCols]
322319
* @see [ColumnsSelectionDsl.valueCols]
323320
*/
324-
public fun KProperty<*>.colGroups(filter: Predicate<ColumnGroup<*>> = { true }): TransformableColumnSet<AnyRow> =
321+
public fun KProperty<*>.colGroups(filter: Predicate<ColumnGroup<*>> = { true }): ColumnSet<AnyRow> =
325322
columnGroup(this).colGroups(filter)
326323

327324
/**
@@ -354,19 +351,19 @@ public interface ColGroupsColumnsSelectionDsl {
354351
* @see [ColumnsSelectionDsl.frameCols]
355352
* @see [ColumnsSelectionDsl.valueCols]
356353
*/
357-
public fun ColumnPath.colGroups(filter: Predicate<ColumnGroup<*>> = { true }): TransformableColumnSet<AnyRow> =
354+
public fun ColumnPath.colGroups(filter: Predicate<ColumnGroup<*>> = { true }): ColumnSet<AnyRow> =
358355
columnGroup(this).colGroups(filter)
359356
}
360357

361358
/**
362-
* Returns a TransformableColumnSet containing the column groups that satisfy the given filter.
359+
* Returns a ColumnSet containing the column groups that satisfy the given filter.
363360
*
364361
* @param filter The filter function to apply on each column group. Must accept a ColumnGroup object and return a Boolean.
365-
* @return A [TransformableColumnSet] containing the column groups that satisfy the filter.
362+
* @return A [ColumnSet] containing the column groups that satisfy the filter.
366363
*/
367364
@Suppress("UNCHECKED_CAST")
368365
internal inline fun ColumnsResolver<*>.columnGroupsInternal(
369366
crossinline filter: (ColumnGroup<*>) -> Boolean,
370-
): TransformableColumnSet<AnyRow> = colsInternal { it.isColumnGroup() && filter(it) } as TransformableColumnSet<AnyRow>
367+
): ColumnSet<AnyRow> = colsInternal { it.isColumnGroup() && filter(it) }.cast()
371368

372369
// endregion

core/generated-sources/src/main/kotlin/org/jetbrains/kotlinx/dataframe/api/cols.kt

Lines changed: 14 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -419,8 +419,8 @@ public interface ColsColumnsSelectionDsl<out _UNUSED> {
419419
* @see [ColumnsSelectionDsl.all]
420420
* @see [ColumnsSelectionDsl.filter] */
421421
@Suppress("UNCHECKED_CAST")
422-
public fun <C> ColumnSet<C>.cols(predicate: ColumnFilter<C> = { true }): TransformableColumnSet<C> =
423-
colsInternal(predicate as ColumnFilter<*>) as TransformableColumnSet<C>
422+
public fun <C> ColumnSet<C>.cols(predicate: ColumnFilter<C> = { true }): ColumnSet<C> =
423+
colsInternal(predicate as ColumnFilter<*>).cast()
424424

425425
/** ## Cols
426426
* Creates a subset of columns ([ColumnSet][org.jetbrains.kotlinx.dataframe.columns.ColumnSet]) from [this].
@@ -469,8 +469,7 @@ public interface ColsColumnsSelectionDsl<out _UNUSED> {
469469
* @see [ColumnsSelectionDsl.colGroups]
470470
* @see [ColumnsSelectionDsl.all]
471471
* @see [ColumnsSelectionDsl.filter] */
472-
public operator fun <C> ColumnSet<C>.get(predicate: ColumnFilter<C> = { true }): TransformableColumnSet<C> =
473-
cols(predicate)
472+
public operator fun <C> ColumnSet<C>.get(predicate: ColumnFilter<C> = { true }): ColumnSet<C> = cols(predicate)
474473

475474
/**
476475
* ## Cols
@@ -572,7 +571,7 @@ public interface ColsColumnsSelectionDsl<out _UNUSED> {
572571
* @see [ColumnsSelectionDsl.frameCols]
573572
* @see [ColumnsSelectionDsl.colGroups]
574573
* @see [ColumnsSelectionDsl.all] */
575-
public fun ColumnsSelectionDsl<*>.cols(predicate: ColumnFilter<*> = { true }): TransformableColumnSet<*> =
574+
public fun ColumnsSelectionDsl<*>.cols(predicate: ColumnFilter<*> = { true }): ColumnSet<*> =
576575
this.asSingleColumn().colsInternal(predicate)
577576

578577
/** ## Cols
@@ -623,7 +622,7 @@ public interface ColsColumnsSelectionDsl<out _UNUSED> {
623622
* @see [ColumnsSelectionDsl.frameCols]
624623
* @see [ColumnsSelectionDsl.colGroups]
625624
* @see [ColumnsSelectionDsl.all] */
626-
public operator fun ColumnsSelectionDsl<*>.get(predicate: ColumnFilter<*> = { true }): TransformableColumnSet<*> =
625+
public operator fun ColumnsSelectionDsl<*>.get(predicate: ColumnFilter<*> = { true }): ColumnSet<*> =
627626
cols(predicate)
628627

629628
/**
@@ -724,7 +723,7 @@ public interface ColsColumnsSelectionDsl<out _UNUSED> {
724723
* @see [ColumnsSelectionDsl.frameCols]
725724
* @see [ColumnsSelectionDsl.colGroups]
726725
* @see [ColumnsSelectionDsl.allCols] */
727-
public fun SingleColumn<DataRow<*>>.cols(predicate: ColumnFilter<*> = { true }): TransformableColumnSet<*> =
726+
public fun SingleColumn<DataRow<*>>.cols(predicate: ColumnFilter<*> = { true }): ColumnSet<*> =
728727
this.ensureIsColumnGroup().colsInternal(predicate)
729728

730729
/**
@@ -776,9 +775,8 @@ public interface ColsColumnsSelectionDsl<out _UNUSED> {
776775
* @see [ColumnsSelectionDsl.colGroups]
777776
* @see [ColumnsSelectionDsl.allCols]
778777
*/
779-
public operator fun SingleColumn<DataRow<*>>.get(
780-
predicate: ColumnFilter<*> = { true },
781-
): TransformableColumnSet<*> = cols(predicate)
778+
public operator fun SingleColumn<DataRow<*>>.get(predicate: ColumnFilter<*> = { true }): ColumnSet<*> =
779+
cols(predicate)
782780

783781
/**
784782
* ## Cols
@@ -871,8 +869,7 @@ public interface ColsColumnsSelectionDsl<out _UNUSED> {
871869
* @see [ColumnsSelectionDsl.frameCols]
872870
* @see [ColumnsSelectionDsl.colGroups]
873871
*/
874-
public fun String.cols(predicate: ColumnFilter<*> = { true }): TransformableColumnSet<*> =
875-
columnGroup(this).cols(predicate)
872+
public fun String.cols(predicate: ColumnFilter<*> = { true }): ColumnSet<*> = columnGroup(this).cols(predicate)
876873

877874
/** ## Cols
878875
* Creates a subset of columns ([ColumnSet][org.jetbrains.kotlinx.dataframe.columns.ColumnSet]) from [this].
@@ -918,7 +915,7 @@ public interface ColsColumnsSelectionDsl<out _UNUSED> {
918915
* @see [ColumnsSelectionDsl.frameCols]
919916
* @see [ColumnsSelectionDsl.colGroups]
920917
*/
921-
public operator fun String.get(predicate: ColumnFilter<*> = { true }): TransformableColumnSet<*> = cols(predicate)
918+
public operator fun String.get(predicate: ColumnFilter<*> = { true }): ColumnSet<*> = cols(predicate)
922919

923920
/**
924921
* ## Cols
@@ -1014,7 +1011,7 @@ public interface ColsColumnsSelectionDsl<out _UNUSED> {
10141011
* @see [ColumnsSelectionDsl.allCols] */
10151012
@Deprecated(DEPRECATED_ACCESS_API)
10161013
@AccessApiOverload
1017-
public fun KProperty<*>.cols(predicate: ColumnFilter<*> = { true }): TransformableColumnSet<*> =
1014+
public fun KProperty<*>.cols(predicate: ColumnFilter<*> = { true }): ColumnSet<*> =
10181015
columnGroup(this).cols(predicate)
10191016

10201017
/** ## Cols
@@ -1063,8 +1060,7 @@ public interface ColsColumnsSelectionDsl<out _UNUSED> {
10631060
* @see [ColumnsSelectionDsl.allCols] */
10641061
@Deprecated(DEPRECATED_ACCESS_API)
10651062
@AccessApiOverload
1066-
public operator fun KProperty<*>.get(predicate: ColumnFilter<*> = { true }): TransformableColumnSet<*> =
1067-
cols(predicate)
1063+
public operator fun KProperty<*>.get(predicate: ColumnFilter<*> = { true }): ColumnSet<*> = cols(predicate)
10681064

10691065
/**
10701066
* ## Cols
@@ -1153,8 +1149,7 @@ public interface ColsColumnsSelectionDsl<out _UNUSED> {
11531149
* @see [ColumnsSelectionDsl.frameCols]
11541150
* @see [ColumnsSelectionDsl.colGroups]
11551151
*/
1156-
public fun ColumnPath.cols(predicate: ColumnFilter<*> = { true }): TransformableColumnSet<*> =
1157-
columnGroup(this).cols(predicate)
1152+
public fun ColumnPath.cols(predicate: ColumnFilter<*> = { true }): ColumnSet<*> = columnGroup(this).cols(predicate)
11581153

11591154
/** ## Cols
11601155
* Creates a subset of columns ([ColumnSet][org.jetbrains.kotlinx.dataframe.columns.ColumnSet]) from [this].
@@ -1198,8 +1193,7 @@ public interface ColsColumnsSelectionDsl<out _UNUSED> {
11981193
* @see [ColumnsSelectionDsl.frameCols]
11991194
* @see [ColumnsSelectionDsl.colGroups]
12001195
*/
1201-
public operator fun ColumnPath.get(predicate: ColumnFilter<*> = { true }): TransformableColumnSet<*> =
1202-
cols(predicate)
1196+
public operator fun ColumnPath.get(predicate: ColumnFilter<*> = { true }): ColumnSet<*> = cols(predicate)
12031197

12041198
// endregion
12051199

0 commit comments

Comments
 (0)