mycli 2.29.4__tar.gz → 2.29.5__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.
Files changed (227) hide show
  1. {mycli-2.29.4 → mycli-2.29.5}/.github/actions/typecheck/action.yml +1 -1
  2. {mycli-2.29.4 → mycli-2.29.5}/.github/workflows/ci.yml +12 -12
  3. {mycli-2.29.4 → mycli-2.29.5}/.github/workflows/publish.yml +14 -14
  4. {mycli-2.29.4 → mycli-2.29.5}/AGENTS.md +1 -1
  5. {mycli-2.29.4/mycli.egg-info → mycli-2.29.5}/PKG-INFO +11 -12
  6. {mycli-2.29.4 → mycli-2.29.5}/changelog.md +21 -0
  7. {mycli-2.29.4 → mycli-2.29.5}/docker/Dockerfile +1 -1
  8. {mycli-2.29.4 → mycli-2.29.5}/docker/resources/test_db-1.0.7.tar.gz +1 -1
  9. {mycli-2.29.4 → mycli-2.29.5}/mycli/cli_runner.py +2 -4
  10. {mycli-2.29.4 → mycli-2.29.5}/mycli/main.py +2 -6
  11. {mycli-2.29.4 → mycli-2.29.5/mycli.egg-info}/PKG-INFO +11 -12
  12. {mycli-2.29.4 → mycli-2.29.5}/mycli.egg-info/requires.txt +10 -11
  13. mycli-2.29.5/mycli.egg-info/scm_version.json +8 -0
  14. {mycli-2.29.4 → mycli-2.29.5}/mycli_test/pytests/test_special_db_commands.py +3 -3
  15. {mycli-2.29.4 → mycli-2.29.5}/pyproject.toml +12 -13
  16. mycli-2.29.4/mycli.egg-info/scm_version.json +0 -8
  17. {mycli-2.29.4 → mycli-2.29.5}/.git-blame-ignore-revs +0 -0
  18. {mycli-2.29.4 → mycli-2.29.5}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  19. {mycli-2.29.4 → mycli-2.29.5}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  20. {mycli-2.29.4 → mycli-2.29.5}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  21. {mycli-2.29.4 → mycli-2.29.5}/.github/actions/lint/action.yml +0 -0
  22. {mycli-2.29.4 → mycli-2.29.5}/.github/dependabot.yml +0 -0
  23. {mycli-2.29.4 → mycli-2.29.5}/.github/workflows/lint.yml +0 -0
  24. {mycli-2.29.4 → mycli-2.29.5}/.github/workflows/typecheck.yml +0 -0
  25. {mycli-2.29.4 → mycli-2.29.5}/.gitignore +0 -0
  26. {mycli-2.29.4 → mycli-2.29.5}/AUTHORS.md +0 -0
  27. {mycli-2.29.4 → mycli-2.29.5}/CONTRIBUTING.md +0 -0
  28. {mycli-2.29.4 → mycli-2.29.5}/LICENSE.txt +0 -0
  29. {mycli-2.29.4 → mycli-2.29.5}/MANIFEST.in +0 -0
  30. {mycli-2.29.4 → mycli-2.29.5}/README.md +0 -0
  31. {mycli-2.29.4 → mycli-2.29.5}/SPONSORS.md +0 -0
  32. {mycli-2.29.4 → mycli-2.29.5}/doc/cookbook.md +0 -0
  33. {mycli-2.29.4 → mycli-2.29.5}/doc/key_bindings.md +0 -0
  34. {mycli-2.29.4 → mycli-2.29.5}/doc/known_bugs.md +0 -0
  35. {mycli-2.29.4 → mycli-2.29.5}/doc/llm.md +0 -0
  36. {mycli-2.29.4 → mycli-2.29.5}/doc/screenshots/main.gif +0 -0
  37. {mycli-2.29.4 → mycli-2.29.5}/doc/screenshots/polars_describe.png +0 -0
  38. {mycli-2.29.4 → mycli-2.29.5}/doc/screenshots/polars_group_by.png +0 -0
  39. {mycli-2.29.4 → mycli-2.29.5}/doc/screenshots/polars_histogram.png +0 -0
  40. {mycli-2.29.4 → mycli-2.29.5}/doc/screenshots/polars_pivot.png +0 -0
  41. {mycli-2.29.4 → mycli-2.29.5}/doc/screenshots/tables.png +0 -0
  42. {mycli-2.29.4 → mycli-2.29.5}/doc/transforms.md +0 -0
  43. {mycli-2.29.4 → mycli-2.29.5}/docker/resources/test_db_license.md +0 -0
  44. {mycli-2.29.4 → mycli-2.29.5}/mycli/AUTHORS.txt +0 -0
  45. {mycli-2.29.4 → mycli-2.29.5}/mycli/SPONSORS.txt +0 -0
  46. {mycli-2.29.4 → mycli-2.29.5}/mycli/TIPS.txt +0 -0
  47. {mycli-2.29.4 → mycli-2.29.5}/mycli/__init__.py +0 -0
  48. {mycli-2.29.4 → mycli-2.29.5}/mycli/app_state.py +0 -0
  49. {mycli-2.29.4 → mycli-2.29.5}/mycli/client.py +0 -0
  50. {mycli-2.29.4 → mycli-2.29.5}/mycli/client_commands.py +0 -0
  51. {mycli-2.29.4 → mycli-2.29.5}/mycli/client_connection.py +0 -0
  52. {mycli-2.29.4 → mycli-2.29.5}/mycli/client_query.py +0 -0
  53. {mycli-2.29.4 → mycli-2.29.5}/mycli/compat.py +0 -0
  54. {mycli-2.29.4 → mycli-2.29.5}/mycli/config.py +0 -0
  55. {mycli-2.29.4 → mycli-2.29.5}/mycli/constants.py +0 -0
  56. {mycli-2.29.4 → mycli-2.29.5}/mycli/main_modes/batch.py +0 -0
  57. {mycli-2.29.4 → mycli-2.29.5}/mycli/main_modes/checkup.py +0 -0
  58. {mycli-2.29.4 → mycli-2.29.5}/mycli/main_modes/completions.py +0 -0
  59. {mycli-2.29.4 → mycli-2.29.5}/mycli/main_modes/execute.py +0 -0
  60. {mycli-2.29.4 → mycli-2.29.5}/mycli/main_modes/list_dsn.py +0 -0
  61. {mycli-2.29.4 → mycli-2.29.5}/mycli/main_modes/repl.py +0 -0
  62. {mycli-2.29.4 → mycli-2.29.5}/mycli/myclirc +0 -0
  63. {mycli-2.29.4 → mycli-2.29.5}/mycli/output.py +0 -0
  64. {mycli-2.29.4 → mycli-2.29.5}/mycli/packages/__init__.py +0 -0
  65. {mycli-2.29.4 → mycli-2.29.5}/mycli/packages/completion/__init__.py +0 -0
  66. {mycli-2.29.4 → mycli-2.29.5}/mycli/packages/completion/completion_engine.py +0 -0
  67. {mycli-2.29.4 → mycli-2.29.5}/mycli/packages/completion/completion_refresher.py +0 -0
  68. {mycli-2.29.4 → mycli-2.29.5}/mycli/packages/completion/schema_prefetcher.py +0 -0
  69. {mycli-2.29.4 → mycli-2.29.5}/mycli/packages/completion/sql_completer.py +0 -0
  70. {mycli-2.29.4 → mycli-2.29.5}/mycli/packages/credentials/__init__.py +0 -0
  71. {mycli-2.29.4 → mycli-2.29.5}/mycli/packages/credentials/password_sources.py +0 -0
  72. {mycli-2.29.4 → mycli-2.29.5}/mycli/packages/dataframes/__init__.py +0 -0
  73. {mycli-2.29.4 → mycli-2.29.5}/mycli/packages/dataframes/completion.py +0 -0
  74. {mycli-2.29.4 → mycli-2.29.5}/mycli/packages/dataframes/transform.py +0 -0
  75. {mycli-2.29.4 → mycli-2.29.5}/mycli/packages/execution/__init__.py +0 -0
  76. {mycli-2.29.4 → mycli-2.29.5}/mycli/packages/execution/background_runner.py +0 -0
  77. {mycli-2.29.4 → mycli-2.29.5}/mycli/packages/execution/sql_execute.py +0 -0
  78. {mycli-2.29.4 → mycli-2.29.5}/mycli/packages/integrations/__init__.py +0 -0
  79. {mycli-2.29.4 → mycli-2.29.5}/mycli/packages/integrations/boundary/__init__.py +0 -0
  80. {mycli-2.29.4 → mycli-2.29.5}/mycli/packages/integrations/boundary/boundary_tunnel.py +0 -0
  81. {mycli-2.29.4 → mycli-2.29.5}/mycli/packages/integrations/fzf/__init__.py +0 -0
  82. {mycli-2.29.4 → mycli-2.29.5}/mycli/packages/integrations/fzf/fzf.py +0 -0
  83. {mycli-2.29.4 → mycli-2.29.5}/mycli/packages/integrations/kubernetes/__init__.py +0 -0
  84. {mycli-2.29.4 → mycli-2.29.5}/mycli/packages/integrations/kubernetes/kubectl_tunnel.py +0 -0
  85. {mycli-2.29.4 → mycli-2.29.5}/mycli/packages/integrations/macos/__init__.py +0 -0
  86. {mycli-2.29.4 → mycli-2.29.5}/mycli/packages/integrations/macos/macos_keychain.py +0 -0
  87. {mycli-2.29.4 → mycli-2.29.5}/mycli/packages/integrations/openssh/__init__.py +0 -0
  88. {mycli-2.29.4 → mycli-2.29.5}/mycli/packages/integrations/openssh/ssh_tunnel.py +0 -0
  89. {mycli-2.29.4 → mycli-2.29.5}/mycli/packages/integrations/vault/__init__.py +0 -0
  90. {mycli-2.29.4 → mycli-2.29.5}/mycli/packages/integrations/vault/vault_credentials.py +0 -0
  91. {mycli-2.29.4 → mycli-2.29.5}/mycli/packages/prompt_toolkit/__init__.py +0 -0
  92. {mycli-2.29.4 → mycli-2.29.5}/mycli/packages/prompt_toolkit/fzf_history.py +0 -0
  93. {mycli-2.29.4 → mycli-2.29.5}/mycli/packages/prompt_toolkit/history.py +0 -0
  94. {mycli-2.29.4 → mycli-2.29.5}/mycli/packages/prompt_toolkit/key_bindings.py +0 -0
  95. {mycli-2.29.4 → mycli-2.29.5}/mycli/packages/prompt_toolkit/multiline.py +0 -0
  96. {mycli-2.29.4 → mycli-2.29.5}/mycli/packages/prompt_toolkit/style.py +0 -0
  97. {mycli-2.29.4 → mycli-2.29.5}/mycli/packages/prompt_toolkit/toolbar.py +0 -0
  98. {mycli-2.29.4 → mycli-2.29.5}/mycli/packages/prompt_toolkit/utils.py +0 -0
  99. {mycli-2.29.4 → mycli-2.29.5}/mycli/packages/pygments/__init__.py +0 -0
  100. {mycli-2.29.4 → mycli-2.29.5}/mycli/packages/pygments/mycli_lexer.py +0 -0
  101. {mycli-2.29.4 → mycli-2.29.5}/mycli/packages/redirection/__init__.py +0 -0
  102. {mycli-2.29.4 → mycli-2.29.5}/mycli/packages/redirection/hybrid_redirection.py +0 -0
  103. {mycli-2.29.4 → mycli-2.29.5}/mycli/packages/special_commands/__init__.py +0 -0
  104. {mycli-2.29.4 → mycli-2.29.5}/mycli/packages/special_commands/db_commands.py +0 -0
  105. {mycli-2.29.4 → mycli-2.29.5}/mycli/packages/special_commands/delimiter_command.py +0 -0
  106. {mycli-2.29.4 → mycli-2.29.5}/mycli/packages/special_commands/dsn_aliases.py +0 -0
  107. {mycli-2.29.4 → mycli-2.29.5}/mycli/packages/special_commands/favorite_queries.py +0 -0
  108. {mycli-2.29.4 → mycli-2.29.5}/mycli/packages/special_commands/io_commands.py +0 -0
  109. {mycli-2.29.4 → mycli-2.29.5}/mycli/packages/special_commands/llm.py +0 -0
  110. {mycli-2.29.4 → mycli-2.29.5}/mycli/packages/special_commands/main.py +0 -0
  111. {mycli-2.29.4 → mycli-2.29.5}/mycli/packages/special_commands/source.py +0 -0
  112. {mycli-2.29.4 → mycli-2.29.5}/mycli/packages/special_commands/special_command_utils.py +0 -0
  113. {mycli-2.29.4 → mycli-2.29.5}/mycli/packages/sql_result/__init__.py +0 -0
  114. {mycli-2.29.4 → mycli-2.29.5}/mycli/packages/sql_result/sql_result.py +0 -0
  115. {mycli-2.29.4 → mycli-2.29.5}/mycli/packages/tabular_output/__init__.py +0 -0
  116. {mycli-2.29.4 → mycli-2.29.5}/mycli/packages/tabular_output/sql_format.py +0 -0
  117. {mycli-2.29.4 → mycli-2.29.5}/mycli/packages/utils/__init__.py +0 -0
  118. {mycli-2.29.4 → mycli-2.29.5}/mycli/packages/utils/batch_utils.py +0 -0
  119. {mycli-2.29.4 → mycli-2.29.5}/mycli/packages/utils/cli_utils.py +0 -0
  120. {mycli-2.29.4 → mycli-2.29.5}/mycli/packages/utils/interactive_utils.py +0 -0
  121. {mycli-2.29.4 → mycli-2.29.5}/mycli/packages/utils/key_binding_utils.py +0 -0
  122. {mycli-2.29.4 → mycli-2.29.5}/mycli/packages/utils/keyring_utils.py +0 -0
  123. {mycli-2.29.4 → mycli-2.29.5}/mycli/packages/utils/path_utils.py +0 -0
  124. {mycli-2.29.4 → mycli-2.29.5}/mycli/packages/utils/sql_utils.py +0 -0
  125. {mycli-2.29.4 → mycli-2.29.5}/mycli/packages/utils/string_utils.py +0 -0
  126. {mycli-2.29.4 → mycli-2.29.5}/mycli/resources/completions/bash/mycli +0 -0
  127. {mycli-2.29.4 → mycli-2.29.5}/mycli/resources/completions/fish/mycli.fish +0 -0
  128. {mycli-2.29.4 → mycli-2.29.5}/mycli/resources/completions/zsh/_mycli +0 -0
  129. {mycli-2.29.4 → mycli-2.29.5}/mycli/types.py +0 -0
  130. {mycli-2.29.4 → mycli-2.29.5}/mycli.egg-info/SOURCES.txt +0 -0
  131. {mycli-2.29.4 → mycli-2.29.5}/mycli.egg-info/dependency_links.txt +0 -0
  132. {mycli-2.29.4 → mycli-2.29.5}/mycli.egg-info/entry_points.txt +0 -0
  133. {mycli-2.29.4 → mycli-2.29.5}/mycli.egg-info/scm_file_list.json +0 -0
  134. {mycli-2.29.4 → mycli-2.29.5}/mycli.egg-info/top_level.txt +0 -0
  135. {mycli-2.29.4 → mycli-2.29.5}/mycli_test/__init__.py +0 -0
  136. {mycli-2.29.4 → mycli-2.29.5}/mycli_test/features/__init__.py +0 -0
  137. {mycli-2.29.4 → mycli-2.29.5}/mycli_test/features/auto_vertical.feature +0 -0
  138. {mycli-2.29.4 → mycli-2.29.5}/mycli_test/features/basic_commands.feature +0 -0
  139. {mycli-2.29.4 → mycli-2.29.5}/mycli_test/features/connection.feature +0 -0
  140. {mycli-2.29.4 → mycli-2.29.5}/mycli_test/features/crud_database.feature +0 -0
  141. {mycli-2.29.4 → mycli-2.29.5}/mycli_test/features/crud_table.feature +0 -0
  142. {mycli-2.29.4 → mycli-2.29.5}/mycli_test/features/db_utils.py +0 -0
  143. {mycli-2.29.4 → mycli-2.29.5}/mycli_test/features/environment.py +0 -0
  144. {mycli-2.29.4 → mycli-2.29.5}/mycli_test/features/fixture_data/help_commands.txt +0 -0
  145. {mycli-2.29.4 → mycli-2.29.5}/mycli_test/features/fixture_utils.py +0 -0
  146. {mycli-2.29.4 → mycli-2.29.5}/mycli_test/features/iocommands.feature +0 -0
  147. {mycli-2.29.4 → mycli-2.29.5}/mycli_test/features/named_queries.feature +0 -0
  148. {mycli-2.29.4 → mycli-2.29.5}/mycli_test/features/specials.feature +0 -0
  149. {mycli-2.29.4 → mycli-2.29.5}/mycli_test/features/steps/__init__.py +0 -0
  150. {mycli-2.29.4 → mycli-2.29.5}/mycli_test/features/steps/auto_vertical.py +0 -0
  151. {mycli-2.29.4 → mycli-2.29.5}/mycli_test/features/steps/basic_commands.py +0 -0
  152. {mycli-2.29.4 → mycli-2.29.5}/mycli_test/features/steps/connection.py +0 -0
  153. {mycli-2.29.4 → mycli-2.29.5}/mycli_test/features/steps/crud_database.py +0 -0
  154. {mycli-2.29.4 → mycli-2.29.5}/mycli_test/features/steps/crud_table.py +0 -0
  155. {mycli-2.29.4 → mycli-2.29.5}/mycli_test/features/steps/iocommands.py +0 -0
  156. {mycli-2.29.4 → mycli-2.29.5}/mycli_test/features/steps/named_queries.py +0 -0
  157. {mycli-2.29.4 → mycli-2.29.5}/mycli_test/features/steps/specials.py +0 -0
  158. {mycli-2.29.4 → mycli-2.29.5}/mycli_test/features/steps/utils.py +0 -0
  159. {mycli-2.29.4 → mycli-2.29.5}/mycli_test/features/steps/wrappers.py +0 -0
  160. {mycli-2.29.4 → mycli-2.29.5}/mycli_test/features/wrappager.py +0 -0
  161. {mycli-2.29.4 → mycli-2.29.5}/mycli_test/myclirc +0 -0
  162. {mycli-2.29.4 → mycli-2.29.5}/mycli_test/mylogin.cnf +0 -0
  163. {mycli-2.29.4 → mycli-2.29.5}/mycli_test/pytests/conftest.py +0 -0
  164. {mycli-2.29.4 → mycli-2.29.5}/mycli_test/pytests/test_app_state.py +0 -0
  165. {mycli-2.29.4 → mycli-2.29.5}/mycli_test/pytests/test_background_runner.py +0 -0
  166. {mycli-2.29.4 → mycli-2.29.5}/mycli_test/pytests/test_bash_completion.py +0 -0
  167. {mycli-2.29.4 → mycli-2.29.5}/mycli_test/pytests/test_batch_utils.py +0 -0
  168. {mycli-2.29.4 → mycli-2.29.5}/mycli_test/pytests/test_boundary_tunnel.py +0 -0
  169. {mycli-2.29.4 → mycli-2.29.5}/mycli_test/pytests/test_checkup.py +0 -0
  170. {mycli-2.29.4 → mycli-2.29.5}/mycli_test/pytests/test_cli_runner.py +0 -0
  171. {mycli-2.29.4 → mycli-2.29.5}/mycli_test/pytests/test_cli_utils.py +0 -0
  172. {mycli-2.29.4 → mycli-2.29.5}/mycli_test/pytests/test_clibuffer.py +0 -0
  173. {mycli-2.29.4 → mycli-2.29.5}/mycli_test/pytests/test_client.py +0 -0
  174. {mycli-2.29.4 → mycli-2.29.5}/mycli_test/pytests/test_client_commands.py +0 -0
  175. {mycli-2.29.4 → mycli-2.29.5}/mycli_test/pytests/test_client_connection.py +0 -0
  176. {mycli-2.29.4 → mycli-2.29.5}/mycli_test/pytests/test_client_query.py +0 -0
  177. {mycli-2.29.4 → mycli-2.29.5}/mycli_test/pytests/test_completer_use_switch.py +0 -0
  178. {mycli-2.29.4 → mycli-2.29.5}/mycli_test/pytests/test_completion_engine.py +0 -0
  179. {mycli-2.29.4 → mycli-2.29.5}/mycli_test/pytests/test_completion_refresher.py +0 -0
  180. {mycli-2.29.4 → mycli-2.29.5}/mycli_test/pytests/test_config.py +0 -0
  181. {mycli-2.29.4 → mycli-2.29.5}/mycli_test/pytests/test_delimitercommand.py +0 -0
  182. {mycli-2.29.4 → mycli-2.29.5}/mycli_test/pytests/test_dsn_aliases.py +0 -0
  183. {mycli-2.29.4 → mycli-2.29.5}/mycli_test/pytests/test_favoritequeries.py +0 -0
  184. {mycli-2.29.4 → mycli-2.29.5}/mycli_test/pytests/test_fish_completion.py +0 -0
  185. {mycli-2.29.4 → mycli-2.29.5}/mycli_test/pytests/test_fzf.py +0 -0
  186. {mycli-2.29.4 → mycli-2.29.5}/mycli_test/pytests/test_hybrid_redirection.py +0 -0
  187. {mycli-2.29.4 → mycli-2.29.5}/mycli_test/pytests/test_interactive_utils.py +0 -0
  188. {mycli-2.29.4 → mycli-2.29.5}/mycli_test/pytests/test_key_binding_utils.py +0 -0
  189. {mycli-2.29.4 → mycli-2.29.5}/mycli_test/pytests/test_key_bindings.py +0 -0
  190. {mycli-2.29.4 → mycli-2.29.5}/mycli_test/pytests/test_keyring_utils.py +0 -0
  191. {mycli-2.29.4 → mycli-2.29.5}/mycli_test/pytests/test_kubectl_tunnel.py +0 -0
  192. {mycli-2.29.4 → mycli-2.29.5}/mycli_test/pytests/test_macos_keychain.py +0 -0
  193. {mycli-2.29.4 → mycli-2.29.5}/mycli_test/pytests/test_main.py +0 -0
  194. {mycli-2.29.4 → mycli-2.29.5}/mycli_test/pytests/test_main_modes_batch.py +0 -0
  195. {mycli-2.29.4 → mycli-2.29.5}/mycli_test/pytests/test_main_modes_execute.py +0 -0
  196. {mycli-2.29.4 → mycli-2.29.5}/mycli_test/pytests/test_main_modes_list_dsn.py +0 -0
  197. {mycli-2.29.4 → mycli-2.29.5}/mycli_test/pytests/test_main_modes_repl.py +0 -0
  198. {mycli-2.29.4 → mycli-2.29.5}/mycli_test/pytests/test_naive_completion.py +0 -0
  199. {mycli-2.29.4 → mycli-2.29.5}/mycli_test/pytests/test_output.py +0 -0
  200. {mycli-2.29.4 → mycli-2.29.5}/mycli_test/pytests/test_password_sources.py +0 -0
  201. {mycli-2.29.4 → mycli-2.29.5}/mycli_test/pytests/test_path_utils.py +0 -0
  202. {mycli-2.29.4 → mycli-2.29.5}/mycli_test/pytests/test_polars_completion.py +0 -0
  203. {mycli-2.29.4 → mycli-2.29.5}/mycli_test/pytests/test_polars_transform.py +0 -0
  204. {mycli-2.29.4 → mycli-2.29.5}/mycli_test/pytests/test_prompt_toolkit_fzf_history.py +0 -0
  205. {mycli-2.29.4 → mycli-2.29.5}/mycli_test/pytests/test_prompt_toolkit_history.py +0 -0
  206. {mycli-2.29.4 → mycli-2.29.5}/mycli_test/pytests/test_prompt_toolkit_style.py +0 -0
  207. {mycli-2.29.4 → mycli-2.29.5}/mycli_test/pytests/test_prompt_toolkit_toolbar.py +0 -0
  208. {mycli-2.29.4 → mycli-2.29.5}/mycli_test/pytests/test_prompt_toolkit_utils.py +0 -0
  209. {mycli-2.29.4 → mycli-2.29.5}/mycli_test/pytests/test_schema_prefetcher.py +0 -0
  210. {mycli-2.29.4 → mycli-2.29.5}/mycli_test/pytests/test_smart_completion_public_schema_only.py +0 -0
  211. {mycli-2.29.4 → mycli-2.29.5}/mycli_test/pytests/test_special_commands_init.py +0 -0
  212. {mycli-2.29.4 → mycli-2.29.5}/mycli_test/pytests/test_special_io_commands.py +0 -0
  213. {mycli-2.29.4 → mycli-2.29.5}/mycli_test/pytests/test_special_llm.py +0 -0
  214. {mycli-2.29.4 → mycli-2.29.5}/mycli_test/pytests/test_special_main.py +0 -0
  215. {mycli-2.29.4 → mycli-2.29.5}/mycli_test/pytests/test_special_source.py +0 -0
  216. {mycli-2.29.4 → mycli-2.29.5}/mycli_test/pytests/test_special_utils.py +0 -0
  217. {mycli-2.29.4 → mycli-2.29.5}/mycli_test/pytests/test_sql_execute.py +0 -0
  218. {mycli-2.29.4 → mycli-2.29.5}/mycli_test/pytests/test_sql_utils.py +0 -0
  219. {mycli-2.29.4 → mycli-2.29.5}/mycli_test/pytests/test_sqlcompleter.py +0 -0
  220. {mycli-2.29.4 → mycli-2.29.5}/mycli_test/pytests/test_sqlresult.py +0 -0
  221. {mycli-2.29.4 → mycli-2.29.5}/mycli_test/pytests/test_ssh_tunnel.py +0 -0
  222. {mycli-2.29.4 → mycli-2.29.5}/mycli_test/pytests/test_string_utils.py +0 -0
  223. {mycli-2.29.4 → mycli-2.29.5}/mycli_test/pytests/test_tabular_output.py +0 -0
  224. {mycli-2.29.4 → mycli-2.29.5}/mycli_test/pytests/test_vault.py +0 -0
  225. {mycli-2.29.4 → mycli-2.29.5}/mycli_test/pytests/test_zsh_completion.py +0 -0
  226. {mycli-2.29.4 → mycli-2.29.5}/mycli_test/utils.py +0 -0
  227. {mycli-2.29.4 → mycli-2.29.5}/setup.cfg +0 -0
