dagster-snowflake 0.18.1__tar.gz → 0.18.3__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of dagster-snowflake might be problematic. Click here for more details.
- {dagster-snowflake-0.18.1/dagster_snowflake.egg-info → dagster-snowflake-0.18.3}/PKG-INFO +3 -5
- {dagster-snowflake-0.18.1 → dagster-snowflake-0.18.3}/dagster_snowflake/resources.py +4 -5
- {dagster-snowflake-0.18.1 → dagster-snowflake-0.18.3}/dagster_snowflake/snowflake_io_manager.py +7 -5
- dagster-snowflake-0.18.3/dagster_snowflake/version.py +1 -0
- {dagster-snowflake-0.18.1 → dagster-snowflake-0.18.3/dagster_snowflake.egg-info}/PKG-INFO +3 -5
- {dagster-snowflake-0.18.1 → dagster-snowflake-0.18.3}/dagster_snowflake.egg-info/requires.txt +1 -1
- {dagster-snowflake-0.18.1 → dagster-snowflake-0.18.3}/setup.py +4 -2
- dagster-snowflake-0.18.1/dagster_snowflake/version.py +0 -1
- {dagster-snowflake-0.18.1 → dagster-snowflake-0.18.3}/LICENSE +0 -0
- {dagster-snowflake-0.18.1 → dagster-snowflake-0.18.3}/MANIFEST.in +0 -0
- {dagster-snowflake-0.18.1 → dagster-snowflake-0.18.3}/README.md +0 -0
- {dagster-snowflake-0.18.1 → dagster-snowflake-0.18.3}/dagster_snowflake/__init__.py +0 -0
- {dagster-snowflake-0.18.1 → dagster-snowflake-0.18.3}/dagster_snowflake/configs.py +0 -0
- {dagster-snowflake-0.18.1 → dagster-snowflake-0.18.3}/dagster_snowflake/py.typed +0 -0
- {dagster-snowflake-0.18.1 → dagster-snowflake-0.18.3}/dagster_snowflake/solids.py +0 -0
- {dagster-snowflake-0.18.1 → dagster-snowflake-0.18.3}/dagster_snowflake.egg-info/SOURCES.txt +0 -0
- {dagster-snowflake-0.18.1 → dagster-snowflake-0.18.3}/dagster_snowflake.egg-info/dependency_links.txt +0 -0
- {dagster-snowflake-0.18.1 → dagster-snowflake-0.18.3}/dagster_snowflake.egg-info/not-zip-safe +0 -0
- {dagster-snowflake-0.18.1 → dagster-snowflake-0.18.3}/dagster_snowflake.egg-info/top_level.txt +0 -0
- {dagster-snowflake-0.18.1 → dagster-snowflake-0.18.3}/setup.cfg +0 -0
|
@@ -1,20 +1,18 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: dagster-snowflake
|
|
3
|
-
Version: 0.18.
|
|
3
|
+
Version: 0.18.3
|
|
4
4
|
Summary: Package for Snowflake Dagster framework components.
|
|
5
5
|
Home-page: https://github.com/dagster-io/dagster/tree/master/python_modules/libraries/dagster-snowflake
|
|
6
6
|
Author: Elementl
|
|
7
7
|
Author-email: hello@elementl.com
|
|
8
8
|
License: Apache-2.0
|
|
9
|
-
Platform: UNKNOWN
|
|
10
9
|
Classifier: Programming Language :: Python :: 3.7
|
|
11
10
|
Classifier: Programming Language :: Python :: 3.8
|
|
12
11
|
Classifier: Programming Language :: Python :: 3.9
|
|
12
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
13
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
13
14
|
Classifier: License :: OSI Approved :: Apache Software License
|
|
14
15
|
Classifier: Operating System :: OS Independent
|
|
15
16
|
Provides-Extra: snowflake.sqlalchemy
|
|
16
17
|
Provides-Extra: pandas
|
|
17
18
|
License-File: LICENSE
|
|
18
|
-
|
|
19
|
-
UNKNOWN
|
|
20
|
-
|
|
@@ -32,7 +32,7 @@ class SnowflakeConnection:
|
|
|
32
32
|
:py:func:`snowflake_resource`.
|
|
33
33
|
"""
|
|
34
34
|
|
|
35
|
-
def __init__(self, config: Mapping[str, str], log):
|
|
35
|
+
def __init__(self, config: Mapping[str, str], log):
|
|
36
36
|
# Extract parameters from resource config. Note that we can't pass None values to
|
|
37
37
|
# snowflake.connector.connect() because they will override the default values set within the
|
|
38
38
|
# connector; remove them from the conn_args dict.
|
|
@@ -170,7 +170,7 @@ class SnowflakeConnection:
|
|
|
170
170
|
|
|
171
171
|
"""
|
|
172
172
|
if self.connector == "sqlalchemy":
|
|
173
|
-
from snowflake.sqlalchemy import URL
|
|
173
|
+
from snowflake.sqlalchemy import URL
|
|
174
174
|
from sqlalchemy import create_engine
|
|
175
175
|
|
|
176
176
|
engine = create_engine(URL(**self.conn_args), connect_args=self.sqlalchemy_engine_args)
|
|
@@ -282,9 +282,8 @@ class SnowflakeConnection:
|
|
|
282
282
|
results: List[Any] = []
|
|
283
283
|
with self.get_connection() as conn:
|
|
284
284
|
with closing(conn.cursor()) as cursor:
|
|
285
|
-
for
|
|
286
|
-
if sys.version_info[0] < 3
|
|
287
|
-
sql = sql.encode("utf-8")
|
|
285
|
+
for raw_sql in sql_queries:
|
|
286
|
+
sql = raw_sql.encode("utf-8") if sys.version_info[0] < 3 else raw_sql
|
|
288
287
|
self.log.info("Executing query: " + sql)
|
|
289
288
|
parameters = dict(parameters) if isinstance(parameters, Mapping) else parameters
|
|
290
289
|
cursor.execute(sql, parameters)
|
{dagster-snowflake-0.18.1 → dagster-snowflake-0.18.3}/dagster_snowflake/snowflake_io_manager.py
RENAMED
|
@@ -20,8 +20,7 @@ SNOWFLAKE_DATETIME_FORMAT = "%Y-%m-%d %H:%M:%S"
|
|
|
20
20
|
def build_snowflake_io_manager(
|
|
21
21
|
type_handlers: Sequence[DbTypeHandler], default_load_type: Optional[Type] = None
|
|
22
22
|
) -> IOManagerDefinition:
|
|
23
|
-
"""
|
|
24
|
-
Builds an IO manager definition that reads inputs from and writes outputs to Snowflake.
|
|
23
|
+
"""Builds an IO manager definition that reads inputs from and writes outputs to Snowflake.
|
|
25
24
|
|
|
26
25
|
Args:
|
|
27
26
|
type_handlers (Sequence[DbTypeHandler]): Each handler defines how to translate between
|
|
@@ -165,7 +164,11 @@ class SnowflakeDbClient(DbClient):
|
|
|
165
164
|
|
|
166
165
|
@staticmethod
|
|
167
166
|
def ensure_schema_exists(context: OutputContext, table_slice: TableSlice, connection) -> None:
|
|
168
|
-
connection.execute(
|
|
167
|
+
schemas = connection.execute(
|
|
168
|
+
f"show schemas like '{table_slice.schema}' in database {table_slice.database}"
|
|
169
|
+
).fetchall()
|
|
170
|
+
if len(schemas) == 0:
|
|
171
|
+
connection.execute(f"create schema {table_slice.schema};")
|
|
169
172
|
|
|
170
173
|
@staticmethod
|
|
171
174
|
def delete_table_slice(context: OutputContext, table_slice: TableSlice, connection) -> None:
|
|
@@ -189,8 +192,7 @@ class SnowflakeDbClient(DbClient):
|
|
|
189
192
|
|
|
190
193
|
|
|
191
194
|
def _get_cleanup_statement(table_slice: TableSlice) -> str:
|
|
192
|
-
"""
|
|
193
|
-
Returns a SQL statement that deletes data in the given table to make way for the output data
|
|
195
|
+
"""Returns a SQL statement that deletes data in the given table to make way for the output data
|
|
194
196
|
being written.
|
|
195
197
|
"""
|
|
196
198
|
if table_slice.partition_dimensions and len(table_slice.partition_dimensions) > 0:
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "0.18.3"
|
|
@@ -1,20 +1,18 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: dagster-snowflake
|
|
3
|
-
Version: 0.18.
|
|
3
|
+
Version: 0.18.3
|
|
4
4
|
Summary: Package for Snowflake Dagster framework components.
|
|
5
5
|
Home-page: https://github.com/dagster-io/dagster/tree/master/python_modules/libraries/dagster-snowflake
|
|
6
6
|
Author: Elementl
|
|
7
7
|
Author-email: hello@elementl.com
|
|
8
8
|
License: Apache-2.0
|
|
9
|
-
Platform: UNKNOWN
|
|
10
9
|
Classifier: Programming Language :: Python :: 3.7
|
|
11
10
|
Classifier: Programming Language :: Python :: 3.8
|
|
12
11
|
Classifier: Programming Language :: Python :: 3.9
|
|
12
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
13
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
13
14
|
Classifier: License :: OSI Approved :: Apache Software License
|
|
14
15
|
Classifier: Operating System :: OS Independent
|
|
15
16
|
Provides-Extra: snowflake.sqlalchemy
|
|
16
17
|
Provides-Extra: pandas
|
|
17
18
|
License-File: LICENSE
|
|
18
|
-
|
|
19
|
-
UNKNOWN
|
|
20
|
-
|
|
@@ -7,7 +7,7 @@ from setuptools import find_packages, setup
|
|
|
7
7
|
def get_version() -> str:
|
|
8
8
|
version: Dict[str, str] = {}
|
|
9
9
|
with open(Path(__file__).parent / "dagster_snowflake/version.py", encoding="utf8") as fp:
|
|
10
|
-
exec(fp.read(), version)
|
|
10
|
+
exec(fp.read(), version)
|
|
11
11
|
|
|
12
12
|
return version["__version__"]
|
|
13
13
|
|
|
@@ -27,11 +27,13 @@ setup(
|
|
|
27
27
|
"Programming Language :: Python :: 3.7",
|
|
28
28
|
"Programming Language :: Python :: 3.8",
|
|
29
29
|
"Programming Language :: Python :: 3.9",
|
|
30
|
+
"Programming Language :: Python :: 3.10",
|
|
31
|
+
"Programming Language :: Python :: 3.11",
|
|
30
32
|
"License :: OSI Approved :: Apache Software License",
|
|
31
33
|
"Operating System :: OS Independent",
|
|
32
34
|
],
|
|
33
35
|
packages=find_packages(exclude=["dagster_snowflake_tests*"]),
|
|
34
|
-
install_requires=["dagster==1.2.
|
|
36
|
+
install_requires=["dagster==1.2.3", "snowflake-connector-python>=2.1.0"],
|
|
35
37
|
extras_require={
|
|
36
38
|
"snowflake.sqlalchemy": [
|
|
37
39
|
"sqlalchemy!=1.4.42", # workaround for https://github.com/snowflakedb/snowflake-sqlalchemy/issues/350
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = "0.18.1"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dagster-snowflake-0.18.1 → dagster-snowflake-0.18.3}/dagster_snowflake.egg-info/SOURCES.txt
RENAMED
|
File without changes
|
|
File without changes
|
{dagster-snowflake-0.18.1 → dagster-snowflake-0.18.3}/dagster_snowflake.egg-info/not-zip-safe
RENAMED
|
File without changes
|
{dagster-snowflake-0.18.1 → dagster-snowflake-0.18.3}/dagster_snowflake.egg-info/top_level.txt
RENAMED
|
File without changes
|
|
File without changes
|