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 3dc07743b4e Add new Beam Java SDK examples (#26488) add 7c603b408f6 Removing an unnecessary dependency (#27001) add cf01e54b9c5 update tags after including guppy dataflow legacy container (#26973) add 8dcf68a4f89 [#25896] Add an initial UI to standalone prism command. (#26961) add 21ce8826961 Fix blog links (#27016) add 15fd8214db6 Add new Beam Python SDK examples (#26671) add 7af89948ca2 Overview of adding snippets to Playground (#25506) (#25507) add c0e5a7a2c41 Added dlq and error metrics to SpannerChangestreamsReadSchemaTransformProvider (#26970) add d4788bcb3fc Add metric counting finalized rows as reported by BQ (#26989) add 98210d99b85 Do not skip latest blog entry from footer (#26999) No new revisions were added by this update. Summary of changes: playground/README.md | 405 +++++++------- playground/TASKS.md | 272 ++++++++++ playground/backend/CONTRIBUTE.md | 65 ++- playground/backend/SCHEMA.md | 185 +++++++ playground/backend/containers/python/build.gradle | 4 +- playground/backend/containers/scio/build.gradle | 2 +- .../doc/load_your_code/images/share-my-code.png | Bin 0 -> 29370 bytes playground/doc/load_your_code/images/workflow.png | Bin 0 -> 58871 bytes playground/frontend/lib/constants/links.dart | 19 - .../modules/actions/components/new_example.dart | 2 +- .../examples/examples_dropdown_content.dart | 3 +- .../lib/src/constants/backend_urls.dart | 8 + .../lib/src/constants/links.dart | 1 + playground/infrastructure/models.py | 94 +++- playground/infrastructure/requirements.txt | 2 +- playground/load_your_code.md | 600 +++++++++++++++++++++ playground/terraform/README.md | 94 ++++ sdks/go/cmd/prism/README.md | 24 + sdks/go/cmd/prism/prism.go | 37 ++ .../prism/internal/jobservices/management.go | 31 ++ .../prism/internal/jobservices/management_test.go | 221 ++++++++ .../runners/prism/internal/jobservices/server.go | 2 + .../runners/prism/internal/web/assets/style.css | 132 +++++ .../pkg/beam/runners/prism/internal/web/index.html | 51 ++ .../runners/prism/internal/web/jobdetails.html | 110 ++++ sdks/go/pkg/beam/runners/prism/internal/web/web.go | 242 +++++++++ .../beam/runners/prism/internal/worker/worker.go | 14 +- sdks/go/pkg/beam/runners/prism/prism.go | 32 ++ .../beam/runners/universal/extworker/extworker.go | 2 +- sdks/go/pkg/beam/runners/universal/universal.go | 3 +- .../gcp/bigquery/StorageApiFinalizeWritesDoFn.java | 10 +- ...erChangestreamsReadSchemaTransformProvider.java | 145 +++-- .../SpannerChangestreamsReadDlqTest.java | 168 ++++++ sdks/java/transform-service/launcher/build.gradle | 1 - .../apache_beam/examples/snippets/snippets.py | 192 ------- .../snippets_examples_wordcount_debugging.py | 125 +++++ .../snippets_examples_wordcount_minimal.py | 118 ++++ .../snippets_examples_wordcount_wordcount.py | 102 ++++ .../apache_beam/examples/snippets/snippets_test.py | 10 +- .../transforms/aggregation/cogroupbykey.py | 23 + .../transforms/aggregation/combineglobally.py | 226 -------- .../aggregation/combineglobally_combinefn.py | 88 +++ .../aggregation/combineglobally_function.py | 65 +++ .../{mean.py => combineglobally_lambda.py} | 55 +- .../combineglobally_multiple_arguments.py | 62 +++ ...{max.py => combineglobally_side_inputs_dict.py} | 53 +- ...mean.py => combineglobally_side_inputs_iter.py} | 47 +- ...py => combineglobally_side_inputs_singleton.py} | 47 +- .../transforms/aggregation/combineglobally_test.py | 32 +- .../transforms/aggregation/combineperkey.py | 259 --------- .../aggregation/combineperkey_combinefn.py | 84 +++ .../{mean.py => combineperkey_function.py} | 50 +- .../{mean.py => combineperkey_lambda.py} | 47 +- ...{max.py => combineperkey_multiple_arguments.py} | 48 +- .../{max.py => combineperkey_side_inputs_dict.py} | 48 +- .../{mean.py => combineperkey_side_inputs_iter.py} | 44 +- ...m.py => combineperkey_side_inputs_singleton.py} | 38 +- .../{sum.py => combineperkey_simple.py} | 46 +- .../transforms/aggregation/combineperkey_test.py | 56 +- .../transforms/aggregation/combinevalues.py | 245 --------- .../aggregation/combinevalues_combinefn.py | 91 ++++ .../{mean.py => combinevalues_function.py} | 59 +- .../{mean.py => combinevalues_lambda.py} | 56 +- ...mean.py => combinevalues_multiple_arguments.py} | 56 +- .../aggregation/combinevalues_side_inputs_dict.py | 73 +++ .../aggregation/combinevalues_side_inputs_iter.py | 70 +++ .../combinevalues_side_inputs_singleton.py | 62 +++ .../{groupbykey.py => combinevalues_simple.py} | 45 +- .../transforms/aggregation/combinevalues_test.py | 48 +- .../kvswap.py => aggregation/count_globally.py} | 39 +- .../keys.py => aggregation/count_per_element.py} | 35 +- .../aggregation/{count.py => count_per_key.py} | 46 +- .../snippets/transforms/aggregation/count_test.py | 20 +- .../snippets/transforms/aggregation/distinct.py | 15 + .../transforms/aggregation/groupby_attr.py | 65 +++ .../transforms/aggregation/groupby_attr_expr.py | 65 +++ .../aggregation/{distinct.py => groupby_expr.py} | 53 +- .../aggregation/groupby_expr_aggregate.py | 67 +++ .../aggregation/groupby_global_aggregate.py | 68 +++ .../aggregation/groupby_simple_aggregate.py | 66 +++ .../transforms/aggregation/groupby_test.py | 286 +++++----- .../{distinct.py => groupby_two_exprs.py} | 53 +- .../snippets/transforms/aggregation/groupbykey.py | 20 + .../transforms/aggregation/groupintobatches.py | 21 + .../aggregation/{latest.py => latest_globally.py} | 71 +-- .../aggregation/{latest.py => latest_per_key.py} | 55 +- .../snippets/transforms/aggregation/latest_test.py | 14 +- .../aggregation/{max.py => max_globally.py} | 36 +- .../aggregation/{max.py => max_per_key.py} | 32 +- .../snippets/transforms/aggregation/max_test.py | 13 +- .../aggregation/{mean.py => mean_globally.py} | 37 +- .../aggregation/{mean.py => mean_per_key.py} | 32 +- .../snippets/transforms/aggregation/mean_test.py | 13 +- .../aggregation/{min.py => min_globally.py} | 38 +- .../aggregation/{min.py => min_per_key.py} | 32 +- .../snippets/transforms/aggregation/min_test.py | 13 +- .../{sample.py => sample_fixed_size_globally.py} | 41 +- .../{sample.py => sample_fixed_size_per_key.py} | 38 +- .../snippets/transforms/aggregation/sample_test.py | 14 +- .../aggregation/{sum.py => sum_globally.py} | 38 +- .../aggregation/{sum.py => sum_per_key.py} | 31 +- .../snippets/transforms/aggregation/sum_test.py | 13 +- .../snippets/transforms/aggregation/top.py | 146 ----- .../keys.py => aggregation/top_largest.py} | 38 +- .../{mean.py => top_largest_per_key.py} | 43 +- .../snippets/transforms/aggregation/top_of.py | 63 +++ .../snippets/transforms/aggregation/top_per_key.py | 66 +++ .../aggregation/{distinct.py => top_smallest.py} | 39 +- .../{mean.py => top_smallest_per_key.py} | 43 +- .../snippets/transforms/aggregation/top_test.py | 38 +- .../snippets/transforms/elementwise/filter.py | 238 -------- .../transforms/elementwise/filter_function.py | 72 +++ .../transforms/elementwise/filter_lambda.py | 70 +++ .../elementwise/filter_multiple_arguments.py | 72 +++ .../elementwise/filter_side_inputs_dict.py | 79 +++ .../elementwise/filter_side_inputs_iter.py | 79 +++ .../elementwise/filter_side_inputs_singleton.py | 75 +++ .../snippets/transforms/elementwise/filter_test.py | 38 +- .../snippets/transforms/elementwise/flatmap.py | 259 --------- .../elementwise/{values.py => flatmap_function.py} | 39 +- .../{kvswap.py => flatmap_generator.py} | 40 +- .../elementwise/{values.py => flatmap_lambda.py} | 36 +- .../{kvswap.py => flatmap_multiple_arguments.py} | 39 +- .../elementwise/flatmap_side_inputs_dict.py | 83 +++ .../elementwise/flatmap_side_inputs_iter.py | 83 +++ ...{kvswap.py => flatmap_side_inputs_singleton.py} | 42 +- .../elementwise/{values.py => flatmap_simple.py} | 36 +- .../transforms/elementwise/flatmap_test.py | 56 +- .../elementwise/{kvswap.py => flatmap_tuple.py} | 34 +- .../snippets/transforms/elementwise/keys.py | 14 + .../snippets/transforms/elementwise/kvswap.py | 14 + .../snippets/transforms/elementwise/map.py | 229 -------- .../elementwise/{kvswap.py => map_function.py} | 38 +- .../elementwise/{values.py => map_lambda.py} | 35 +- .../{kvswap.py => map_multiple_arguments.py} | 38 +- .../transforms/elementwise/map_side_inputs_dict.py | 78 +++ .../{kvswap.py => map_side_inputs_iter.py} | 41 +- .../{kvswap.py => map_side_inputs_singleton.py} | 41 +- .../elementwise/{values.py => map_simple.py} | 35 +- .../snippets/transforms/elementwise/map_test.py | 49 +- .../elementwise/{values.py => map_tuple.py} | 26 +- .../elementwise/{kvswap.py => pardo_dofn.py} | 43 +- .../transforms/elementwise/pardo_dofn_methods.py | 77 +++ .../elementwise/{pardo.py => pardo_dofn_params.py} | 80 +-- .../snippets/transforms/elementwise/pardo_test.py | 17 +- .../snippets/transforms/elementwise/partition.py | 124 ----- .../transforms/elementwise/partition_function.py | 70 +++ .../transforms/elementwise/partition_lambda.py | 71 +++ .../elementwise/partition_multiple_arguments.py | 74 +++ .../transforms/elementwise/partition_test.py | 20 +- .../snippets/transforms/elementwise/regex.py | 226 -------- .../transforms/elementwise/regex_all_matches.py | 63 +++ .../elementwise/{keys.py => regex_find.py} | 43 +- .../elementwise/{keys.py => regex_find_all.py} | 43 +- .../elementwise/{keys.py => regex_find_kv.py} | 43 +- .../elementwise/{keys.py => regex_matches.py} | 45 +- .../transforms/elementwise/regex_matches_kv.py | 63 +++ .../elementwise/{keys.py => regex_replace_all.py} | 41 +- .../{keys.py => regex_replace_first.py} | 41 +- .../elementwise/{kvswap.py => regex_split.py} | 41 +- .../snippets/transforms/elementwise/regex_test.py | 56 +- .../transforms/elementwise/runinference.py | 56 -- .../runinference_sklearn_keyed_model_handler.py | 69 +++ .../runinference_sklearn_unkeyed_model_handler.py | 65 +++ .../transforms/elementwise/runinference_test.py | 14 +- .../{tostring.py => tostring_element.py} | 57 +- .../{tostring.py => tostring_iterables.py} | 57 +- .../elementwise/{values.py => tostring_kvs.py} | 23 +- .../transforms/elementwise/tostring_test.py | 20 +- .../snippets/transforms/elementwise/values.py | 14 + .../transforms/elementwise/withtimestamps.py | 86 --- .../elementwise/withtimestamps_event_time.py | 65 +++ .../elementwise/withtimestamps_logical_clock.py | 66 +++ .../elementwise/withtimestamps_processing_time.py | 66 +++ .../transforms/elementwise/withtimestamps_test.py | 20 +- .../snippets/transforms/other}/__init__.py | 0 .../{elementwise/keys.py => other/create.py} | 39 +- .../sum_test.py => other/create_test.py} | 38 +- .../{elementwise/keys.py => other/flatten.py} | 41 +- .../sum_test.py => other/flatten_test.py} | 40 +- .../examples/snippets/transforms/other/window.py | 67 +++ .../sum_test.py => other/window_test.py} | 38 +- .../apache_beam/runners/dataflow/internal/names.py | 2 +- website/www/site/content/en/blog/beam-2.47.0.md | 2 +- website/www/site/content/en/blog/beam-2.48.0.md | 4 +- .../site/content/en/contribute/release-guide.md | 4 + .../python/aggregation/combineglobally.md | 16 +- .../transforms/python/aggregation/combineperkey.md | 20 +- .../transforms/python/aggregation/combinevalues.md | 20 +- .../transforms/python/aggregation/count.md | 12 +- .../transforms/python/aggregation/groupby.md | 30 +- .../transforms/python/aggregation/latest.md | 8 +- .../transforms/python/aggregation/max.md | 8 +- .../transforms/python/aggregation/mean.md | 8 +- .../transforms/python/aggregation/min.md | 8 +- .../transforms/python/aggregation/sample.md | 8 +- .../transforms/python/aggregation/sum.md | 8 +- .../transforms/python/aggregation/top.md | 24 +- .../transforms/python/elementwise/filter.md | 24 +- .../transforms/python/elementwise/flatmap.md | 36 +- .../transforms/python/elementwise/map.md | 32 +- .../transforms/python/elementwise/pardo.md | 12 +- .../transforms/python/elementwise/partition.md | 12 +- .../transforms/python/elementwise/regex.md | 36 +- .../python/elementwise/runinference-sklearn.md | 8 +- .../transforms/python/elementwise/tostring.md | 12 +- .../python/elementwise/withtimestamps.md | 12 +- .../content/en/get-started/try-beam-playground.md | 73 +-- .../content/en/get-started/wordcount-example.md | 22 +- website/www/site/layouts/index.html | 2 +- 210 files changed, 8099 insertions(+), 4401 deletions(-) create mode 100644 playground/TASKS.md create mode 100644 playground/backend/SCHEMA.md create mode 100644 playground/doc/load_your_code/images/share-my-code.png create mode 100644 playground/doc/load_your_code/images/workflow.png delete mode 100644 playground/frontend/lib/constants/links.dart create mode 100644 playground/load_your_code.md create mode 100644 sdks/go/cmd/prism/README.md create mode 100644 sdks/go/cmd/prism/prism.go create mode 100644 sdks/go/pkg/beam/runners/prism/internal/jobservices/management_test.go create mode 100644 sdks/go/pkg/beam/runners/prism/internal/web/assets/style.css create mode 100644 sdks/go/pkg/beam/runners/prism/internal/web/index.html create mode 100644 sdks/go/pkg/beam/runners/prism/internal/web/jobdetails.html create mode 100644 sdks/go/pkg/beam/runners/prism/internal/web/web.go create mode 100644 sdks/java/io/google-cloud-platform/src/test/java/org/apache/beam/sdk/io/gcp/spanner/changestreams/SpannerChangestreamsReadDlqTest.java create mode 100644 sdks/python/apache_beam/examples/snippets/snippets_examples_wordcount_debugging.py create mode 100644 sdks/python/apache_beam/examples/snippets/snippets_examples_wordcount_minimal.py create mode 100644 sdks/python/apache_beam/examples/snippets/snippets_examples_wordcount_wordcount.py delete mode 100644 sdks/python/apache_beam/examples/snippets/transforms/aggregation/combineglobally.py create mode 100644 sdks/python/apache_beam/examples/snippets/transforms/aggregation/combineglobally_combinefn.py create mode 100644 sdks/python/apache_beam/examples/snippets/transforms/aggregation/combineglobally_function.py copy sdks/python/apache_beam/examples/snippets/transforms/aggregation/{mean.py => combineglobally_lambda.py} (52%) create mode 100644 sdks/python/apache_beam/examples/snippets/transforms/aggregation/combineglobally_multiple_arguments.py copy sdks/python/apache_beam/examples/snippets/transforms/aggregation/{max.py => combineglobally_side_inputs_dict.py} (50%) copy sdks/python/apache_beam/examples/snippets/transforms/aggregation/{mean.py => combineglobally_side_inputs_iter.py} (54%) copy sdks/python/apache_beam/examples/snippets/transforms/aggregation/{mean.py => combineglobally_side_inputs_singleton.py} (52%) delete mode 100644 sdks/python/apache_beam/examples/snippets/transforms/aggregation/combineperkey.py create mode 100644 sdks/python/apache_beam/examples/snippets/transforms/aggregation/combineperkey_combinefn.py copy sdks/python/apache_beam/examples/snippets/transforms/aggregation/{mean.py => combineperkey_function.py} (59%) copy sdks/python/apache_beam/examples/snippets/transforms/aggregation/{mean.py => combineperkey_lambda.py} (61%) copy sdks/python/apache_beam/examples/snippets/transforms/aggregation/{max.py => combineperkey_multiple_arguments.py} (58%) copy sdks/python/apache_beam/examples/snippets/transforms/aggregation/{max.py => combineperkey_side_inputs_dict.py} (59%) copy sdks/python/apache_beam/examples/snippets/transforms/aggregation/{mean.py => combineperkey_side_inputs_iter.py} (60%) copy sdks/python/apache_beam/examples/snippets/transforms/aggregation/{sum.py => combineperkey_side_inputs_singleton.py} (64%) copy sdks/python/apache_beam/examples/snippets/transforms/aggregation/{sum.py => combineperkey_simple.py} (65%) delete mode 100644 sdks/python/apache_beam/examples/snippets/transforms/aggregation/combinevalues.py create mode 100644 sdks/python/apache_beam/examples/snippets/transforms/aggregation/combinevalues_combinefn.py copy sdks/python/apache_beam/examples/snippets/transforms/aggregation/{mean.py => combinevalues_function.py} (52%) copy sdks/python/apache_beam/examples/snippets/transforms/aggregation/{mean.py => combinevalues_lambda.py} (54%) copy sdks/python/apache_beam/examples/snippets/transforms/aggregation/{mean.py => combinevalues_multiple_arguments.py} (51%) create mode 100644 sdks/python/apache_beam/examples/snippets/transforms/aggregation/combinevalues_side_inputs_dict.py create mode 100644 sdks/python/apache_beam/examples/snippets/transforms/aggregation/combinevalues_side_inputs_iter.py create mode 100644 sdks/python/apache_beam/examples/snippets/transforms/aggregation/combinevalues_side_inputs_singleton.py copy sdks/python/apache_beam/examples/snippets/transforms/aggregation/{groupbykey.py => combinevalues_simple.py} (60%) copy sdks/python/apache_beam/examples/snippets/transforms/{elementwise/kvswap.py => aggregation/count_globally.py} (57%) copy sdks/python/apache_beam/examples/snippets/transforms/{elementwise/keys.py => aggregation/count_per_element.py} (56%) rename sdks/python/apache_beam/examples/snippets/transforms/aggregation/{count.py => count_per_key.py} (61%) create mode 100644 sdks/python/apache_beam/examples/snippets/transforms/aggregation/groupby_attr.py create mode 100644 sdks/python/apache_beam/examples/snippets/transforms/aggregation/groupby_attr_expr.py copy sdks/python/apache_beam/examples/snippets/transforms/aggregation/{distinct.py => groupby_expr.py} (53%) create mode 100644 sdks/python/apache_beam/examples/snippets/transforms/aggregation/groupby_expr_aggregate.py create mode 100644 sdks/python/apache_beam/examples/snippets/transforms/aggregation/groupby_global_aggregate.py create mode 100644 sdks/python/apache_beam/examples/snippets/transforms/aggregation/groupby_simple_aggregate.py copy sdks/python/apache_beam/examples/snippets/transforms/aggregation/{distinct.py => groupby_two_exprs.py} (50%) copy sdks/python/apache_beam/examples/snippets/transforms/aggregation/{latest.py => latest_globally.py} (51%) rename sdks/python/apache_beam/examples/snippets/transforms/aggregation/{latest.py => latest_per_key.py} (70%) copy sdks/python/apache_beam/examples/snippets/transforms/aggregation/{max.py => max_globally.py} (69%) rename sdks/python/apache_beam/examples/snippets/transforms/aggregation/{max.py => max_per_key.py} (77%) copy sdks/python/apache_beam/examples/snippets/transforms/aggregation/{mean.py => mean_globally.py} (68%) copy sdks/python/apache_beam/examples/snippets/transforms/aggregation/{mean.py => mean_per_key.py} (78%) copy sdks/python/apache_beam/examples/snippets/transforms/aggregation/{min.py => min_globally.py} (68%) rename sdks/python/apache_beam/examples/snippets/transforms/aggregation/{min.py => min_per_key.py} (77%) copy sdks/python/apache_beam/examples/snippets/transforms/aggregation/{sample.py => sample_fixed_size_globally.py} (65%) rename sdks/python/apache_beam/examples/snippets/transforms/aggregation/{sample.py => sample_fixed_size_per_key.py} (73%) copy sdks/python/apache_beam/examples/snippets/transforms/aggregation/{sum.py => sum_globally.py} (69%) rename sdks/python/apache_beam/examples/snippets/transforms/aggregation/{sum.py => sum_per_key.py} (77%) delete mode 100644 sdks/python/apache_beam/examples/snippets/transforms/aggregation/top.py copy sdks/python/apache_beam/examples/snippets/transforms/{elementwise/keys.py => aggregation/top_largest.py} (60%) copy sdks/python/apache_beam/examples/snippets/transforms/aggregation/{mean.py => top_largest_per_key.py} (64%) create mode 100644 sdks/python/apache_beam/examples/snippets/transforms/aggregation/top_of.py create mode 100644 sdks/python/apache_beam/examples/snippets/transforms/aggregation/top_per_key.py copy sdks/python/apache_beam/examples/snippets/transforms/aggregation/{distinct.py => top_smallest.py} (60%) rename sdks/python/apache_beam/examples/snippets/transforms/aggregation/{mean.py => top_smallest_per_key.py} (64%) delete mode 100644 sdks/python/apache_beam/examples/snippets/transforms/elementwise/filter.py create mode 100644 sdks/python/apache_beam/examples/snippets/transforms/elementwise/filter_function.py create mode 100644 sdks/python/apache_beam/examples/snippets/transforms/elementwise/filter_lambda.py create mode 100644 sdks/python/apache_beam/examples/snippets/transforms/elementwise/filter_multiple_arguments.py create mode 100644 sdks/python/apache_beam/examples/snippets/transforms/elementwise/filter_side_inputs_dict.py create mode 100644 sdks/python/apache_beam/examples/snippets/transforms/elementwise/filter_side_inputs_iter.py create mode 100644 sdks/python/apache_beam/examples/snippets/transforms/elementwise/filter_side_inputs_singleton.py delete mode 100644 sdks/python/apache_beam/examples/snippets/transforms/elementwise/flatmap.py copy sdks/python/apache_beam/examples/snippets/transforms/elementwise/{values.py => flatmap_function.py} (57%) copy sdks/python/apache_beam/examples/snippets/transforms/elementwise/{kvswap.py => flatmap_generator.py} (55%) copy sdks/python/apache_beam/examples/snippets/transforms/elementwise/{values.py => flatmap_lambda.py} (58%) copy sdks/python/apache_beam/examples/snippets/transforms/elementwise/{kvswap.py => flatmap_multiple_arguments.py} (54%) create mode 100644 sdks/python/apache_beam/examples/snippets/transforms/elementwise/flatmap_side_inputs_dict.py create mode 100644 sdks/python/apache_beam/examples/snippets/transforms/elementwise/flatmap_side_inputs_iter.py copy sdks/python/apache_beam/examples/snippets/transforms/elementwise/{kvswap.py => flatmap_side_inputs_singleton.py} (51%) copy sdks/python/apache_beam/examples/snippets/transforms/elementwise/{values.py => flatmap_simple.py} (60%) copy sdks/python/apache_beam/examples/snippets/transforms/elementwise/{kvswap.py => flatmap_tuple.py} (63%) delete mode 100644 sdks/python/apache_beam/examples/snippets/transforms/elementwise/map.py copy sdks/python/apache_beam/examples/snippets/transforms/elementwise/{kvswap.py => map_function.py} (57%) copy sdks/python/apache_beam/examples/snippets/transforms/elementwise/{values.py => map_lambda.py} (59%) copy sdks/python/apache_beam/examples/snippets/transforms/elementwise/{kvswap.py => map_multiple_arguments.py} (55%) create mode 100644 sdks/python/apache_beam/examples/snippets/transforms/elementwise/map_side_inputs_dict.py copy sdks/python/apache_beam/examples/snippets/transforms/elementwise/{kvswap.py => map_side_inputs_iter.py} (52%) copy sdks/python/apache_beam/examples/snippets/transforms/elementwise/{kvswap.py => map_side_inputs_singleton.py} (52%) copy sdks/python/apache_beam/examples/snippets/transforms/elementwise/{values.py => map_simple.py} (60%) copy sdks/python/apache_beam/examples/snippets/transforms/elementwise/{values.py => map_tuple.py} (68%) copy sdks/python/apache_beam/examples/snippets/transforms/elementwise/{kvswap.py => pardo_dofn.py} (54%) create mode 100644 sdks/python/apache_beam/examples/snippets/transforms/elementwise/pardo_dofn_methods.py rename sdks/python/apache_beam/examples/snippets/transforms/elementwise/{pardo.py => pardo_dofn_params.py} (59%) delete mode 100644 sdks/python/apache_beam/examples/snippets/transforms/elementwise/partition.py create mode 100644 sdks/python/apache_beam/examples/snippets/transforms/elementwise/partition_function.py create mode 100644 sdks/python/apache_beam/examples/snippets/transforms/elementwise/partition_lambda.py create mode 100644 sdks/python/apache_beam/examples/snippets/transforms/elementwise/partition_multiple_arguments.py delete mode 100644 sdks/python/apache_beam/examples/snippets/transforms/elementwise/regex.py create mode 100644 sdks/python/apache_beam/examples/snippets/transforms/elementwise/regex_all_matches.py copy sdks/python/apache_beam/examples/snippets/transforms/elementwise/{keys.py => regex_find.py} (51%) copy sdks/python/apache_beam/examples/snippets/transforms/elementwise/{keys.py => regex_find_all.py} (50%) copy sdks/python/apache_beam/examples/snippets/transforms/elementwise/{keys.py => regex_find_kv.py} (50%) copy sdks/python/apache_beam/examples/snippets/transforms/elementwise/{keys.py => regex_matches.py} (50%) create mode 100644 sdks/python/apache_beam/examples/snippets/transforms/elementwise/regex_matches_kv.py copy sdks/python/apache_beam/examples/snippets/transforms/elementwise/{keys.py => regex_replace_all.py} (55%) copy sdks/python/apache_beam/examples/snippets/transforms/elementwise/{keys.py => regex_replace_first.py} (54%) copy sdks/python/apache_beam/examples/snippets/transforms/elementwise/{kvswap.py => regex_split.py} (56%) create mode 100644 sdks/python/apache_beam/examples/snippets/transforms/elementwise/runinference_sklearn_keyed_model_handler.py create mode 100644 sdks/python/apache_beam/examples/snippets/transforms/elementwise/runinference_sklearn_unkeyed_model_handler.py copy sdks/python/apache_beam/examples/snippets/transforms/elementwise/{tostring.py => tostring_element.py} (56%) rename sdks/python/apache_beam/examples/snippets/transforms/elementwise/{tostring.py => tostring_iterables.py} (56%) copy sdks/python/apache_beam/examples/snippets/transforms/elementwise/{values.py => tostring_kvs.py} (72%) create mode 100644 sdks/python/apache_beam/examples/snippets/transforms/elementwise/withtimestamps_event_time.py create mode 100644 sdks/python/apache_beam/examples/snippets/transforms/elementwise/withtimestamps_logical_clock.py create mode 100644 sdks/python/apache_beam/examples/snippets/transforms/elementwise/withtimestamps_processing_time.py copy {.test-infra/jenkins/dependency_check => sdks/python/apache_beam/examples/snippets/transforms/other}/__init__.py (100%) copy sdks/python/apache_beam/examples/snippets/transforms/{elementwise/keys.py => other/create.py} (61%) copy sdks/python/apache_beam/examples/snippets/transforms/{aggregation/sum_test.py => other/create_test.py} (65%) copy sdks/python/apache_beam/examples/snippets/transforms/{elementwise/keys.py => other/flatten.py} (56%) copy sdks/python/apache_beam/examples/snippets/transforms/{aggregation/sum_test.py => other/flatten_test.py} (65%) create mode 100644 sdks/python/apache_beam/examples/snippets/transforms/other/window.py copy sdks/python/apache_beam/examples/snippets/transforms/{aggregation/sum_test.py => other/window_test.py} (65%)