sqlmesh 0.188.2.dev14__py3-none-any.whl → 0.188.2.dev16__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
@@ -17,5 +17,5 @@ __version__: str
17
17
  __version_tuple__: VERSION_TUPLE
18
18
  version_tuple: VERSION_TUPLE
19
19
 
20
- __version__ = version = '0.188.2.dev14'
21
- __version_tuple__ = version_tuple = (0, 188, 2, 'dev14')
20
+ __version__ = version = '0.188.2.dev16'
21
+ __version_tuple__ = version_tuple = (0, 188, 2, 'dev16')
@@ -1737,11 +1737,19 @@ class ClickhouseConnectionConfig(ConnectionConfig):
1737
1737
  cluster: t.Optional[str] = None
1738
1738
  connect_timeout: int = 10
1739
1739
  send_receive_timeout: int = 300
1740
- verify: bool = True
1741
1740
  query_limit: int = 0
1742
1741
  use_compression: bool = True
1743
1742
  compression_method: t.Optional[str] = None
1744
1743
  connection_settings: t.Optional[t.Dict[str, t.Any]] = None
1744
+ http_proxy: t.Optional[str] = None
1745
+ # HTTPS/TLS settings
1746
+ verify: bool = True
1747
+ ca_cert: t.Optional[str] = None
1748
+ client_cert: t.Optional[str] = None
1749
+ client_cert_key: t.Optional[str] = None
1750
+ https_proxy: t.Optional[str] = None
1751
+ server_host_name: t.Optional[str] = None
1752
+ tls_mode: t.Optional[str] = None
1745
1753
 
1746
1754
  concurrent_tasks: int = 1
1747
1755
  register_comments: bool = True
@@ -1766,8 +1774,15 @@ class ClickhouseConnectionConfig(ConnectionConfig):
1766
1774
  "password",
1767
1775
  "connect_timeout",
1768
1776
  "send_receive_timeout",
1769
- "verify",
1770
1777
  "query_limit",
1778
+ "http_proxy",
1779
+ "verify",
1780
+ "ca_cert",
1781
+ "client_cert",
1782
+ "client_cert_key",
1783
+ "https_proxy",
1784
+ "server_host_name",
1785
+ "tls_mode",
1771
1786
  }
1772
1787
  return kwargs
1773
1788
 
@@ -1786,7 +1801,18 @@ class ClickhouseConnectionConfig(ConnectionConfig):
1786
1801
  maxsize=self.concurrent_tasks,
1787
1802
  # Block if there are no free connections
1788
1803
  block=True,
1804
+ verify=self.verify,
1805
+ ca_cert=self.ca_cert,
1806
+ client_cert=self.client_cert,
1807
+ client_cert_key=self.client_cert_key,
1808
+ https_proxy=self.https_proxy,
1789
1809
  )
1810
+ # this doesn't happen automatically because we always supply our own pool manager to the connection
1811
+ # https://github.com/ClickHouse/clickhouse-connect/blob/3a7f4b04cad29c7c2536661b831fb744248e2ec0/clickhouse_connect/driver/httpclient.py#L109
1812
+ if self.server_host_name:
1813
+ pool_manager_options["server_hostname"] = self.server_host_name
1814
+ if self.verify:
1815
+ pool_manager_options["assert_hostname"] = self.server_host_name
1790
1816
  if self.connection_pool_options:
1791
1817
  pool_manager_options.update(self.connection_pool_options)
1792
1818
  pool_mgr = httputil.get_pool_manager(**pool_manager_options)
sqlmesh/lsp/main.py CHANGED
@@ -20,6 +20,7 @@ from sqlmesh.lsp.api import (
20
20
  ApiResponseGetLineage,
21
21
  ApiResponseGetModels,
22
22
  )
23
+ from sqlmesh.lsp.completions import get_sql_completions
23
24
  from sqlmesh.lsp.context import (
24
25
  LSPContext,
25
26
  ModelTarget,
@@ -456,6 +457,47 @@ class SQLMeshLanguageServer:
456
457
  )
457
458
  return types.WorkspaceDiagnosticReport(items=[])
458
459
 
460
+ @self.server.feature(types.TEXT_DOCUMENT_COMPLETION)
461
+ def completion(
462
+ ls: LanguageServer, params: types.CompletionParams
463
+ ) -> t.Optional[types.CompletionList]:
464
+ """Handle completion requests from the client."""
465
+ try:
466
+ uri = URI(params.text_document.uri)
467
+ context = self._context_get_or_load(uri)
468
+
469
+ # Get completions using the existing completions module
470
+ completion_response = context.get_autocomplete(uri)
471
+
472
+ completion_items = []
473
+ # Add model completions
474
+ for model in completion_response.models:
475
+ completion_items.append(
476
+ types.CompletionItem(
477
+ label=model,
478
+ kind=types.CompletionItemKind.Reference,
479
+ detail="SQLMesh Model",
480
+ )
481
+ )
482
+ # Add keyword completions
483
+ for keyword in completion_response.keywords:
484
+ completion_items.append(
485
+ types.CompletionItem(
486
+ label=keyword,
487
+ kind=types.CompletionItemKind.Keyword,
488
+ detail="SQL Keyword",
489
+ )
490
+ )
491
+
492
+ return types.CompletionList(
493
+ is_incomplete=False,
494
+ items=completion_items,
495
+ )
496
+
497
+ except Exception as e:
498
+ get_sql_completions(None, URI(params.text_document.uri))
499
+ return None
500
+
459
501
  def _get_diagnostics_for_uri(self, uri: URI) -> t.Tuple[t.List[types.Diagnostic], int]:
460
502
  """Get diagnostics for a specific URI, returning (diagnostics, result_id).
461
503
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sqlmesh
3
- Version: 0.188.2.dev14
3
+ Version: 0.188.2.dev16
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=69xw6bTmi4cW90M-sl3g6wLDgxVcLHcKg1q8GS3lqyA,7466
2
- sqlmesh/_version.py,sha256=fJFO1v_1vUre4HQuzewJ-mOoW9TaxnZU7Aeunu-VZ20,530
2
+ sqlmesh/_version.py,sha256=6GUaGvlW5Du6s6xIEfW2tcKLw1Yu_uUIQZIQRrRRKh0,530
3
3
  sqlmesh/magics.py,sha256=fu7-OeT_0_TAkWZOLoiioE3-3iFpvTRxFCbQUlRnfuw,39944
4
4
  sqlmesh/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
5
5
  sqlmesh/cicd/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -41,7 +41,7 @@ sqlmesh/core/config/__init__.py,sha256=b4gFb04tpeZpowqJD-7h3U3TLgxrpQhZahVEAo6VW
41
41
  sqlmesh/core/config/base.py,sha256=t8NQmsgQoZSc-k0dlDiCb8t1jj0AMYdGZ-6se9q_Pks,4898
42
42
  sqlmesh/core/config/categorizer.py,sha256=6vzUoNLjR6GOEb_2mYVz2TwmMv2BfldgHX2u-Le5HZs,1975
43
43
  sqlmesh/core/config/common.py,sha256=-o_HoRFtR4u84frg_TLno7z7vS9II6ASiOayb59MKHo,2806
44
- sqlmesh/core/config/connection.py,sha256=36m_RPcCx6mhDkJPweAdlTm_T5kZW34yJtknMAOu6II,76513
44
+ sqlmesh/core/config/connection.py,sha256=ChaR4EjAvJZBFefzYK8q63An3Or7zHGoFQ-5ut4lv20,77685
45
45
  sqlmesh/core/config/feature_flag.py,sha256=JRcD31OG_t2cYc24meKbHDGB0iVID0P07V2oOeB_mgA,203
46
46
  sqlmesh/core/config/format.py,sha256=6CXFbvnor56xbldKE-Vrm9k_ABRoY4v6vgIb3mCihiQ,1355
47
47
  sqlmesh/core/config/gateway.py,sha256=tYngyqwd_4Qr9lhcv2hlvLvb_2pgYYtKu6hdGsTr-4I,1931
@@ -160,7 +160,7 @@ sqlmesh/lsp/completions.py,sha256=Ufe5XyqmT8ttXqQDbhH2RtuGC0cVuVfSnGqDMl6KmB4,36
160
160
  sqlmesh/lsp/context.py,sha256=ozkrw-897_Scbbn4AnKdeTQhrUb0CI0e34vcV-5U2DA,6158
161
161
  sqlmesh/lsp/custom.py,sha256=Mml6V1nYAHdP4Zt8gxly1ZLKYALtxGeAVzPrrYpc7m8,1426
162
162
  sqlmesh/lsp/description.py,sha256=4QIGC9ix8IzmWF6DVUNhY4m1Crk3sNQA6hZ1RbyqU78,827
163
- sqlmesh/lsp/main.py,sha256=qrDFfG_VG7NUOtutLU8lizNng3ZVVaxM2UQuirx8VMk,28922
163
+ sqlmesh/lsp/main.py,sha256=N8PmNdMcg87shZtThQSbF198KpSj2FU_48-LtGGj6bw,30628
164
164
  sqlmesh/lsp/reference.py,sha256=-HkMMzRzq4ike5mSkoWajanYNMAwhQhlPaqw62451ac,16887
165
165
  sqlmesh/lsp/uri.py,sha256=mvSLbZGmMTHPpliThOtVWiFcHnfJzp1w39q9l-xD2SI,802
166
166
  sqlmesh/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -270,7 +270,7 @@ sqlmesh/utils/pydantic.py,sha256=I898jAFqa3qU6lG2uPpRebVFncOUo8ZrLWM_R3K3DHU,116
270
270
  sqlmesh/utils/rich.py,sha256=xNZyPCqEc4TAlJlsEthg-5eYUWpaizz0QjBzO7a1Yv4,1509
271
271
  sqlmesh/utils/windows.py,sha256=r7Yin4WEwbvH7sKA3hOJtRsclmscNuBeCklCfVPvtQs,611
272
272
  sqlmesh/utils/yaml.py,sha256=np-WVcwmwsKghCgAj1OBBMsK1SXSRn4wR-H37cGiFr8,2282
273
- sqlmesh-0.188.2.dev14.dist-info/licenses/LICENSE,sha256=OlMefUjgWJdULtf84BLW0AZZcY8DwdgQqb_1j2862j8,11346
273
+ sqlmesh-0.188.2.dev16.dist-info/licenses/LICENSE,sha256=OlMefUjgWJdULtf84BLW0AZZcY8DwdgQqb_1j2862j8,11346
274
274
  web/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
275
275
  web/client/dist/index.html,sha256=U9DgO3KqjoSuGiKVKR8AAdfXFUa0kaXJgIRAsmZ5RH8,5472
276
276
  web/client/dist/assets/Audits-CNkn30Bu.js,sha256=0uC1ibXDFzBjPRshILFo9VzNNKHT3nvIgQhrhVDG-1Y,1041
@@ -388,8 +388,8 @@ web/server/api/endpoints/models.py,sha256=ud-lRwriyI_OYg9tZchrBgeiXELiRTLNEodraf
388
388
  web/server/api/endpoints/modules.py,sha256=8hqqgonGay_mJmpCw0IdbjsPhWlQH2VLdKAqha-myac,468
389
389
  web/server/api/endpoints/plan.py,sha256=OYuQ_4dgbhG9ibTcX1a8mvYgH3ANxw9Fhbb4wg6QWqc,9222
390
390
  web/server/api/endpoints/table_diff.py,sha256=Wd5YxeKbZB7AkrDvqFgvV9ZQlnKYOF1n5W_w2EHE_Zw,2085
391
- sqlmesh-0.188.2.dev14.dist-info/METADATA,sha256=FU8tPYSRRro1LJEznqb--PfuOW9nuhkjVK1ORlGqmjw,26532
392
- sqlmesh-0.188.2.dev14.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
393
- sqlmesh-0.188.2.dev14.dist-info/entry_points.txt,sha256=pIYKtg-u-uO7BK_Y0qrdmfyj0bYrcMc3Xiqr5WE3VFk,121
394
- sqlmesh-0.188.2.dev14.dist-info/top_level.txt,sha256=bspjo5vjELQkuN0qKuTFIbsrUt3Zeo8D2mlKeHG1LdE,12
395
- sqlmesh-0.188.2.dev14.dist-info/RECORD,,
391
+ sqlmesh-0.188.2.dev16.dist-info/METADATA,sha256=2-v1oHhaV9gDD_nLNABTdIdD7E9_880HYBf21nbWCLc,26532
392
+ sqlmesh-0.188.2.dev16.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
393
+ sqlmesh-0.188.2.dev16.dist-info/entry_points.txt,sha256=pIYKtg-u-uO7BK_Y0qrdmfyj0bYrcMc3Xiqr5WE3VFk,121
394
+ sqlmesh-0.188.2.dev16.dist-info/top_level.txt,sha256=bspjo5vjELQkuN0qKuTFIbsrUt3Zeo8D2mlKeHG1LdE,12
395
+ sqlmesh-0.188.2.dev16.dist-info/RECORD,,