@@ -7,7 +7,7 @@ runs:
7
7
  - name: Set up Python
8
8
  uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
9
9
  with:
10
- python-version: '3.14'
10
+ python-version: '3.15'
11
11
 
12
12
  - uses: astral-sh/setup-uv@c18668ad3cf93ea998bef934396af7bb5c839dc7 # v10.2.0
13
13
  with:
@@ -19,7 +19,7 @@ jobs:
19
19
  strategy:
20
20
  fail-fast: false
21
21
  matrix:
22
- python-version: ["3.11", "3.12", "3.13", "3.14"]
22
+ python-version: ["3.11", "3.12", "3.13", "3.14", "3.15"]
23
23
 
24
24
  steps:
25
25
  - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
@@ -61,7 +61,7 @@ jobs:
61
61
  strategy:
62
62
  fail-fast: false
63
63
  matrix:
64
- python-version: ["3.14"]
64
+ python-version: ["3.15"]
65
65
 
66
66
  steps:
67
67
  - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
@@ -111,7 +111,7 @@ jobs:
111
111
  strategy:
112
112
  fail-fast: false
113
113
  matrix:
114
- python-version: ['3.14']
114
+ python-version: ['3.15']
115
115
 
116
116
  steps:
117
117
  - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
@@ -144,7 +144,7 @@ jobs:
144
144
  uv run -- coverage report -m --sort=Miss --skip-covered --skip-empty
145
145
 
146
146
  tests-wsl:
147
- name: Tests WSL (3.14)
147
+ name: Tests WSL (3.15)
148
148
  runs-on: windows-latest
149
149
 
150
150
  steps:
@@ -175,14 +175,14 @@ jobs:
175
175
  shell: wsl-bash {0}
176
176
  run: |
177
177
  export PATH="$HOME/.local/bin:$PATH"
178
- env PYTHONPATH=/usr/local/lib/python3.14/site-packages pip install --upgrade --break-system-packages --prefix=/usr uv
178
+ env PYTHONPATH=/usr/local/lib/python3.15/site-packages pip install --upgrade --break-system-packages --prefix=/usr uv
179
179
 
180
180
  - name: Install dependencies
181
181
  shell: wsl-bash {0}
182
182
  run: |
183
183
  export PATH="$HOME/.local/bin:$PATH"
184
184
  cd /root/mycli
185
- uv sync --extra dev,llm,dataframe --python 3.14
185
+ uv sync --extra dev,llm,dataframe --python 3.15
186
186
 
187
187
  - name: Start MySQL in WSL
188
188
  shell: wsl-bash {0}
@@ -210,11 +210,11 @@ jobs:
210
210
  run: |
211
211
  export PATH="$HOME/.local/bin:$PATH"
