Skip to content

ImportError: sqlglotc produces "TypeError: interpreted classes cannot inherit from compiled" (Windows, SQLMesh > 0.230.0) #5792

@connordouglashanna

Description

@connordouglashanna

The following traceback is produced by my machine on any SQLMesh CLI command after upgrading all packages via uv. It reproduces across SQLMesh versions greater than 0.230.0, but my packages were out of sync with the lockfile so I'm not completely certain which change caused the problem. The error message disappears when I force uv to exclude sqlglotc from the package dependencies.

Please let me know if there is anything else I can do to help!

Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main File "<frozen runpy>", line 88, in _run_code File "C:\Users\user\project\.venv\Scripts\sqlmesh.exe\__main__.py", line 4, in <module> File "C:\Users\user\project\.venv\Lib\site-packages\sqlmesh\__init__.py", line 22, in <module> from sqlmesh.core.config import Config as Config File "C:\Users\user\project\.venv\Lib\site-packages\sqlmesh\core\config\__init__.py", line 9, in <module> from sqlmesh.core.config.connection import ( File "C:\Users\user\project\.venv\Lib\site-packages\sqlmesh\core\config\connection.py", line 22, in <module> from sqlmesh.core import engine_adapter File "C:\Users\user\project\.venv\Lib\site-packages\sqlmesh\core\engine_adapter\__init__.py", line 5, in <module> from sqlmesh.core.engine_adapter.base import ( File "C:\Users\user\project\.venv\Lib\site-packages\sqlmesh\core\engine_adapter\base.py", line 41, in <module> from sqlmesh.core.model.kind import TimeColumn File "C:\Users\user\project\.venv\Lib\site-packages\sqlmesh\core\model\__init__.py", line 1, in <module> from sqlmesh.core.model.cache import ( File "C:\Users\user\project\.venv\Lib\site-packages\sqlmesh\core\model\cache.py", line 13, in <module> from sqlmesh.core.model.definition import ExternalModel, Model, SqlModel, _Model File "C:\Users\user\project\.venv\Lib\site-packages\sqlmesh\core\model\definition.py", line 2746, in <module> INSERT_SEED_MACRO_CALL = d.parse_one("@INSERT_SEED()") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\user\project\.venv\Lib\site-packages\sqlmesh\core\dialect.py", line 895, in parse_one expressions = parse(sql, default_dialect=dialect, match_dialect=False, into=into) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\user\project\.venv\Lib\site-packages\sqlmesh\core\dialect.py", line 1032, in parse expressions.extend(parse_sql_chunk(chunk)) ^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\user\project\.venv\Lib\site-packages\sqlmesh\core\dialect.py", line 976, in parse_sql_chunk parser.parse(chunk, sql) if into is None else parser.parse_into(into, chunk, sql) ^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\a\sqlglot\sqlglot\sqlglot\parser.py", line 2008, in parse File "D:\a\sqlglot\sqlglot\sqlglot\parser.py", line 2128, in _parse File "D:\a\sqlglot\sqlglot\sqlglot\parser.py", line 2095, in _parse_batch_statements File "C:\Users\user\project\.venv\Lib\site-packages\sqlmesh\core\dialect.py", line 150, in _parse_statement return self.__parse_statement() # type: ignore ^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\a\sqlglot\sqlglot\sqlglot\parser.py", line 2257, in _parse_statement File "D:\a\sqlglot\sqlglot\sqlglot\parser.py", line 5611, in _parse_expression File "D:\a\sqlglot\sqlglot\sqlglot\parser.py", line 5614, in _parse_assignment File "D:\a\sqlglot\sqlglot\sqlglot\parser.py", line 5636, in _parse_disjunction File "D:\a\sqlglot\sqlglot\sqlglot\parser.py", line 5648, in _parse_conjunction File "D:\a\sqlglot\sqlglot\sqlglot\parser.py", line 5660, in _parse_equality File "D:\a\sqlglot\sqlglot\sqlglot\parser.py", line 5672, in _parse_comparison File "D:\a\sqlglot\sqlglot\sqlglot\parser.py", line 5682, in _parse_range File "D:\a\sqlglot\sqlglot\sqlglot\parser.py", line 5885, in _parse_bitwise File "D:\a\sqlglot\sqlglot\sqlglot\parser.py", line 5918, in _parse_term File "D:\a\sqlglot\sqlglot\sqlglot\parser.py", line 5941, in _parse_factor File "D:\a\sqlglot\sqlglot\sqlglot\parser.py", line 5973, in _parse_unary File "D:\a\sqlglot\sqlglot\sqlglot\parser.py", line 6037, in _parse_type File "D:\a\sqlglot\sqlglot\sqlglot\parser.py", line 6398, in _parse_column File "D:\a\sqlglot\sqlglot\sqlglot\parser.py", line 6485, in _parse_column_reference File "D:\a\sqlglot\sqlglot\sqlglot\parser.py", line 6717, in _parse_field File "D:\a\sqlglot\sqlglot\sqlglot\parser.py", line 8233, in _parse_id_var File "D:\a\sqlglot\sqlglot\sqlglot\parser.py", line 8262, in _parse_identifier File "D:\a\sqlglot\sqlglot\sqlglot\parser.py", line 8315, in _parse_placeholder File "C:\Users\user\project\.venv\Lib\site-packages\sqlmesh\core\dialect.py", line 272, in _parse_macro field = _build_macro(field) ^^^^^^^^^^^^^^^^^^^ File "C:\Users\user\project\.venv\Lib\site-packages\sqlmesh\core\dialect.py", line 255, in _build_macro return self.expression(MacroFunc(this=field), comments=comments) ^^^^^^^^^^^^^^^^^^^^^ TypeError: interpreted classes cannot inherit from compiled

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions