From c5ea429af519484b52ecc5e5c0f25467e4e8f848 Mon Sep 17 00:00:00 2001 From: David Katz <41651296+DavidKatz-il@users.noreply.github.com> Date: Mon, 7 Sep 2020 16:45:09 +0300 Subject: [PATCH] move `dict_without_keys` to dagster.utils --- python_modules/dagster/dagster/utils/__init__.py | 4 ++++ .../libraries/dagster-pandas/dagster_pandas/data_frame.py | 5 +---- .../libraries/dagster-pyspark/dagster_pyspark/types.py | 5 +---- .../dagster-pyspark/dagster_pyspark_tests/test_types.py | 5 +---- 4 files changed, 7 insertions(+), 12 deletions(-) diff --git a/python_modules/dagster/dagster/utils/__init__.py b/python_modules/dagster/dagster/utils/__init__.py index 1e4463bc9f82d..8e131ca166936 100644 --- a/python_modules/dagster/dagster/utils/__init__.py +++ b/python_modules/dagster/dagster/utils/__init__.py @@ -517,3 +517,7 @@ def compose(*args): # reduce using functional composition over all the arguments, with the identity function as # initializer return functools.reduce(lambda f, g: lambda x: f(g(x)), args, lambda x: x) + + +def dict_without_keys(ddict, *keys): + return {key: value for key, value in ddict.items() if key not in set(keys)} diff --git a/python_modules/libraries/dagster-pandas/dagster_pandas/data_frame.py b/python_modules/libraries/dagster-pandas/dagster_pandas/data_frame.py index 930b14690ecb2..c6e80ab550bab 100644 --- a/python_modules/libraries/dagster-pandas/dagster_pandas/data_frame.py +++ b/python_modules/libraries/dagster-pandas/dagster_pandas/data_frame.py @@ -19,15 +19,12 @@ dagster_type_materializer, ) from dagster.config.field_utils import Selector +from dagster.utils import dict_without_keys from dagster.utils.backcompat import canonicalize_backcompat_args, experimental CONSTRAINT_BLACKLIST = {ColumnDTypeFnConstraint, ColumnDTypeInSetConstraint} -def dict_without_keys(ddict, *keys): - return {key: value for key, value in ddict.items() if key not in set(keys)} - - @dagster_type_materializer( Selector( { diff --git a/python_modules/libraries/dagster-pyspark/dagster_pyspark/types.py b/python_modules/libraries/dagster-pyspark/dagster_pyspark/types.py index d9fab1eeb9728..ab4c6c5b9f375 100644 --- a/python_modules/libraries/dagster-pyspark/dagster_pyspark/types.py +++ b/python_modules/libraries/dagster-pyspark/dagster_pyspark/types.py @@ -21,6 +21,7 @@ from dagster.config.field_utils import Selector from dagster.core.storage.system_storage import fs_intermediate_storage, fs_system_storage from dagster.core.storage.type_storage import TypeStoragePlugin +from dagster.utils import dict_without_keys WriteModeOptions = Enum( "WriteMode", @@ -75,10 +76,6 @@ ) -def dict_without_keys(ddict, *keys): - return {key: value for key, value in ddict.items() if key not in set(keys)} - - @dagster_type_materializer( Selector( { diff --git a/python_modules/libraries/dagster-pyspark/dagster_pyspark_tests/test_types.py b/python_modules/libraries/dagster-pyspark/dagster_pyspark_tests/test_types.py index 2b5121586a8cb..a3cc652147654 100644 --- a/python_modules/libraries/dagster-pyspark/dagster_pyspark_tests/test_types.py +++ b/python_modules/libraries/dagster-pyspark/dagster_pyspark_tests/test_types.py @@ -13,6 +13,7 @@ file_relative_path, solid, ) +from dagster.utils import dict_without_keys from dagster.utils.test import get_temp_dir spark = SparkSession.builder.getOrCreate() @@ -28,10 +29,6 @@ ] -def dict_without_keys(ddict, *keys): - return {key: value for key, value in ddict.items() if key not in set(keys)} - - def create_pyspark_df(): data = [Row(_c0=str(i), _c1=str(i)) for i in range(100)] return spark.createDataFrame(data)