212
212
  cd /root/mycli
213
- uv run --python 3.14 -- coverage run -m pytest
214
- uv run --python 3.14 -- coverage report -m --sort=Miss --skip-covered --skip-empty
213
+ uv run --python 3.15 -- coverage run -m pytest
214
+ uv run --python 3.15 -- coverage report -m --sort=Miss --skip-covered --skip-empty
215
215
 
216
216
  test-no-extras:
217
- name: Tests Without Extras (3.14)
217
+ name: Tests Without Extras (3.15)
218
218
  runs-on: ubuntu-26.04
219
219
 
220
220
  steps:
@@ -227,14 +227,14 @@ jobs:
227
227
  - name: Set up Python ${{ matrix.python-version }}
228
228
  uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
229
229
  with:
230
- python-version: '3.14'
230
+ python-version: '3.15'
231
231
 
232
232
  - name: Start MySQL
233
233
  run: |
234
234
  sudo systemctl start mysql
235
235
 
236
236
  - name: Install dependencies
237
- run: uv sync --extra dev -p python3.14
237
+ run: uv sync --extra dev --python python3.15
238
238
 
239
239
  - name: Wait for MySQL connection
240
240
  run: |
@@ -248,7 +248,7 @@ jobs:
248
248
  PYTEST_HOST: 127.0.0.1
