sqlmesh 0.225.1.dev9__py3-none-any.whl → 0.225.1.dev11__py3-none-any.whl

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.
sqlmesh/_version.py CHANGED
@@ -28,7 +28,7 @@ version_tuple: VERSION_TUPLE
28
28
  commit_id: COMMIT_ID
29
29
  __commit_id__: COMMIT_ID
30
30
 
31
- __version__ = version = '0.225.1.dev9'
32
- __version_tuple__ = version_tuple = (0, 225, 1, 'dev9')
31
+ __version__ = version = '0.225.1.dev11'
32
+ __version_tuple__ = version_tuple = (0, 225, 1, 'dev11')
33
33
 
34
34
  __commit_id__ = commit_id = None
@@ -58,6 +58,7 @@ FORBIDDEN_STATE_SYNC_ENGINES = {
58
58
  "clickhouse",
59
59
  }
60
60
  MOTHERDUCK_TOKEN_REGEX = re.compile(r"(\?|\&)(motherduck_token=)(\S*)")
61
+ PASSWORD_REGEX = re.compile(r"(password=)(\S+)")
61
62
 
62
63
 
63
64
  def _get_engine_import_validator(
@@ -479,13 +480,13 @@ class BaseDuckDBConnectionConfig(ConnectionConfig):
479
480
  adapter = BaseDuckDBConnectionConfig._data_file_to_adapter.get(key)
480
481
  if adapter is not None:
481
482
  logger.info(
482
- f"Using existing DuckDB adapter due to overlapping data file: {self._mask_motherduck_token(key)}"
483
+ f"Using existing DuckDB adapter due to overlapping data file: {self._mask_sensitive_data(key)}"
483
484
  )
484
485
  return adapter
485
486
 
486
487
  if data_files:
487
488
  masked_files = {
488
- self._mask_motherduck_token(file if isinstance(file, str) else file.path)
489
+ self._mask_sensitive_data(file if isinstance(file, str) else file.path)
489
490
  for file in data_files
490
491
  }
491
492
  logger.info(f"Creating new DuckDB adapter for data files: {masked_files}")
@@ -507,10 +508,14 @@ class BaseDuckDBConnectionConfig(ConnectionConfig):
507
508
  return list(self.catalogs)[0]
508
509
  return None
509
510
 
510
- def _mask_motherduck_token(self, string: str) -> str:
511
- return MOTHERDUCK_TOKEN_REGEX.sub(
512
- lambda m: f"{m.group(1)}{m.group(2)}{'*' * len(m.group(3))}", string
511
+ def _mask_sensitive_data(self, string: str) -> str:
512
+ # Mask MotherDuck tokens with fixed number of asterisks
513
+ result = MOTHERDUCK_TOKEN_REGEX.sub(
514
+ lambda m: f"{m.group(1)}{m.group(2)}{'*' * 8 if m.group(3) else ''}", string
513
515
  )
516
+ # Mask PostgreSQL/MySQL passwords with fixed number of asterisks
517
+ result = PASSWORD_REGEX.sub(lambda m: f"{m.group(1)}{'*' * 8}", result)
518
+ return result
514
519
 
515
520
 
516
521
  class MotherDuckConnectionConfig(BaseDuckDBConnectionConfig):
@@ -56,6 +56,7 @@ class MSSQLEngineAdapter(
56
56
  COMMENT_CREATION_TABLE = CommentCreationTable.UNSUPPORTED
57
57
  COMMENT_CREATION_VIEW = CommentCreationView.UNSUPPORTED
58
58
  SUPPORTS_REPLACE_TABLE = False
59
+ MAX_IDENTIFIER_LENGTH = 128
59
60
  SUPPORTS_QUERY_EXECUTION_TRACKING = True
60
61
  SCHEMA_DIFFER_KWARGS = {
61
62
  "parameterized_type_defaults": {
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sqlmesh
3
- Version: 0.225.1.dev9
3
+ Version: 0.225.1.dev11
4
4
  Summary: Next-generation data transformation framework
5
5
  Author-email: "TobikoData Inc." <engineering@tobikodata.com>
6
6
  License: Apache License
@@ -1,5 +1,5 @@
1
1
  sqlmesh/__init__.py,sha256=v_spqQEhcnGaahp1yPvMqUIa6mhH3cs3Bc1CznxvCEA,7965
2
- sqlmesh/_version.py,sha256=In7JszPyl-FSxX_rqZzch9tAUyabr_kCKrjd95ovG5Q,721
2
+ sqlmesh/_version.py,sha256=rL399L1EnYWL3B6vD6tKHE0nJBsphmY0bhwYQocf9DY,723
3
3
  sqlmesh/magics.py,sha256=xLh3u4eqpVrKRVN5KF3X84RPRqjygAB9AJP1TXwH8hg,42086
4
4
  sqlmesh/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
5
5
  sqlmesh/cicd/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -42,7 +42,7 @@ sqlmesh/core/config/__init__.py,sha256=tnEakbd8FAgSLYmjzuYAAgHIpJ00lwMKAhD_Cfs2O
42
42
  sqlmesh/core/config/base.py,sha256=t8NQmsgQoZSc-k0dlDiCb8t1jj0AMYdGZ-6se9q_Pks,4898
43
43
  sqlmesh/core/config/categorizer.py,sha256=6vzUoNLjR6GOEb_2mYVz2TwmMv2BfldgHX2u-Le5HZs,1975
44
44
  sqlmesh/core/config/common.py,sha256=9V6PltBAjYeWLOU5dAbqL55BSFfpg8z8t2Op1x_PLhU,6418
45
- sqlmesh/core/config/connection.py,sha256=CncCsy2Ka32YWPHLYn4j_uBejZU_MtqMg1IvSigh8eQ,90707
45
+ sqlmesh/core/config/connection.py,sha256=My5gcfT4PoNE1HGELG2TLfAgS7K2QanPnJE9TaNTa7Y,90999
46
46
  sqlmesh/core/config/dbt.py,sha256=xSQ4NEVWhZj_aRYpyy4MWcRJ8Qa0o28w2ZBLI4bs3_I,468
47
47
  sqlmesh/core/config/format.py,sha256=6CXFbvnor56xbldKE-Vrm9k_ABRoY4v6vgIb3mCihiQ,1355
48
48
  sqlmesh/core/config/gateway.py,sha256=tYngyqwd_4Qr9lhcv2hlvLvb_2pgYYtKu6hdGsTr-4I,1931
@@ -68,7 +68,7 @@ sqlmesh/core/engine_adapter/databricks.py,sha256=452Og5LriNtvXk0DElUGmoR_pUFQvBg
68
68
  sqlmesh/core/engine_adapter/duckdb.py,sha256=9AXeRhaYXBcYSmIavyFY9LUzfgh94qkTO98v0-suQ8I,7993
69
69
  sqlmesh/core/engine_adapter/fabric.py,sha256=V5Wx2Htt94nvXXVAKFjnLHqN0WIaPlS87mYYxQs0GGo,14256
70
70
  sqlmesh/core/engine_adapter/mixins.py,sha256=3rB7B2PZSB920BODO7k_kKqu6z0N-zj1etiRCYzpUcQ,27096
71
- sqlmesh/core/engine_adapter/mssql.py,sha256=mKsim081RB_7Mkz58UeTlbdx2Gvpbjx0bgBPm4rqSx0,18664
71
+ sqlmesh/core/engine_adapter/mssql.py,sha256=Hf96XmP4bItNWyRzq11B9ndbrMWWYvSXQGJKRbzuQ9w,18696
72
72
  sqlmesh/core/engine_adapter/mysql.py,sha256=anKxdklYY2kiuxaHsC7FPN-LKzo7BP0Hy6hinA_c5Hg,6953
73
73
  sqlmesh/core/engine_adapter/postgres.py,sha256=W3GXlA1qjTp6t9Az9w1bGJL28ahwes82gjhliYfo0tw,5417
74
74
  sqlmesh/core/engine_adapter/redshift.py,sha256=DrBQbBpDwLKf4ARygBO3ldicAJs2n_BBWkGIHH8-CBM,17778
@@ -238,7 +238,7 @@ sqlmesh/utils/pydantic.py,sha256=o_NsXbIpDqNpUA1Uc5xF0ZzoXQYYB0DfHwdRxBwXPNk,120
238
238
  sqlmesh/utils/rich.py,sha256=cwQ5nJ6sgz64xHtoh6_ec7ReV5YpsOGhMtUJnwoRfEI,3549
239
239
  sqlmesh/utils/windows.py,sha256=0F9RdpuuCoG5NiEDXvWlAGCiJ-59OjSAmgFF5wW05aY,1133
240
240
  sqlmesh/utils/yaml.py,sha256=KFBd7hsKNRTtRudGR7d410qUYffQv0EWRcDM8hVNNZg,3025
241
- sqlmesh-0.225.1.dev9.dist-info/licenses/LICENSE,sha256=OlMefUjgWJdULtf84BLW0AZZcY8DwdgQqb_1j2862j8,11346
241
+ sqlmesh-0.225.1.dev11.dist-info/licenses/LICENSE,sha256=OlMefUjgWJdULtf84BLW0AZZcY8DwdgQqb_1j2862j8,11346
242
242
  sqlmesh_dbt/__init__.py,sha256=awYS5y5mz-1NUmx6i5h5NSTJ7tidRl9NC0FAnFWSF6U,350
243
243
  sqlmesh_dbt/cli.py,sha256=eAeOZtHOikSDEZNI6hnZYJ-pja6ijFldRV4PeSzwYwU,5744
244
244
  sqlmesh_dbt/console.py,sha256=RwWLYnEZHzn9Xp-e2gbZvkdKbWbBLN146geI84mJitg,1132
@@ -363,8 +363,8 @@ web/server/api/endpoints/models.py,sha256=kwj0s7uve3iZSMfmjkoPVMFMeY1sD0peTeyrWf
363
363
  web/server/api/endpoints/modules.py,sha256=8hqqgonGay_mJmpCw0IdbjsPhWlQH2VLdKAqha-myac,468
364
364
  web/server/api/endpoints/plan.py,sha256=bbbY50W_2MsZSTxOHWMKz0tbIm75nsRSlPy8GI2fg9Q,9306
365
365
  web/server/api/endpoints/table_diff.py,sha256=8XTwgOh6QBbNy_hTM1JuHgRjbnie-pGPrphiW-FNLjQ,6058
366
- sqlmesh-0.225.1.dev9.dist-info/METADATA,sha256=b5W8F8BQUXsUvbmXeW8uiBXOAE5wmv8gJ_tDcU25Q_8,26685
367
- sqlmesh-0.225.1.dev9.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
368
- sqlmesh-0.225.1.dev9.dist-info/entry_points.txt,sha256=sHAf6tQczIM8xZoduN4qaUjV7QEPVUUW_LCT8EDUMv4,155
369
- sqlmesh-0.225.1.dev9.dist-info/top_level.txt,sha256=RQ-33FPe2IgL0rgossAfJkCRtqslz9b7wFARqiWLC5Q,24
370
- sqlmesh-0.225.1.dev9.dist-info/RECORD,,
366
+ sqlmesh-0.225.1.dev11.dist-info/METADATA,sha256=ssbfiydpLJP37XCbuZ-7m4lHBnAnYapf_K97xUljDG0,26686
367
+ sqlmesh-0.225.1.dev11.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
368
+ sqlmesh-0.225.1.dev11.dist-info/entry_points.txt,sha256=sHAf6tQczIM8xZoduN4qaUjV7QEPVUUW_LCT8EDUMv4,155
369
+ sqlmesh-0.225.1.dev11.dist-info/top_level.txt,sha256=RQ-33FPe2IgL0rgossAfJkCRtqslz9b7wFARqiWLC5Q,24
370
+ sqlmesh-0.225.1.dev11.dist-info/RECORD,,