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.

Files changed (20) hide show
  1. {dagster-snowflake-0.18.1/dagster_snowflake.egg-info → dagster-snowflake-0.18.3}/PKG-INFO +3 -5
  2. {dagster-snowflake-0.18.1 → dagster-snowflake-0.18.3}/dagster_snowflake/resources.py +4 -5
  3. {dagster-snowflake-0.18.1 → dagster-snowflake-0.18.3}/dagster_snowflake/snowflake_io_manager.py +7 -5
  4. dagster-snowflake-0.18.3/dagster_snowflake/version.py +1 -0
  5. {dagster-snowflake-0.18.1 → dagster-snowflake-0.18.3/dagster_snowflake.egg-info}/PKG-INFO +3 -5
  6. {dagster-snowflake-0.18.1 → dagster-snowflake-0.18.3}/dagster_snowflake.egg-info/requires.txt +1 -1
  7. {dagster-snowflake-0.18.1 → dagster-snowflake-0.18.3}/setup.py +4 -2
  8. dagster-snowflake-0.18.1/dagster_snowflake/version.py +0 -1
  9. {dagster-snowflake-0.18.1 → dagster-snowflake-0.18.3}/LICENSE +0 -0
  10. {dagster-snowflake-0.18.1 → dagster-snowflake-0.18.3}/MANIFEST.in +0 -0
  11. {dagster-snowflake-0.18.1 → dagster-snowflake-0.18.3}/README.md +0 -0
  12. {dagster-snowflake-0.18.1 → dagster-snowflake-0.18.3}/dagster_snowflake/__init__.py +0 -0
  13. {dagster-snowflake-0.18.1 → dagster-snowflake-0.18.3}/dagster_snowflake/configs.py +0 -0
  14. {dagster-snowflake-0.18.1 → dagster-snowflake-0.18.3}/dagster_snowflake/py.typed +0 -0
  15. {dagster-snowflake-0.18.1 → dagster-snowflake-0.18.3}/dagster_snowflake/solids.py +0 -0
  16. {dagster-snowflake-0.18.1 → dagster-snowflake-0.18.3}/dagster_snowflake.egg-info/SOURCES.txt +0 -0
  17. {dagster-snowflake-0.18.1 → dagster-snowflake-0.18.3}/dagster_snowflake.egg-info/dependency_links.txt +0 -0
  18. {dagster-snowflake-0.18.1 → dagster-snowflake-0.18.3}/dagster_snowflake.egg-info/not-zip-safe +0 -0
  19. {dagster-snowflake-0.18.1 → dagster-snowflake-0.18.3}/dagster_snowflake.egg-info/top_level.txt +0 -0
  20. {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.1
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): # pylint: disable=too-many-locals
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 # pylint: disable=no-name-in-module,import-error
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 sql in sql_queries:
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)
@@ -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(f"create schema if not exists {table_slice.schema};")
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.1
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
-
@@ -1,4 +1,4 @@
1
- dagster==1.2.1
1
+ dagster==1.2.3
2
2
  snowflake-connector-python>=2.1.0
3
3
 
4
4
  [pandas]
@@ -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) # pylint: disable=W0122
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.1", "snowflake-connector-python>=2.1.0"],
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"