249
249
  TERM: xterm
250
250
  run: |
251
- ./.venv/bin/tox -e py3.14
251
+ ./.venv/bin/tox -e py3.15
252
252
 
253
253
  docker-x86-build:
254
254
  name: Build x86 Docker Image
@@ -47,7 +47,7 @@ jobs:
47
47
  needs: [typecheck]
48
48
  strategy:
49
49
  matrix:
50
- python-version: ["3.11", "3.12", "3.13", "3.14"]
50
+ python-version: ["3.11", "3.12", "3.13", "3.14", "3.15"]
51
51
 
52
52
  steps:
53
53
  - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
@@ -65,7 +65,7 @@ jobs:
65
65
  sudo systemctl start mysql
66
66
 
67
67
  - name: Install dependencies
68
- run: uv sync --extra dev,llm,dataframe -p ${{ matrix.python-version }}
68
+ run: uv sync --extra dev,llm,dataframe --python ${{ matrix.python-version }}
69
69
 
70
70
  - name: Wait for MySQL connection
71
71
  run: |
@@ -88,7 +88,7 @@ jobs:
88
88
  strategy:
89
89
  fail-fast: false
90
90
  matrix:
91
- python-version: ["3.14"]
91
+ python-version: ["3.15"]
92
92
 
93
93
  steps:
94
94
  - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
@@ -111,7 +111,7 @@ jobs:
111
111
  brew services start mysql
112
112
 
113
113
  - name: Install dependencies
114
- run: uv sync --extra dev,llm,dataframe -p ${{ matrix.python-version }}
114
+ run: uv sync --extra dev,llm,dataframe --python ${{ matrix.python-version }}
115
115
 
116
116
  - name: Wait for MySQL connection
117
117
  run: |
@@ -139,7 +139,7 @@ jobs:
139
139
  strategy:
140
140
  fail-fast: false
141
141
  matrix:
142
- python-version: ['3.14']
142
+ python-version: ['3.15']
143
143
 
144
144
  steps:
145
145
  - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
@@ -155,7 +155,7 @@ jobs:
155
155
 
156
156
  - name: Install dependencies
157
157
  shell: cmd
158
- run: uv sync --extra dev,llm,dataframe -p ${{ matrix.python-version }}
158
+ run: uv sync --extra dev,llm,dataframe --python ${{ matrix.python-version }}
159
159
 
160
160
  - name: Set up MySQL
161
161
  uses: shogo82148/actions-setup-mysql@1d4ebc60ba1227dd13fc7e6ba845bd3997928d75 # v1.54.2
@@ -204,14 +204,14 @@ jobs:
204
204
  shell: wsl-bash {0}
205
205
  run: |
206
206
  export PATH="$HOME/.local/bin:$PATH"
207
- env PYTHONPATH=/usr/local/lib/python3.14/site-packages pip install --upgrade --break-system-packages --prefix=/usr uv
207
+ env PYTHONPATH=/usr/local/lib/python3.15/site-packages pip install --upgrade --break-system-packages --prefix=/usr uv
208
208
 
209
209
  - name: Install dependencies
210
210
  shell: wsl-bash {0}
211
211
  run: |
212
212
  export PATH="$HOME/.local/bin:$PATH"
213
213
  cd /root/mycli
214
- uv sync --extra dev,llm,dataframe --python 3.14
214
+ uv sync --extra dev,llm,dataframe --python 3.15
215
215
 
216
216
  - name: Start MySQL in WSL
217
217
  shell: wsl-bash {0}
@@ -239,8 +239,8 @@ jobs:
239
239
  run: |
240
240
  export PATH="$HOME/.local/bin:$PATH"
241
241
  cd /root/mycli
242
- uv run --python 3.14 -- coverage run -m pytest
243
- uv run --python 3.14 -- coverage report -m --sort=Miss --skip-covered --skip-empty
242
+ uv run --python 3.15 -- coverage run -m pytest
243
+ uv run --python 3.15 -- coverage report -m --sort=Miss --skip-covered --skip-empty
244
244
 
245
245
  build:
246
246
  runs-on: ubuntu-26.04
