Skip to content

build and runtime error with sqlglot #1847

@daeho-ro

Description

@daeho-ro

Suggested troubleshooting steps for bug reports

  • Upgraded to the latest mycli if possible.
  • Ran mycli --checkup, if supported.

Expected Behavior

Run without error

Actual Behavior

2026-04-14T15:32:51.6461261Z   Created wheel for mycli: filename=mycli-1.68.0-py3-none-any.whl size=126060 sha256=1e48032c6edf33008aab080b776d164a634b32ed58d486cb75b93af269ca4b50
2026-04-14T15:32:51.6461622Z   Stored in directory: /home/linuxbrew/.cache/Homebrew/pip_cache/wheels/7f/3d/01/9a0563482a4ede9d7041b6a5c707d96a5b4e45741974e5e5e2
2026-04-14T15:32:51.6461696Z Successfully built mycli
2026-04-14T15:32:51.6461773Z Installing collected packages: mycli
2026-04-14T15:32:51.6461984Z   changing mode of /home/linuxbrew/.linuxbrew/Cellar/mycli/1.68.0/libexec/bin/mycli to 755
2026-04-14T15:32:51.6462060Z Successfully installed mycli-1.68.0
2026-04-14T15:32:51.6462139Z Traceback (most recent call last):
2026-04-14T15:32:51.6462332Z   File "/home/linuxbrew/.linuxbrew/Cellar/mycli/1.68.0/bin/mycli", line 3, in <module>
2026-04-14T15:32:51.6462400Z     from mycli.main import main
2026-04-14T15:32:51.6462736Z   File "/home/linuxbrew/.linuxbrew/Cellar/mycli/1.68.0/libexec/lib/python3.14/site-packages/mycli/main.py", line 51, in <module>
2026-04-14T15:32:51.6462871Z     from mycli.completion_refresher import CompletionRefresher
2026-04-14T15:32:51.6463368Z   File "/home/linuxbrew/.linuxbrew/Cellar/mycli/1.68.0/libexec/lib/python3.14/site-packages/mycli/completion_refresher.py", line 4, in <module>
2026-04-14T15:32:51.6463486Z     from mycli.packages.special.main import COMMANDS
2026-04-14T15:32:51.6463938Z   File "/home/linuxbrew/.linuxbrew/Cellar/mycli/1.68.0/libexec/lib/python3.14/site-packages/mycli/packages/special/__init__.py", line 1, in <module>
2026-04-14T15:32:51.6464055Z     from mycli.packages.special.dbcommands import (
2026-04-14T15:32:51.6464120Z     ...<3 lines>...
2026-04-14T15:32:51.6464172Z     )
2026-04-14T15:32:51.6464582Z   File "/home/linuxbrew/.linuxbrew/Cellar/mycli/1.68.0/libexec/lib/python3.14/site-packages/mycli/packages/special/dbcommands.py", line 9, in <module>
2026-04-14T15:32:51.6464681Z     from mycli.packages.special import iocommands
2026-04-14T15:32:51.6465097Z   File "/home/linuxbrew/.linuxbrew/Cellar/mycli/1.68.0/libexec/lib/python3.14/site-packages/mycli/packages/special/iocommands.py", line 20, in <module>
2026-04-14T15:32:51.6465266Z     from mycli.packages.interactive_utils import confirm_destructive_query
2026-04-14T15:32:51.6465674Z   File "/home/linuxbrew/.linuxbrew/Cellar/mycli/1.68.0/libexec/lib/python3.14/site-packages/mycli/packages/interactive_utils.py", line 5, in <module>
2026-04-14T15:32:51.6465791Z     from mycli.packages.sql_utils import is_destructive
2026-04-14T15:32:51.6466231Z   File "/home/linuxbrew/.linuxbrew/Cellar/mycli/1.68.0/libexec/lib/python3.14/site-packages/mycli/packages/sql_utils.py", line 6, in <module>
2026-04-14T15:32:51.6466378Z     import sqlglot
2026-04-14T15:32:51.6466729Z   File "/home/linuxbrew/.linuxbrew/Cellar/mycli/1.68.0/libexec/lib/python3.14/site-packages/sqlglot/__init__.py", line 30, in <module>
2026-04-14T15:32:51.6466812Z     from sqlglot import expressions as exp
2026-04-14T15:32:51.6467205Z   File "/home/linuxbrew/.linuxbrew/Cellar/mycli/1.68.0/libexec/lib/python3.14/site-packages/sqlglot/expressions/__init__.py", line 16, in <module>
2026-04-14T15:32:51.6467337Z     from sqlglot.expressions.core import *  # noqa: F401,F403
2026-04-14T15:32:51.6467402Z     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2026-04-14T15:32:51.6467617Z   File "/var/tmp/sqlglotc_build_uqbfz386/sqlglot/expressions/core.py", line 30, in <module>
2026-04-14T15:32:51.6467793Z     from sqlglot._typing import GeneratorNoDialectArgs, ParserNoDialectArgs
2026-04-14T15:32:51.6468326Z ImportError: cannot import name 'GeneratorNoDialectArgs' from 'sqlglot._typing' (/home/linuxbrew/.linuxbrew/Cellar/mycli/1.68.0/libexec/lib/python3.14/site-packages/sqlglot/_typing.py)
2026-04-14T15:32:51.6489244Z ##[error]Failure while executing; `\{\"SHELL\"\ =\>\ \"bash\",\ \"_MYCLI_COMPLETE\"\ =\>\ \"bash_source\"\} /home/linuxbrew/.linuxbrew/Cellar/mycli/1.68.0/bin/mycli`

Steps to Reproduce

Source build for mycli v1.68.0 but actually this will be happen for every version I guess.

System

  • mycli version: 1.68.0
  • OS/version: MacOS Tahoe (26.4)

Discussion

sqlglotc requires sqlglot as a build system without version limitation, and so it pulls most recent version. However, mycli depends on the specific version of sqlglot, there are api mismatch between 30.0.3 and latest (30.4.3 maybe?). I think the version limitation should be released to resolve this issue.

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