Skip to content

Commit f6c2114

Browse files
Merge branch 'master' into migration_guide
2 parents b141780 + 5d6b7af commit f6c2114

File tree

166 files changed

+5057
-371
lines changed

Some content is hidden

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

166 files changed

+5057
-371
lines changed

.editorconfig

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
root = true
2+
13
[*]
24
charset = utf-8
35
end_of_line = lf
@@ -33,6 +35,7 @@ ktlint_standard_chain-method-continuation = disabled
3335
ktlint_ignore_back_ticked_identifier = true
3436
ktlint_standard_multiline-expression-wrapping = disabled
3537
ktlint_standard_when-entry-bracing = disabled
38+
ktlint_standard_expression-operand-wrapping = disabled
3639

3740
[{*/build/**/*,**/*keywords*/**,**/*.Generated.kt,**/*$Extensions.kt}]
3841
ktlint = disabled
Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
name: Archive Example Projects
2+
3+
on:
4+
push:
5+
branches:
6+
- master
7+
paths:
8+
- 'examples/android-example/**'
9+
- 'examples/kotlin-dataframe-plugin-example/**'
10+
workflow_dispatch:
11+
12+
jobs:
13+
build-archives:
14+
runs-on: ubuntu-latest
15+
16+
steps:
17+
- name: Checkout code
18+
uses: actions/checkout@v4
19+
20+
- name: Create android-example archive
21+
run: |
22+
cd examples/android-example
23+
zip -r ../../android-example.zip . -x "*.git*" "build/*" ".gradle/*" "*/build/*"
24+
25+
- name: Create kotlin-dataframe-plugin-example archive
26+
run: |
27+
cd examples/kotlin-dataframe-plugin-example
28+
zip -r ../../kotlin-dataframe-plugin-example.zip . -x "*.git*" "build/*" ".gradle/*" "*/build/*"
29+
30+
- name: Checkout example-projects-archives branch
31+
run: |
32+
git config user.name "github-actions[bot]"
33+
git config user.email "github-actions[bot]@users.noreply.github.com"
34+
35+
if git ls-remote --exit-code --heads origin example-projects-archives; then
36+
git fetch origin example-projects-archives
37+
git checkout example-projects-archives
38+
else
39+
git checkout --orphan example-projects-archives
40+
git rm -rf .
41+
fi
42+
43+
- name: Update archives
44+
run: |
45+
git rm -f *.zip 2>/dev/null || true
46+
47+
CURRENT_DATE=$(date -u '+%Y-%m-%d %H:%M UTC')
48+
49+
cat > README.md << EOF
50+
# Kotlin DataFrame - Example Projects Archives
51+
52+
Automatically generated archives of example projects.
53+
54+
## Available archives:
55+
56+
### Android Example
57+
Example of using Kotlin DataFrame in an Android application.
58+
59+
**Download:** [android-example.zip](https://github.com/Kotlin/dataframe/raw/example-projects-archives/android-example.zip)
60+
61+
### Kotlin DataFrame Plugin Example
62+
Example of using the compiler plugin for Kotlin DataFrame.
63+
64+
**Download:** [kotlin-dataframe-plugin-example.zip](https://github.com/Kotlin/dataframe/raw/example-projects-archives/kotlin-dataframe-plugin-example.zip)
65+
66+
---
67+
68+
Last updated: $CURRENT_DATE
69+
70+
Source commit: ${{ github.sha }}
71+
EOF
72+
73+
git add .
74+
git commit -m "Update example archives from ${{ github.sha }}" || echo "No changes to commit"
75+
76+
- name: Push to example-projects-archives branch
77+
run: |
78+
git push -f origin example-projects-archives
79+
env:
80+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

.github/workflows/generated-sources-master.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ jobs:
2020
java-version: '21'
2121

2222
- name: Run Gradle task
23-
run: ./gradlew :core:processKDocsMain korro
23+
run: ./gradlew processKDocsMain korro
2424

2525
- name: Commit changes
2626
run: |

README.md

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ You could find the following articles there:
6363

6464
### What's new
6565

66-
1.0.0-Beta3: [Release notes](https://github.com/Kotlin/dataframe/releases/tag/v1.0.0-Beta3)
66+
1.0.0-Beta4: [Release notes](https://github.com/Kotlin/dataframe/releases/tag/v1.0.0-Beta4)
6767

6868
Check out this [notebook with new features](examples/notebooks/feature_overviews/0.15/new_features.ipynb) in v0.15.
6969

@@ -85,6 +85,7 @@ You can include all the necessary dependencies and imports in the notebook using
8585
%use dataframe
8686
```
8787

88+
This will add the `dataframe` of the version bundled in the selected Kotlin Jupyter kernel.
8889
You can use `%useLatestDescriptors`
8990
to get the latest stable version without updating the Kotlin kernel:
9091

@@ -96,9 +97,22 @@ to get the latest stable version without updating the Kotlin kernel:
9697
Or manually specify the version:
9798

9899
```
99-
%use dataframe($dataframe_version)
100+
%use dataframe(1.0.0-Beta4n)
100101
```
101102

103+
> [!WARNING]
104+
> Please, use `0.16.0-736` Kotlin Jupyter kernel version or higher for descriptor compatibility
105+
>
106+
> Use specified `1.0.0-Beta4n` version in Kotlin Notebook.
107+
> Due to [an known issue](https://github.com/Kotlin/dataframe/issues/1116),
108+
> common `dataframe:1.0.0-Beta4` version works incorrectly in Notebook.
109+
>
110+
> If you use [`kandy`](https://github.com/Kotlin/kandy) in your notebook, add it after the `dataframe`:
111+
> ```kotlin
112+
> %useLatestDescriptors
113+
> %use dataframe, kandy
114+
> ```
115+
102116
Refer to the
103117
[Get started with Kotlin DataFrame in Kotlin Notebook](https://kotlin.github.io/dataframe/gettingstartedkotlinnotebook.html)
104118
for details.
@@ -109,7 +123,7 @@ Add dependencies in the build.gradle.kts script:
109123
110124
```kotlin
111125
dependencies {
112-
implementation("org.jetbrains.kotlinx:dataframe:1.0.0-Beta3")
126+
implementation("org.jetbrains.kotlinx:dataframe:1.0.0-Beta4")
113127
}
114128
```
115129
@@ -200,6 +214,8 @@ other recommended versions.
200214
| 1.0.0-Beta2 | 8 / 11 | 2.0.20 | 0.12.0-383 | 18.1.0 | 2.2.20-dev-3524 | 0.8.1-dev-66 |
201215
| 1.0.0-Beta3n (notebooks) | 8 / 11 | 2.2.20 | 0.15.0-587 (K1 only) | 18.3.0 | - | 0.8.1n |
202216
| 1.0.0-Beta3 | 8 / 11 | 2.2.20 | 0.15.0-587 | 18.3.0 | 2.2.20 / IDEA 2025.2+ | 0.8.1 |
217+
| 1.0.0-Beta4n (notebooks) | 8 / 11 | 2.2.21 | 0.16.0-736 | 18.3.0 | - | 0.8.3 |
218+
| 1.0.0-Beta4 | 8 / 11 | 2.2.21 | 0.16.0-736 | 18.3.0 | 2.2.21 / IDEA 2025.2+ | 0.8.3 |
203219
204220
## Code of Conduct
205221

build.gradle.kts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,7 @@ val modulesUsingJava11 = with(projects) {
157157
dataframeJupyter,
158158
dataframeGeoJupyter,
159159
examples.ideaExamples.titanic,
160-
examples.ideaExamples.unsupportedDataSources,
160+
examples.ideaExamples.unsupportedDataSources.hibernate,
161161
samples,
162162
plugins.dataframeGradlePlugin,
163163
)
@@ -194,14 +194,16 @@ allprojects {
194194
// enables support for kotlin.time.Instant as kotlinx.datetime.Instant was deprecated; Issue #1350
195195
// Can be removed once kotlin.time.Instant is marked "stable".
196196
optIn.add("kotlin.time.ExperimentalTime")
197+
// can be removed once kotlin.uuid.ExperimentalUuidApi is marked "stable".
198+
optIn.add("kotlin.uuid.ExperimentalUuidApi")
197199
}
198200
}
199201

200202
// Attempts to configure ktlint for each sub-project that uses the plugin
201203
afterEvaluate {
202204
try {
203205
configure<KtlintExtension> {
204-
version = "1.6.0"
206+
version = "1.8.0"
205207
// rules are set up through .editorconfig
206208
}
207209
} catch (_: UnknownDomainObjectException) {

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

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,14 @@ import org.jetbrains.kotlinx.dataframe.columns.ColumnPath
88
import org.jetbrains.kotlinx.dataframe.columns.ColumnSet
99
import org.jetbrains.kotlinx.dataframe.columns.ColumnsResolver
1010
import org.jetbrains.kotlinx.dataframe.columns.SingleColumn
11+
import org.jetbrains.kotlinx.dataframe.documentation.DslGrammarTemplateColumnsSelectionDsl
12+
import org.jetbrains.kotlinx.dataframe.documentation.DslGrammarTemplateColumnsSelectionDsl.DslGrammarTemplate
13+
import org.jetbrains.kotlinx.dataframe.documentation.ExcludeFromSources
14+
import org.jetbrains.kotlinx.dataframe.documentation.ExportAsHtml
15+
import org.jetbrains.kotlinx.dataframe.documentation.Indent
16+
import org.jetbrains.kotlinx.dataframe.documentation.LineBreak
17+
import org.jetbrains.kotlinx.dataframe.documentation.SelectingColumns
18+
import org.jetbrains.kotlinx.dataframe.impl.DataFrameReceiver
1119
import org.jetbrains.kotlinx.dataframe.util.DEPRECATED_ACCESS_API
1220
import kotlin.reflect.KProperty
1321

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

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,13 @@ import org.jetbrains.kotlinx.dataframe.DataFrame
1010
import org.jetbrains.kotlinx.dataframe.annotations.AccessApiOverload
1111
import org.jetbrains.kotlinx.dataframe.annotations.Interpretable
1212
import org.jetbrains.kotlinx.dataframe.annotations.Refine
13+
import org.jetbrains.kotlinx.dataframe.api.Update.UPDATE_OPERATION
1314
import org.jetbrains.kotlinx.dataframe.columns.ColumnKind
1415
import org.jetbrains.kotlinx.dataframe.columns.ColumnReference
1516
import org.jetbrains.kotlinx.dataframe.columns.toColumnSet
17+
import org.jetbrains.kotlinx.dataframe.documentation.DocumentationUrls
18+
import org.jetbrains.kotlinx.dataframe.documentation.ExcludeFromSources
19+
import org.jetbrains.kotlinx.dataframe.documentation.LineBreak
1620
import org.jetbrains.kotlinx.dataframe.documentation.NA
1721
import org.jetbrains.kotlinx.dataframe.documentation.NaN
1822
import org.jetbrains.kotlinx.dataframe.documentation.SelectingColumns

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@ import org.jetbrains.kotlinx.dataframe.columns.BaseColumn
2020
import org.jetbrains.kotlinx.dataframe.columns.ColumnAccessor
2121
import org.jetbrains.kotlinx.dataframe.columns.ColumnPath
2222
import org.jetbrains.kotlinx.dataframe.columns.ColumnReference
23+
import org.jetbrains.kotlinx.dataframe.documentation.DocumentationUrls
24+
import org.jetbrains.kotlinx.dataframe.documentation.ExcludeFromSources
2325
import org.jetbrains.kotlinx.dataframe.exceptions.DuplicateColumnNamesException
2426
import org.jetbrains.kotlinx.dataframe.exceptions.UnequalColumnSizesException
2527
import org.jetbrains.kotlinx.dataframe.impl.api.insertImpl

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

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,12 @@ import org.jetbrains.kotlinx.dataframe.columns.ColumnsResolver
2020
import org.jetbrains.kotlinx.dataframe.columns.SingleColumn
2121
import org.jetbrains.kotlinx.dataframe.columns.size
2222
import org.jetbrains.kotlinx.dataframe.columns.values
23+
import org.jetbrains.kotlinx.dataframe.documentation.AccessApiLink
24+
import org.jetbrains.kotlinx.dataframe.documentation.DslGrammarTemplateColumnsSelectionDsl.DslGrammarTemplate
25+
import org.jetbrains.kotlinx.dataframe.documentation.ExcludeFromSources
26+
import org.jetbrains.kotlinx.dataframe.documentation.Indent
27+
import org.jetbrains.kotlinx.dataframe.documentation.Issues
28+
import org.jetbrains.kotlinx.dataframe.documentation.LineBreak
2329
import org.jetbrains.kotlinx.dataframe.impl.columns.TransformableColumnSet
2430
import org.jetbrains.kotlinx.dataframe.impl.columns.addPath
2531
import org.jetbrains.kotlinx.dataframe.impl.columns.onResolve

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

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,27 @@
11
package org.jetbrains.kotlinx.dataframe.api
22

33
import org.jetbrains.kotlinx.dataframe.ColumnsSelector
4+
import org.jetbrains.kotlinx.dataframe.DataColumn
5+
import org.jetbrains.kotlinx.dataframe.DataFrame
46
import org.jetbrains.kotlinx.dataframe.DataRow
57
import org.jetbrains.kotlinx.dataframe.annotations.AccessApiOverload
8+
import org.jetbrains.kotlinx.dataframe.api.AllExceptColumnsSelectionDsl.ColumnGroupDocs.ARGUMENT_1
9+
import org.jetbrains.kotlinx.dataframe.api.AllExceptColumnsSelectionDsl.ColumnGroupDocs.ARGUMENT_2
10+
import org.jetbrains.kotlinx.dataframe.api.AllExceptColumnsSelectionDsl.ColumnGroupDocs.RECEIVER_1
11+
import org.jetbrains.kotlinx.dataframe.api.AllExceptColumnsSelectionDsl.ColumnGroupDocs.RECEIVER_2
12+
import org.jetbrains.kotlinx.dataframe.api.AllExceptColumnsSelectionDsl.ColumnGroupDocs.RECEIVER_TYPE
613
import org.jetbrains.kotlinx.dataframe.columns.ColumnGroup
714
import org.jetbrains.kotlinx.dataframe.columns.ColumnPath
815
import org.jetbrains.kotlinx.dataframe.columns.ColumnSet
916
import org.jetbrains.kotlinx.dataframe.columns.ColumnWithPath
1017
import org.jetbrains.kotlinx.dataframe.columns.ColumnsResolver
1118
import org.jetbrains.kotlinx.dataframe.columns.SingleColumn
1219
import org.jetbrains.kotlinx.dataframe.columns.toColumnSet
20+
import org.jetbrains.kotlinx.dataframe.documentation.AccessApi.ExtensionPropertiesApiLink
21+
import org.jetbrains.kotlinx.dataframe.documentation.DslGrammarTemplateColumnsSelectionDsl.DslGrammarTemplate
22+
import org.jetbrains.kotlinx.dataframe.documentation.ExcludeFromSources
23+
import org.jetbrains.kotlinx.dataframe.documentation.Indent
24+
import org.jetbrains.kotlinx.dataframe.documentation.LineBreak
1325
import org.jetbrains.kotlinx.dataframe.impl.aggregation.toColumns
1426
import org.jetbrains.kotlinx.dataframe.impl.columns.allColumnsExceptKeepingStructure
1527
import org.jetbrains.kotlinx.dataframe.impl.columns.changePath

0 commit comments

Comments
 (0)