@@ -255,16 +255,16 @@ jobs:
255
255
  - name: Set up Python
256
256
  uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
257
257
  with:
258
- python-version: '3.14'
258
+ python-version: '3.15'
259
259
 
260
260
  - name: Install dependencies
261
- run: uv sync --extra llm,dataframe -p 3.14
261
+ run: uv sync --extra llm,dataframe --python 3.15
262
262
 
263
263
  - name: Build
264
264
  run: uv build
265
265
 
266
266
  - name: Store the distribution packages
267
- uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
267
+ uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2
268
268
  with:
269
269
  name: python-packages
270
270
  path: dist/
@@ -279,7 +279,7 @@ jobs:
279
279
  id-token: write
280
280
  steps:
281
281
  - name: Download distribution packages
282
- uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
282
+ uses: actions/download-artifact@9000827ccba6bdab643e8b6fd33ac0654aef8333 # v8.0.2
283
283
  with:
284
284
  name: python-packages
285
285
  path: dist/
@@ -105,7 +105,7 @@ To run the full test suite, execute `env -u PYTHONPATH uv run -- tox`.
105
105
 
106
106
  #### Python Compatibility
107
107
 
108
- Use Python features available from Python 3.11 through Python 3.14.
108
+ Use Python features available from Python 3.11 through Python 3.15.
109
109
  Compatibility with Python 3.9 is not needed. Compatibility with Python
110
110
  3.10 is not needed.
111
111
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mycli
3
- Version: 2.29.4
3
+ Version: 2.29.5
4
4
  Summary: Rich MySQL terminal client with autocompletion, syntax highlighting, and dataframes
5
5
  Author: Mycli Core Team
6
6
  License-Expression: BSD-3-Clause
@@ -30,27 +30,27 @@ License-File: LICENSE.txt
30
30
  License-File: AUTHORS.md
31
31
  Requires-Dist: click~=8.5.0
32
32
  Requires-Dist: clickdc~=0.1.1
33
- Requires-Dist: cryptography~=50.0.1
33
+ Requires-Dist: cryptography~=50.0.2
34
34
  Requires-Dist: Pygments~=2.21.0
35
35
  Requires-Dist: prompt_toolkit~=3.0.53
36
36
  Requires-Dist: PyMySQL~=1.2.3
37
37
  Requires-Dist: sqlparse~=0.6.0
38
- Requires-Dist: sqlglot~=30.17.0
39
- Requires-Dist: sqlglotc~=30.17.0
38
+ Requires-Dist: sqlglot~=30.23.0
39
+ Requires-Dist: sqlglotc~=30.23.0
40
40
  Requires-Dist: configobj~=5.0.9
41
41
  Requires-Dist: cli_helpers[styles]~=2.15.1
42
- Requires-Dist: wcwidth~=0.9.1
42
+ Requires-Dist: wcwidth~=0.9.2
43
43
  Requires-Dist: pyperclip~=1.11.0
44
- Requires-Dist: pycryptodomex~=3.23.0
44
+ Requires-Dist: pycryptodomex~=3.24.0
45
45
  Requires-Dist: rapidfuzz~=3.14.6
46
46
  Requires-Dist: keyring~=25.7.0
47
47
  Requires-Dist: jinja2~=3.1.6
48
+ Requires-Dist: markupsafe~=3.0.4
48
49
  Requires-Dist: yaspin~=3.5.1
49
50
  Provides-Extra: llm
50
51
  Requires-Dist: llm~=0.36; extra == "llm"
51
52
  Requires-Dist: setuptools==84.*; extra == "llm"
52
53
  Requires-Dist: pip~=26.2.1; extra == "llm"
53
- Requires-Dist: httpx2~=2.13.1; extra == "llm"
54
54
  Provides-Extra: dataframe
55
55
  Requires-Dist: polars~=2.0.0; extra == "dataframe"
56
56
  Requires-Dist: altair~=6.3.0; extra == "dataframe"
@@ -59,16 +59,15 @@ Provides-Extra: all
59
59
  Requires-Dist: mycli[dataframe,llm]; extra == "all"
60
60
  Provides-Extra: dev
61
61
  Requires-Dist: behave~=1.3.3; extra == "dev"
62
- Requires-Dist: coverage~=7.15.4; extra == "dev"
63
- Requires-Dist: mypy~=2.3.1; extra == "dev"
62
+ Requires-Dist: coverage~=7.16.2; extra == "dev"
63
+ Requires-Dist: mypy~=2.4.0; extra == "dev"
64
64
  Requires-Dist: pexpect~=4.9.0; extra == "dev"
65
65
  Requires-Dist: pytest~=9.1.1; extra == "dev"
66
66
  Requires-Dist: pytest-cov~=7.1.0; extra == "dev"
67
67
  Requires-Dist: pytest-random-order~=1.2.0; extra == "dev"
68
- Requires-Dist: tox~=4.35.0; extra == "dev"
69
- Requires-Dist: pdbpp~=0.11.7; extra == "dev"
68
+ Requires-Dist: tox~=4.64.9; extra == "dev"
69
+ Requires-Dist: pdbpp~=0.12.1; extra == "dev"
70
70
  Requires-Dist: ruff~=0.16.5; extra == "dev"
71
- Requires-Dist: virtualenv~=21.7.12; extra == "dev"
72
71
  Dynamic: license-file
73
72
 
74
73
  # mycli
@@ -1,3 +1,24 @@
1
+ v2.29.5 (2026/10/15)
2
+ ==============
3
+
4
+ Internal
5
+ --------
6
+ * Lazy import compatibility with `ruff` v0.17.0.
7
+ * Upgrade `pycryptodomex` to v3.24.0.
8
+ * Upgrade `cryptography` to v50.0.2.
9
+ * Pin `markupsafe` to v3.0.4.
10
+ * Upgrade `wcwidth` to v0.9.2.
11
+ * Remove temporary dependency settings in `pyproject.toml`.
12
+ * Upgrade `sqlglot` to v30.23.0.
13
+ * Add Python 3.15 to CI.
14
+ * Switch to Python 3.15 by default in CI.
15
+ * Switch to Python 3.15 in Dockerfile.
16
+ * Upgrade `mypy` to v2.4.0.
17
+ * Upgrade `tox` to v4.64.9.
18
+ * Upgrade `coverage` to v7.16.2.
19
+ * Upgrade `pdbpp` to v0.12.1.
20
+
21
+
1
22
  v2.29.4 (2026/10/11)
2
23
  ==============
3
24
 
@@ -1,4 +1,4 @@
1
- FROM python:3.14
1
+ FROM python:3.15
2
2
 
3
3
  ENV DEBIAN_FRONTEND=noninteractive
4
4
 
@@ -1,4 +1,4 @@
1
1
  [diffend] Oversized file quarantined before diffing.
2
- name: mycli-2.29.4/docker/resources/test_db-1.0.7.tar.gz
2
+ name: mycli-2.29.5/docker/resources/test_db-1.0.7.tar.gz
3
3
  size: 35607473 bytes
