This is an automated email from the ASF dual-hosted git repository. github-bot pushed a change to branch nightly-refs/heads/master in repository https://gitbox.apache.org/repos/asf/beam.git
from 482c3107674 Merge pull request #25047: Properly synchronize pins add d9d322b5697 enabling public construction of typed schematransforms (#25010) add 55d8ecb2584 Add explicit error for PEP 585 type hints (#24986) add 9f423925e0e Updated Python Container Dependencies (#25042) add bbbbe9180b4 [ToB][Frontend] Display hints and solutions (#25020) add aba17525994 upgrade clickhouse jdbc driver 0.3.2-patch10 (#24424) add 312cbbde8ff Added documentation for SingleStoreIO (#24377) add d69dbd8b852 Adding watermark support to DebeziumIO transform (#24757) add f2594c6ecd5 Moving to 2.46.0-SNAPSHOT on master branch. add b5540403732 Fix typo in join explanation (#25049) add 6f87445a88b Add withDefaultHeaders to connection configuration for ElasticsearchIO add de21be6e180 Address PR comments, run spotless add a05a9c0d07a Fix copy/paste error in Javadoc, add example for usage of withDefaultHeaders add b50b801c442 Merge pull request #25024 from EgbertW/master add 3b23290c4a3 Fix error message (add proper spacing) (#25050) add 95874a70e70 Remove trailing whitespace from blog to fix precommit (#25055) add 187ba474fdb improve some errors from DoFnSignature (#25001) add 69a131341c5 Bump torch (#24977) add aa8dc4fab7e Set maxConnections optional in incoming schema for JdbcSchemaIOProvider (#25062) add 6daa6f41017 Document that yield and return shouldn't be mixed. (#25060) add 13a740b0091 [#25070] Remove Kafka jars from Beam Java SDK Container (#25072) add 1c4e4241c2a [Playground][Frontend] Run timer fix; CodeRunner and OutputType extraction. (#24871) add 876ce5bcafc Merge pull request #25073: Improves StorageWrite API error logging add 60a9382a67f Bump google.golang.org/api from 0.107.0 to 0.108.0 in /sdks (#25075) add 80d8d348a39 [Python] Fix input type for num_bytes (#25086) add 651773129bc Add Pyarrow support to Batched DoFn documentation (#23956) add 3e1291ca3c1 Tour of beam learning materials CI/CD refactoring and templating (#25080) add 6203e58919e Add support for using builtins typing (#25054) add 641b556958d Bump cloud.google.com/go/spanner from 1.42.0 to 1.43.0 in /sdks (#25090) add a99364cd7cf Increase timeout on test_dynamic_timer_clear_then_set_timer (#25009) add 76813c11372 Bump torch (#25089) add 148730e4ac5 Bump timeout for beam_PostCommit_Python_Examples_Dataflow to 3h (#25092) add fafeaa989a7 Add unit test to cover non built-in GenericAlias types (#25091) add 6b42bda1d06 [Website] update content of community case study page (#25023) add 1d4345a3434 Eliminate google-python-cloud-debugger dependency in base_image_requirements (#25088) add c1b840ae284 Bump httplib2 upper bound to 0.22.0. (#24573) add 428ec97e30c improve error message for mismatched pipelines (#24834) No new revisions were added by this update. Summary of changes: .../job_PostCommit_Python_Examples_Dataflow.groovy | 2 +- .../org/apache/beam/gradle/BeamModulePlugin.groovy | 4 +- gradle.properties | 4 +- .../backend/internal/fs_content/load.go | 156 ++++++-- .../backend/internal/fs_content/load_test.go | 67 ++++ .../samples/learning-content/content-info.yaml | 6 + .../learning-content/java/content-info.yaml | 4 - .../{python => }/module 1/group/group-info.yaml | 2 + .../group}/unit-challenge/description.md | 0 .../group}/unit-challenge/hint1.md | 0 .../group}/unit-challenge/hint2.md | 0 .../group}/unit-challenge/unit-info.yaml | 2 + .../group}/unit-example/unit-info.yaml | 2 + .../module 1/intro-unit/unit-info.yaml | 2 + .../{java => }/module 1/module-info.yaml | 6 + .../unit-challenge/description.md | 0 .../module 2 => module 1}/unit-challenge/hint1.md | 0 .../module 2 => module 1}/unit-challenge/hint2.md | 0 .../unit-challenge/unit-info.yaml | 2 + .../group => module 1}/unit-example/unit-info.yaml | 2 + .../{java => }/module 2/module-info.yaml | 2 + .../unit-challenge/description.md | 0 .../group => module 2}/unit-challenge/hint1.md | 0 .../group => module 2}/unit-challenge/hint2.md | 0 .../module 2/unit-challenge/unit-info.yaml | 2 + .../module 2/unit-example/unit-info.yaml | 2 + .../learning-content/python/content-info.yaml | 3 - .../python/module 1/module-info.yaml | 7 - learning/tour-of-beam/frontend/assets/svg/hint.svg | 19 + .../tour-of-beam/frontend/assets/svg/solution.svg | 20 + .../frontend/assets/translations/en.yaml | 2 + .../frontend/lib/assets/assets.gen.dart | 6 + .../frontend/lib/cache/content_tree.dart | 2 +- .../tour-of-beam/frontend/lib/constants/sizes.dart | 1 + .../frontend/lib/models/unit_content.dart | 27 +- .../frontend/lib/models/unit_content.g.dart | 3 + .../frontend/lib/pages/tour/screen.dart | 6 +- .../frontend/lib/pages/tour/state.dart | 30 +- ...eteness_indicator.dart => binary_progress.dart} | 4 +- .../frontend/lib/pages/tour/widgets/content.dart | 94 ----- .../lib/pages/tour/widgets/fraction_progress.dart | 44 +-- .../lib/pages/tour/widgets/group_title.dart | 19 +- .../frontend/lib/pages/tour/widgets/hints.dart | 86 +++++ .../code_builder.dart} | 25 +- .../pages/tour/widgets/markdown/tob_markdown.dart | 43 ++- ...eteness_indicator.dart => solution_button.dart} | 44 +-- .../frontend/lib/pages/tour/widgets/unit.dart | 4 +- .../lib/pages/tour/widgets/unit_content.dart | 216 +++++++++-- .../frontend/lib/pages/welcome/screen.dart | 1 + learning/tour-of-beam/frontend/pubspec.lock | 9 +- learning/tour-of-beam/frontend/pubspec.yaml | 2 +- .../learning-content/{java => }/content-info.yaml | 8 +- .../learning-content/go/content-info.yaml | 22 -- .../from-memory/description.md | 56 --- .../from-memory/unit-info.yaml | 22 -- .../creating-collections/group-info.yaml | 25 -- .../reading-from-csv/unit-info.yaml | 22 -- .../reading-from-text/description.md | 41 -- .../reading-from-text/unit-info.yaml | 22 -- .../introduction-concepts/group-info.yaml | 25 -- .../creating-pipeline/description.md | 36 -- .../creating-pipeline/unit-info.yaml | 22 -- .../pipeline-concepts/group-info.yaml | 25 -- .../setting-pipeline/description.md | 71 ---- .../runner-concepts/description.md | 60 --- .../introduction/introduction-guide/unit-info.yaml | 21 -- .../introduction/introduction-terms/unit-info.yaml | 21 -- .../from-memory/description.md | 33 +- .../from-memory/go-example}/from_memory.go | 0 .../from-memory/java-example}/from_memory.java | 0 .../from-memory/python-example}/from_memory.py | 0 .../from-memory/unit-info.yaml | 7 +- .../creating-collections/group-info.yaml | 4 + .../reading-from-csv/description.md | 0 .../reading-from-csv/go-example}/csvExample.go | 0 .../reading-from-csv/java-example}/CSVExample.java | 0 .../reading-from-csv/python-example}/csvExample.py | 0 .../reading-from-csv/unit-info.yaml | 7 +- .../reading-from-text/description.md | 26 +- .../reading-from-text/go-example}/textIo.go | 0 .../java-example}/TextIOExample.java | 0 .../reading-from-text/python-example}/textIo.py | 0 .../reading-from-text/unit-info.yaml | 8 +- .../introduction-concepts/group-info.yaml | 4 + .../creating-pipeline/description.md | 42 ++- .../creating-pipeline/go-example}/main.go | 0 .../creating-pipeline/java-example}/Task.java | 0 .../creating-pipeline/python-example}/task.py | 0 .../creating-pipeline/unit-info.yaml | 7 +- .../pipeline-concepts/group-info.yaml | 4 + .../overview-pipeline/description.md | 2 + .../overview-pipeline/unit-info.yaml | 7 +- .../setting-pipeline/description.md | 96 ++++- .../setting-pipeline/go-example}/main.go | 0 .../setting-pipeline/java-example}/Task.java | 0 .../setting-pipeline/python-example}/task.py | 0 .../setting-pipeline/unit-info.yaml | 7 +- .../runner-concepts/description.md | 129 ++++++- .../runner-concepts/unit-info.yaml | 7 +- .../introduction/introduction-guide/description.md | 0 .../introduction/introduction-guide/unit-info.yaml | 6 +- .../introduction/introduction-terms/description.md | 0 .../introduction/introduction-terms/unit-info.yaml | 6 +- .../{go => }/introduction/module-info.yaml | 5 +- .../from-memory/unit-info.yaml | 22 -- .../creating-collections/group-info.yaml | 27 -- .../reading-from-csv/description.md | 35 -- .../reading-from-csv/unit-info.yaml | 22 -- .../reading-from-text/unit-info.yaml | 22 -- .../introduction-concepts/group-info.yaml | 27 -- .../creating-pipeline/description.md | 36 -- .../creating-pipeline/unit-info.yaml | 22 -- .../overview-pipeline/description.md | 42 --- .../overview-pipeline/unit-info.yaml | 21 -- .../setting-pipeline/unit-info.yaml | 22 -- .../runner-concepts/unit-info.yaml | 21 -- .../introduction/introduction-guide/description.md | 22 -- .../introduction/introduction-terms/description.md | 38 -- .../java/introduction/module-info.yaml | 26 -- .../learning-content/python/content-info.yaml | 22 -- .../from-memory/description.md | 52 --- .../reading-from-csv/description.md | 34 -- .../reading-from-text/description.md | 37 -- .../pipeline-concepts/group-info.yaml | 25 -- .../overview-pipeline/description.md | 40 -- .../overview-pipeline/unit-info.yaml | 21 -- .../setting-pipeline/description.md | 88 ----- .../setting-pipeline/unit-info.yaml | 22 -- .../runner-concepts/description.md | 127 ------- .../runner-concepts/unit-info.yaml | 21 -- .../introduction/introduction-guide/description.md | 22 -- .../introduction/introduction-guide/unit-info.yaml | 22 -- .../introduction/introduction-terms/description.md | 38 -- .../introduction/introduction-terms/unit-info.yaml | 22 -- .../python/introduction/module-info.yaml | 27 -- .../shortcuts/constants/global_shortcuts.dart | 2 +- .../widgets/close_listener.dart | 4 +- .../widgets/editor_textarea_wrapper.dart | 7 +- playground/frontend/lib/utils/analytics_utils.dart | 2 +- .../playground_components/assets/symbols/go.g.yaml | 89 ++++- .../assets/symbols/java.g.yaml | 415 +++++++++++++++++++-- .../assets/symbols/python.g.yaml | 36 +- .../lib/playground_components.dart | 2 + .../lib/src/constants/sizes.dart | 1 + .../lib/src/controllers/code_runner.dart | 165 ++++++++ .../output_filter_type_controller.dart} | 13 +- .../lib/src/controllers/playground_controller.dart | 210 ++--------- .../lib/src/models/outputs.dart | 1 - .../playground_components/lib/src/theme/theme.dart | 4 +- .../playground_components/lib/src/util/string.dart | 4 + .../lib/src/widgets/output/output_area.dart | 62 +-- .../lib/src/widgets/output/output_tab.dart | 10 +- .../lib/src/widgets/output/output_tabs.dart | 5 +- .../src/widgets/output/result_filter_bubble.dart | 6 +- .../src/widgets/output/result_filter_popover.dart | 2 +- .../lib/src/widgets/periodic_builder.dart} | 42 ++- .../lib/src/widgets/run_button.dart | 142 ++++--- .../lib/src/widgets/run_or_cancel_button.dart | 8 +- .../examples_loader_test.mocks.dart | 301 +++++++-------- .../controllers/playground_controller_test.dart | 19 +- sdks/go.mod | 6 +- sdks/go.sum | 12 +- sdks/go/pkg/beam/core/core.go | 2 +- sdks/java/container/Dockerfile | 5 - sdks/java/container/boot.go | 2 - sdks/java/container/build.gradle | 9 +- sdks/java/container/common.gradle | 2 - .../sdk/transforms/reflect/DoFnSignatures.java | 13 +- sdks/java/io/clickhouse/build.gradle | 4 +- .../beam/sdk/io/clickhouse/ClickHouseIO.java | 51 +-- .../beam/sdk/io/clickhouse/ClickHouseWriter.java | 51 +-- .../apache/beam/sdk/io/clickhouse/TableSchema.java | 61 ++- .../beam/sdk/io/clickhouse/AtomicInsertTest.java | 4 +- .../beam/sdk/io/clickhouse/BaseClickHouseTest.java | 89 +---- .../beam/sdk/io/clickhouse/TableSchemaTest.java | 5 +- .../apache/beam/io/debezium/KafkaConnectUtils.java | 13 + .../beam/io/debezium/KafkaSourceConsumerFn.java | 40 +- .../beam/io/debezium/KafkaConnectSchemaTest.java | 11 + .../io/debezium/KafkaSourceConsumerFnTest.java | 20 +- .../beam/sdk/io/elasticsearch/ElasticsearchIO.java | 62 ++- .../beam/sdk/io/gcp/bigquery/BatchLoads.java | 4 +- .../bigquery/StorageApiWriteUnshardedRecords.java | 11 +- .../PubsubWriteSchemaTransformConfiguration.java | 2 +- .../pubsub/PubsubWriteSchemaTransformProvider.java | 2 +- .../PubsubLiteWriteSchemaTransformProvider.java | 2 +- .../beam/sdk/io/jdbc/JdbcSchemaIOProvider.java | 8 +- .../anomaly_detection_pipeline/setup.py | 2 +- .../inference/runinference_metrics/setup.py | 2 +- .../apache_beam/ml/inference/sklearn_inference.py | 2 +- .../apache_beam/transforms/userstate_test.py | 2 +- sdks/python/apache_beam/transforms/util.py | 3 +- .../typehints/native_type_compatibility.py | 27 ++ .../typehints/native_type_compatibility_test.py | 42 +++ sdks/python/apache_beam/typehints/typehints.py | 9 +- .../python/apache_beam/typehints/typehints_test.py | 51 +++ sdks/python/apache_beam/version.py | 2 +- .../container/base_image_requirements_manual.txt | 7 +- .../container/py310/base_image_requirements.txt | 68 ++-- .../container/py37/base_image_requirements.txt | 73 ++-- .../container/py38/base_image_requirements.txt | 78 ++-- .../container/py39/base_image_requirements.txt | 75 ++-- sdks/python/setup.py | 2 +- website/www/site/content/en/blog/beam-2.44.0.md | 265 ++++++++----- .../www/site/content/en/community/case-study.md | 5 +- .../en/documentation/io/built-in/singlestore.md | 223 +++++++++++ .../site/content/en/documentation/io/connectors.md | 13 + .../content/en/documentation/programming-guide.md | 13 +- .../partials/section-menu/en/documentation.html | 4 +- 208 files changed, 3058 insertions(+), 2868 deletions(-) create mode 100644 learning/tour-of-beam/backend/samples/learning-content/content-info.yaml delete mode 100644 learning/tour-of-beam/backend/samples/learning-content/java/content-info.yaml rename learning/tour-of-beam/backend/samples/learning-content/{python => }/module 1/group/group-info.yaml (84%) rename learning/tour-of-beam/backend/samples/learning-content/{java/module 1 => module 1/group}/unit-challenge/description.md (100%) rename learning/tour-of-beam/backend/samples/learning-content/{java/module 1 => module 1/group}/unit-challenge/hint1.md (100%) rename learning/tour-of-beam/backend/samples/learning-content/{java/module 1 => module 1/group}/unit-challenge/hint2.md (100%) rename learning/tour-of-beam/backend/samples/learning-content/{java/module 1 => module 1/group}/unit-challenge/unit-info.yaml (62%) rename learning/tour-of-beam/backend/samples/learning-content/{java/module 1 => module 1/group}/unit-example/unit-info.yaml (50%) rename learning/tour-of-beam/backend/samples/learning-content/{python => }/module 1/intro-unit/unit-info.yaml (51%) rename learning/tour-of-beam/backend/samples/learning-content/{java => }/module 1/module-info.yaml (65%) rename learning/tour-of-beam/backend/samples/learning-content/{java/module 2 => module 1}/unit-challenge/description.md (100%) rename learning/tour-of-beam/backend/samples/learning-content/{java/module 2 => module 1}/unit-challenge/hint1.md (100%) rename learning/tour-of-beam/backend/samples/learning-content/{java/module 2 => module 1}/unit-challenge/hint2.md (100%) rename learning/tour-of-beam/backend/samples/learning-content/{python/module 1/group => module 1}/unit-challenge/unit-info.yaml (63%) rename learning/tour-of-beam/backend/samples/learning-content/{python/module 1/group => module 1}/unit-example/unit-info.yaml (51%) rename learning/tour-of-beam/backend/samples/learning-content/{java => }/module 2/module-info.yaml (86%) rename learning/tour-of-beam/backend/samples/learning-content/{python/module 1/group => module 2}/unit-challenge/description.md (100%) rename learning/tour-of-beam/backend/samples/learning-content/{python/module 1/group => module 2}/unit-challenge/hint1.md (100%) rename learning/tour-of-beam/backend/samples/learning-content/{python/module 1/group => module 2}/unit-challenge/hint2.md (100%) rename learning/tour-of-beam/backend/samples/learning-content/{java => }/module 2/unit-challenge/unit-info.yaml (63%) rename learning/tour-of-beam/backend/samples/learning-content/{java => }/module 2/unit-example/unit-info.yaml (52%) delete mode 100644 learning/tour-of-beam/backend/samples/learning-content/python/content-info.yaml delete mode 100644 learning/tour-of-beam/backend/samples/learning-content/python/module 1/module-info.yaml create mode 100644 learning/tour-of-beam/frontend/assets/svg/hint.svg create mode 100644 learning/tour-of-beam/frontend/assets/svg/solution.svg copy learning/tour-of-beam/frontend/lib/pages/tour/widgets/{completeness_indicator.dart => binary_progress.dart} (95%) delete mode 100644 learning/tour-of-beam/frontend/lib/pages/tour/widgets/content.dart copy playground/frontend/lib/pages/standalone_playground/widgets/close_listener.dart => learning/tour-of-beam/frontend/lib/pages/tour/widgets/fraction_progress.dart (59%) create mode 100644 learning/tour-of-beam/frontend/lib/pages/tour/widgets/hints.dart copy learning/tour-of-beam/frontend/lib/pages/tour/widgets/{unit_content.dart => markdown/code_builder.dart} (78%) copy playground/frontend/lib/pages/standalone_playground/widgets/close_listener.dart => learning/tour-of-beam/frontend/lib/pages/tour/widgets/markdown/tob_markdown.dart (59%) rename learning/tour-of-beam/frontend/lib/pages/tour/widgets/{completeness_indicator.dart => solution_button.dart} (55%) rename learning/tour-of-beam/learning-content/{java => }/content-info.yaml (93%) delete mode 100644 learning/tour-of-beam/learning-content/go/content-info.yaml delete mode 100644 learning/tour-of-beam/learning-content/go/introduction/introduction-concepts/creating-collections/from-memory/description.md delete mode 100644 learning/tour-of-beam/learning-content/go/introduction/introduction-concepts/creating-collections/from-memory/unit-info.yaml delete mode 100644 learning/tour-of-beam/learning-content/go/introduction/introduction-concepts/creating-collections/group-info.yaml delete mode 100644 learning/tour-of-beam/learning-content/go/introduction/introduction-concepts/creating-collections/reading-from-csv/unit-info.yaml delete mode 100644 learning/tour-of-beam/learning-content/go/introduction/introduction-concepts/creating-collections/reading-from-text/description.md delete mode 100644 learning/tour-of-beam/learning-content/go/introduction/introduction-concepts/creating-collections/reading-from-text/unit-info.yaml delete mode 100644 learning/tour-of-beam/learning-content/go/introduction/introduction-concepts/group-info.yaml delete mode 100644 learning/tour-of-beam/learning-content/go/introduction/introduction-concepts/pipeline-concepts/creating-pipeline/description.md delete mode 100644 learning/tour-of-beam/learning-content/go/introduction/introduction-concepts/pipeline-concepts/creating-pipeline/unit-info.yaml delete mode 100644 learning/tour-of-beam/learning-content/go/introduction/introduction-concepts/pipeline-concepts/group-info.yaml delete mode 100644 learning/tour-of-beam/learning-content/go/introduction/introduction-concepts/pipeline-concepts/setting-pipeline/description.md delete mode 100644 learning/tour-of-beam/learning-content/go/introduction/introduction-concepts/runner-concepts/description.md delete mode 100644 learning/tour-of-beam/learning-content/go/introduction/introduction-guide/unit-info.yaml delete mode 100644 learning/tour-of-beam/learning-content/go/introduction/introduction-terms/unit-info.yaml rename learning/tour-of-beam/learning-content/{java => }/introduction/introduction-concepts/creating-collections/from-memory/description.md (74%) rename learning/tour-of-beam/learning-content/{go/introduction/introduction-concepts/creating-collections/from-memory/example => introduction/introduction-concepts/creating-collections/from-memory/go-example}/from_memory.go (100%) rename learning/tour-of-beam/learning-content/{java/introduction/introduction-concepts/creating-collections/from-memory/example => introduction/introduction-concepts/creating-collections/from-memory/java-example}/from_memory.java (100%) rename learning/tour-of-beam/learning-content/{python/introduction/introduction-concepts/creating-collections/from-memory/example => introduction/introduction-concepts/creating-collections/from-memory/python-example}/from_memory.py (100%) rename learning/tour-of-beam/learning-content/{python => }/introduction/introduction-concepts/creating-collections/from-memory/unit-info.yaml (92%) rename learning/tour-of-beam/learning-content/{python => }/introduction/introduction-concepts/creating-collections/group-info.yaml (96%) rename learning/tour-of-beam/learning-content/{go => }/introduction/introduction-concepts/creating-collections/reading-from-csv/description.md (100%) rename learning/tour-of-beam/learning-content/{go/introduction/introduction-concepts/creating-collections/reading-from-csv/example => introduction/introduction-concepts/creating-collections/reading-from-csv/go-example}/csvExample.go (100%) rename learning/tour-of-beam/learning-content/{java/introduction/introduction-concepts/creating-collections/reading-from-csv/example => introduction/introduction-concepts/creating-collections/reading-from-csv/java-example}/CSVExample.java (100%) rename learning/tour-of-beam/learning-content/{python/introduction/introduction-concepts/creating-collections/reading-from-csv/example => introduction/introduction-concepts/creating-collections/reading-from-csv/python-example}/csvExample.py (100%) rename learning/tour-of-beam/learning-content/{python => }/introduction/introduction-concepts/creating-collections/reading-from-csv/unit-info.yaml (92%) rename learning/tour-of-beam/learning-content/{java => }/introduction/introduction-concepts/creating-collections/reading-from-text/description.md (65%) rename learning/tour-of-beam/learning-content/{go/introduction/introduction-concepts/creating-collections/reading-from-text/example => introduction/introduction-concepts/creating-collections/reading-from-text/go-example}/textIo.go (100%) rename learning/tour-of-beam/learning-content/{java/introduction/introduction-concepts/creating-collections/reading-from-text/example => introduction/introduction-concepts/creating-collections/reading-from-text/java-example}/TextIOExample.java (100%) rename learning/tour-of-beam/learning-content/{python/introduction/introduction-concepts/creating-collections/reading-from-text/example => introduction/introduction-concepts/creating-collections/reading-from-text/python-example}/textIo.py (100%) rename learning/tour-of-beam/learning-content/{python => }/introduction/introduction-concepts/creating-collections/reading-from-text/unit-info.yaml (92%) rename learning/tour-of-beam/learning-content/{python => }/introduction/introduction-concepts/group-info.yaml (96%) rename learning/tour-of-beam/learning-content/{python => }/introduction/introduction-concepts/pipeline-concepts/creating-pipeline/description.md (59%) rename learning/tour-of-beam/learning-content/{go/introduction/introduction-concepts/pipeline-concepts/creating-pipeline/example => introduction/introduction-concepts/pipeline-concepts/creating-pipeline/go-example}/main.go (100%) rename learning/tour-of-beam/learning-content/{java/introduction/introduction-concepts/pipeline-concepts/creating-pipeline/example => introduction/introduction-concepts/pipeline-concepts/creating-pipeline/java-example}/Task.java (100%) rename learning/tour-of-beam/learning-content/{python/introduction/introduction-concepts/pipeline-concepts/creating-pipeline/example => introduction/introduction-concepts/pipeline-concepts/creating-pipeline/python-example}/task.py (100%) rename learning/tour-of-beam/learning-content/{python => }/introduction/introduction-concepts/pipeline-concepts/creating-pipeline/unit-info.yaml (91%) rename learning/tour-of-beam/learning-content/{java => }/introduction/introduction-concepts/pipeline-concepts/group-info.yaml (94%) rename learning/tour-of-beam/learning-content/{go => }/introduction/introduction-concepts/pipeline-concepts/overview-pipeline/description.md (98%) rename learning/tour-of-beam/learning-content/{go => }/introduction/introduction-concepts/pipeline-concepts/overview-pipeline/unit-info.yaml (91%) rename learning/tour-of-beam/learning-content/{java => }/introduction/introduction-concepts/pipeline-concepts/setting-pipeline/description.md (60%) rename learning/tour-of-beam/learning-content/{go/introduction/introduction-concepts/pipeline-concepts/setting-pipeline/example => introduction/introduction-concepts/pipeline-concepts/setting-pipeline/go-example}/main.go (100%) rename learning/tour-of-beam/learning-content/{java/introduction/introduction-concepts/pipeline-concepts/setting-pipeline/example => introduction/introduction-concepts/pipeline-concepts/setting-pipeline/java-example}/Task.java (100%) rename learning/tour-of-beam/learning-content/{python/introduction/introduction-concepts/pipeline-concepts/setting-pipeline/example => introduction/introduction-concepts/pipeline-concepts/setting-pipeline/python-example}/task.py (100%) rename learning/tour-of-beam/learning-content/{go => }/introduction/introduction-concepts/pipeline-concepts/setting-pipeline/unit-info.yaml (91%) rename learning/tour-of-beam/learning-content/{java => }/introduction/introduction-concepts/runner-concepts/description.md (76%) rename learning/tour-of-beam/learning-content/{go => }/introduction/introduction-concepts/runner-concepts/unit-info.yaml (92%) rename learning/tour-of-beam/learning-content/{go => }/introduction/introduction-guide/description.md (100%) rename learning/tour-of-beam/learning-content/{java => }/introduction/introduction-guide/unit-info.yaml (94%) rename learning/tour-of-beam/learning-content/{go => }/introduction/introduction-terms/description.md (100%) rename learning/tour-of-beam/learning-content/{java => }/introduction/introduction-terms/unit-info.yaml (94%) rename learning/tour-of-beam/learning-content/{go => }/introduction/module-info.yaml (96%) delete mode 100644 learning/tour-of-beam/learning-content/java/introduction/introduction-concepts/creating-collections/from-memory/unit-info.yaml delete mode 100644 learning/tour-of-beam/learning-content/java/introduction/introduction-concepts/creating-collections/group-info.yaml delete mode 100644 learning/tour-of-beam/learning-content/java/introduction/introduction-concepts/creating-collections/reading-from-csv/description.md delete mode 100644 learning/tour-of-beam/learning-content/java/introduction/introduction-concepts/creating-collections/reading-from-csv/unit-info.yaml delete mode 100644 learning/tour-of-beam/learning-content/java/introduction/introduction-concepts/creating-collections/reading-from-text/unit-info.yaml delete mode 100644 learning/tour-of-beam/learning-content/java/introduction/introduction-concepts/group-info.yaml delete mode 100644 learning/tour-of-beam/learning-content/java/introduction/introduction-concepts/pipeline-concepts/creating-pipeline/description.md delete mode 100644 learning/tour-of-beam/learning-content/java/introduction/introduction-concepts/pipeline-concepts/creating-pipeline/unit-info.yaml delete mode 100644 learning/tour-of-beam/learning-content/java/introduction/introduction-concepts/pipeline-concepts/overview-pipeline/description.md delete mode 100644 learning/tour-of-beam/learning-content/java/introduction/introduction-concepts/pipeline-concepts/overview-pipeline/unit-info.yaml delete mode 100644 learning/tour-of-beam/learning-content/java/introduction/introduction-concepts/pipeline-concepts/setting-pipeline/unit-info.yaml delete mode 100644 learning/tour-of-beam/learning-content/java/introduction/introduction-concepts/runner-concepts/unit-info.yaml delete mode 100644 learning/tour-of-beam/learning-content/java/introduction/introduction-guide/description.md delete mode 100644 learning/tour-of-beam/learning-content/java/introduction/introduction-terms/description.md delete mode 100644 learning/tour-of-beam/learning-content/java/introduction/module-info.yaml delete mode 100644 learning/tour-of-beam/learning-content/python/content-info.yaml delete mode 100644 learning/tour-of-beam/learning-content/python/introduction/introduction-concepts/creating-collections/from-memory/description.md delete mode 100644 learning/tour-of-beam/learning-content/python/introduction/introduction-concepts/creating-collections/reading-from-csv/description.md delete mode 100644 learning/tour-of-beam/learning-content/python/introduction/introduction-concepts/creating-collections/reading-from-text/description.md delete mode 100644 learning/tour-of-beam/learning-content/python/introduction/introduction-concepts/pipeline-concepts/group-info.yaml delete mode 100644 learning/tour-of-beam/learning-content/python/introduction/introduction-concepts/pipeline-concepts/overview-pipeline/description.md delete mode 100644 learning/tour-of-beam/learning-content/python/introduction/introduction-concepts/pipeline-concepts/overview-pipeline/unit-info.yaml delete mode 100644 learning/tour-of-beam/learning-content/python/introduction/introduction-concepts/pipeline-concepts/setting-pipeline/description.md delete mode 100644 learning/tour-of-beam/learning-content/python/introduction/introduction-concepts/pipeline-concepts/setting-pipeline/unit-info.yaml delete mode 100644 learning/tour-of-beam/learning-content/python/introduction/introduction-concepts/runner-concepts/description.md delete mode 100644 learning/tour-of-beam/learning-content/python/introduction/introduction-concepts/runner-concepts/unit-info.yaml delete mode 100644 learning/tour-of-beam/learning-content/python/introduction/introduction-guide/description.md delete mode 100644 learning/tour-of-beam/learning-content/python/introduction/introduction-guide/unit-info.yaml delete mode 100644 learning/tour-of-beam/learning-content/python/introduction/introduction-terms/description.md delete mode 100644 learning/tour-of-beam/learning-content/python/introduction/introduction-terms/unit-info.yaml delete mode 100644 learning/tour-of-beam/learning-content/python/introduction/module-info.yaml create mode 100644 playground/frontend/playground_components/lib/src/controllers/code_runner.dart copy playground/frontend/playground_components/lib/src/{util/string.dart => controllers/output_filter_type_controller.dart} (73%) copy playground/frontend/{lib/pages/standalone_playground/widgets/close_listener.dart => playground_components/lib/src/widgets/periodic_builder.dart} (60%) create mode 100644 website/www/site/content/en/documentation/io/built-in/singlestore.md