4
4
  sha256: c44c140f352f35d47fdb65df60f52b779ef552822fad6c4efcfa7b134c3faf84
@@ -2,9 +2,7 @@ from __future__ import annotations
2
2
 
3
3
  __lazy_modules__ = [
4
4
  'io',
5
- 're',
6
5
  'sys',
7
- 'typing',
8
6
  'urllib.parse',
9
7
  'click',
10
8
  'mycli.config',
@@ -14,10 +12,10 @@ __lazy_modules__ = [
14
12
  'mycli.main_modes.completions',
15
13
  'mycli.main_modes.execute',
16
14
  'mycli.main_modes.list_dsn',
17
- 'mycli.packages.special_commands.dsn_aliases',
18
- 'mycli.packages.utils.cli_utils',
19
15
  'mycli.packages.credentials.password_sources',
20
16
  'mycli.packages.integrations.vault.vault_credentials',
17
+ 'mycli.packages.special_commands.dsn_aliases',
18
+ 'mycli.packages.utils.cli_utils',
21
19
  ]
22
20
 
23
21
  import os
@@ -1,17 +1,13 @@
1
1
  from __future__ import annotations
2
2
 
3
3
  __lazy_modules__ = [
4
- 'dataclasses',
5
4
  'io',
5
+ 'os',
6
6
  'sys',
7
- 'textwrap',
8
7
  'typing',
9
- 'click',
10
- 'clickdc',
11
- 'mycli',
8
+ # 'mycli', # todo: needed eagerly only for __version__
12
9
  'mycli.cli_runner',
13
10
  'mycli.client',
14
- 'mycli.constants',
15
11
  'mycli.packages.utils.cli_utils',
16
12
  ]
17
13
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mycli
3
- Version: 2.29.4
3
+ Version: 2.29.5
4
4
  Summary: Rich MySQL terminal client with autocompletion, syntax highlighting, and dataframes
5
5
  Author: Mycli Core Team
6
6
  License-Expression: BSD-3-Clause
@@ -30,27 +30,27 @@ License-File: LICENSE.txt
30
30
  License-File: AUTHORS.md
31
31
  Requires-Dist: click~=8.5.0
32
32
  Requires-Dist: clickdc~=0.1.1
33
- Requires-Dist: cryptography~=50.0.1
33
+ Requires-Dist: cryptography~=50.0.2
34
34
  Requires-Dist: Pygments~=2.21.0
35
35
  Requires-Dist: prompt_toolkit~=3.0.53
36
36
  Requires-Dist: PyMySQL~=1.2.3
37
37
  Requires-Dist: sqlparse~=0.6.0
38
- Requires-Dist: sqlglot~=30.17.0
39
- Requires-Dist: sqlglotc~=30.17.0
38
+ Requires-Dist: sqlglot~=30.23.0
39
+ Requires-Dist: sqlglotc~=30.23.0
40
40
  Requires-Dist: configobj~=5.0.9
41
41
  Requires-Dist: cli_helpers[styles]~=2.15.1
42
- Requires-Dist: wcwidth~=0.9.1
42
+ Requires-Dist: wcwidth~=0.9.2
43
43
  Requires-Dist: pyperclip~=1.11.0
44
- Requires-Dist: pycryptodomex~=3.23.0
44
+ Requires-Dist: pycryptodomex~=3.24.0
45
45
  Requires-Dist: rapidfuzz~=3.14.6
46
46
  Requires-Dist: keyring~=25.7.0
47
47
  Requires-Dist: jinja2~=3.1.6
48
+ Requires-Dist: markupsafe~=3.0.4
48
49
  Requires-Dist: yaspin~=3.5.1
49
50
  Provides-Extra: llm
50
51
  Requires-Dist: llm~=0.36; extra == "llm"
51
52
  Requires-Dist: setuptools==84.*; extra == "llm"
52
53
  Requires-Dist: pip~=26.2.1; extra == "llm"
53
- Requires-Dist: httpx2~=2.13.1; extra == "llm"
54
54
  Provides-Extra: dataframe
55
55
  Requires-Dist: polars~=2.0.0; extra == "dataframe"
56
56
  Requires-Dist: altair~=6.3.0; extra == "dataframe"
@@ -59,16 +59,15 @@ Provides-Extra: all
59
59
  Requires-Dist: mycli[dataframe,llm]; extra == "all"
60
60
  Provides-Extra: dev
61
61
  Requires-Dist: behave~=1.3.3; extra == "dev"
62
- Requires-Dist: coverage~=7.15.4; extra == "dev"
63
- Requires-Dist: mypy~=2.3.1; extra == "dev"
62
+ Requires-Dist: coverage~=7.16.2; extra == "dev"
63
+ Requires-Dist: mypy~=2.4.0; extra == "dev"
64
64
  Requires-Dist: pexpect~=4.9.0; extra == "dev"
65
65
  Requires-Dist: pytest~=9.1.1; extra == "dev"
66
66
  Requires-Dist: pytest-cov~=7.1.0; extra == "dev"
67
67
  Requires-Dist: pytest-random-order~=1.2.0; extra == "dev"
68
- Requires-Dist: tox~=4.35.0; extra == "dev"
69
- Requires-Dist: pdbpp~=0.11.7; extra == "dev"
68
+ Requires-Dist: tox~=4.64.9; extra == "dev"
69
+ Requires-Dist: pdbpp~=0.12.1; extra == "dev"
70
70
  Requires-Dist: ruff~=0.16.5; extra == "dev"
71
- Requires-Dist: virtualenv~=21.7.12; extra == "dev"
72
71
  Dynamic: license-file
73
72
 
74
73
  # mycli
@@ -1,20 +1,21 @@
1
1
  click~=8.5.0
2
2
  clickdc~=0.1.1
3
- cryptography~=50.0.1
3
+ cryptography~=50.0.2
4
4
  Pygments~=2.21.0
5
5
  prompt_toolkit~=3.0.53
6
6
  PyMySQL~=1.2.3
7
7
  sqlparse~=0.6.0
8
- sqlglot~=30.17.0
9
- sqlglotc~=30.17.0
8
+ sqlglot~=30.23.0
9
+ sqlglotc~=30.23.0
10
10
  configobj~=5.0.9
11
11
  cli_helpers[styles]~=2.15.1
12
- wcwidth~=0.9.1
12
+ wcwidth~=0.9.2
13
13
  pyperclip~=1.11.0
14
- pycryptodomex~=3.23.0
14
+ pycryptodomex~=3.24.0
15
15
  rapidfuzz~=3.14.6
16
16
  keyring~=25.7.0
17
17
  jinja2~=3.1.6
18
+ markupsafe~=3.0.4
18
19
  yaspin~=3.5.1
19
20
 
20
21
  [all]
@@ -27,19 +28,17 @@ vl-convert-python~=1.9.0
27
28
 
28
29
  [dev]
29
30
  behave~=1.3.3
30
- coverage~=7.15.4
31
- mypy~=2.3.1
31
+ coverage~=7.16.2
32
+ mypy~=2.4.0
32
33
  pexpect~=4.9.0
33
34
  pytest~=9.1.1
34
35
  pytest-cov~=7.1.0
35
36
  pytest-random-order~=1.2.0
36
- tox~=4.35.0
37
- pdbpp~=0.11.7
37
+ tox~=4.64.9
38
+ pdbpp~=0.12.1
38
39
  ruff~=0.16.5
39
- virtualenv~=21.7.12
40
40
 
41
41
  [llm]
42
42
  llm~=0.36
43
43
  setuptools==84.*
44
44
  pip~=26.2.1
45
- httpx2~=2.13.1
@@ -0,0 +1,8 @@
1
+ {
2
+ "tag": "2.29.5",
3
+ "distance": 0,
4
+ "node": "g6990bf907ece497a2acb0a5b6611bc8de78f7975",
5
+ "dirty": false,
6
+ "branch": "HEAD",
7
+ "node_date": "2026-10-15"
8
+ }
@@ -228,7 +228,7 @@ def test_ping_command_registration() -> None:
228
228
  def test_status_uses_global_queries_decodes_bytes_and_formats_stats(monkeypatch) -> None:
229
229
  monkeypatch.setattr(db_commands, '__version__', '9.9.9')
230
230
  monkeypatch.setattr(db_commands.platform, 'python_implementation', lambda: 'CPython')
231
- monkeypatch.setattr(db_commands.platform, 'python_version', lambda: '3.14.0')
231
+ monkeypatch.setattr(db_commands.platform, 'python_version', lambda: '3.15.0')
232
232
  monkeypatch.setattr(db_commands.io_commands, 'is_pager_enabled', lambda: True)
233
233
  monkeypatch.setattr(db_commands, 'get_ssl_cipher', lambda cur: 'TLS_AES_256_GCM_SHA384')
234
234
  monkeypatch.setattr(db_commands, 'get_ssl_version', lambda cur: 'TLSv1.3')
@@ -273,7 +273,7 @@ def test_status_uses_global_queries_decodes_bytes_and_formats_stats(monkeypatch)
273
273
 
274
274
  result = status(cursor)[0]
275
275
 
276
- assert 'mycli 9.9.9 running on CPython 3.14.0' in result.preamble
276
+ assert 'mycli 9.9.9 running on CPython 3.15.0' in result.preamble
277
277
  assert ('Connection id:', 42) in result.rows
278
278
  assert ('Current database:', 'test_db') in result.rows
279
279
  assert ('Current user:', 'test_user') in result.rows
@@ -349,7 +349,7 @@ def test_status_uses_system_default_pager_when_enabled_without_env(monkeypatch)
349
349
  monkeypatch.setattr(db_commands.io_commands, 'is_pager_enabled', lambda: True)
350
350
  monkeypatch.setattr(db_commands, 'get_ssl_version', lambda cur: 'TLS')
351
351
  monkeypatch.setattr(db_commands.platform, 'python_implementation', lambda: 'CPython')
352
- monkeypatch.setattr(db_commands.platform, 'python_version', lambda: '3.14.0')
352
+ monkeypatch.setattr(db_commands.platform, 'python_version', lambda: '3.15.0')
353
353
  monkeypatch.delenv('PAGER', raising=False)
354
354
 
355
355
  cursor = FakeCursor(
@@ -27,21 +27,22 @@ classifiers = [
27
27
  dependencies = [
28
28
  "click ~= 8.5.0",
29
29
  "clickdc ~= 0.1.1",
30
- "cryptography ~= 50.0.1",
30
+ "cryptography ~= 50.0.2",
31
31
  "Pygments ~= 2.21.0",
32
32
  "prompt_toolkit ~= 3.0.53",
33
33
  "PyMySQL ~= 1.2.3",
34
34
  "sqlparse ~= 0.6.0",
35
- "sqlglot ~= 30.17.0",
36
- "sqlglotc ~= 30.17.0",
35
+ "sqlglot ~= 30.23.0",
36
+ "sqlglotc ~= 30.23.0",
37
37
  "configobj ~= 5.0.9",
38
38
  "cli_helpers[styles] ~= 2.15.1",
39
- "wcwidth ~= 0.9.1",
39
+ "wcwidth ~= 0.9.2",
40
40
  "pyperclip ~= 1.11.0",
41
- "pycryptodomex ~= 3.23.0",
41
+ "pycryptodomex ~= 3.24.0",
42
42
  "rapidfuzz ~= 3.14.6",
43
43
  "keyring ~= 25.7.0",
44
44
  "jinja2 ~= 3.1.6",
45
+ "markupsafe ~= 3.0.4", # removeme: transitive dependency forced for binary 3.15 wheel
45
46
  "yaspin ~= 3.5.1",
46
47
  ]
47
48
 
@@ -64,7 +65,6 @@ llm = [
64
65
  "llm ~= 0.36",
65
66
  "setuptools == 84.*", # Required by llm commands to install models
66
67
  "pip ~= 26.2.1",
67
- "httpx2 ~= 2.13.1", # transitive dependency forced for "uv audit"
68
68
  ]
69
69
  dataframe = [
70
70
  "polars ~= 2.0.0",
@@ -76,16 +76,15 @@ all = [
76
76
  ]
77
77
  dev = [
78
78
  "behave ~= 1.3.3",
79
- "coverage ~= 7.15.4",
80
- "mypy ~= 2.3.1",
79
+ "coverage ~= 7.16.2",
80
+ "mypy ~= 2.4.0",
81
81
  "pexpect ~= 4.9.0",
82
82
  "pytest ~= 9.1.1",
83
83
  "pytest-cov ~= 7.1.0",
84
84
  "pytest-random-order ~= 1.2.0",
85
- "tox ~= 4.35.0",
86
- "pdbpp ~= 0.11.7",
85
+ "tox ~= 4.64.9",
86
+ "pdbpp ~= 0.12.1",
87
87
  "ruff ~= 0.16.5", # keep in sync with the tool.tox.env.style stanza below
88
- "virtualenv ~= 21.7.12", # transitive dependency forced for "uv audit"
89
88
  ]
90
89
 
91
90
  [project.scripts]
@@ -102,8 +101,8 @@ exclude-newer = '1 week'
102
101
 
103
102
  [tool.uv.exclude-newer-package]
104
103
  cli_helpers = false
105
- polars = false # temporary to get Polars 2.x, remove 1 week after 2026-10-06T11:44:04.327Z
106
- polars-runtime-32 = false # temporary to get Polars 2.x, remove 1 week after 2026-10-06T11:44:04.327Z
104
+ sqlglot = false # removeme after 2026-10-22
105
+ sqlglotc = false # removeme after 2026-10-22
107
106
 
108
107
  [tool.ruff]
109
108
  target-version = 'py311'
@@ -1,8 +0,0 @@
1
- {
2
- "tag": "2.29.4",
3
- "distance": 0,
4
- "node": "gf39a35565f90b421038958642daae1b8ce8f2c5c",
5
- "dirty": false,
6
- "branch": "HEAD",
7
- "node_date": "2026-10-11"
8
- }
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes