{"id":13440365,"url":"https://github.com/dbcli/mycli","last_synced_at":"2026-03-07T14:03:21.100Z","repository":{"id":29911809,"uuid":"33457642","full_name":"dbcli/mycli","owner":"dbcli","description":"A Terminal Client for MySQL with AutoCompletion and Syntax Highlighting.","archived":false,"fork":false,"pushed_at":"2026-03-03T09:48:41.000Z","size":3639,"stargazers_count":11879,"open_issues_count":17,"forks_count":683,"subscribers_count":174,"default_branch":"main","last_synced_at":"2026-03-03T12:59:14.137Z","etag":null,"topics":["auto-completion","database","mycli","mysql","python","syntax-highlighting"],"latest_commit_sha":null,"homepage":"http://mycli.net","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dbcli.png","metadata":{"files":{"readme":"README.md","changelog":"changelog.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS.rst","dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2015-04-05T22:39:49.000Z","updated_at":"2026-03-03T09:47:57.000Z","dependencies_parsed_at":"2026-01-03T06:08:45.316Z","dependency_job_id":null,"html_url":"https://github.com/dbcli/mycli","commit_stats":{"total_commits":1358,"total_committers":118,"mean_commits":"11.508474576271187","dds":0.7628865979381443,"last_synced_commit":"af5a17d980450e184cfc25e56e0e91a1389d378d"},"previous_names":[],"tags_count":105,"template":false,"template_full_name":null,"purl":"pkg:github/dbcli/mycli","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dbcli%2Fmycli","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dbcli%2Fmycli/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dbcli%2Fmycli/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dbcli%2Fmycli/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dbcli","download_url":"https://codeload.github.com/dbcli/mycli/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dbcli%2Fmycli/sbom","scorecard":{"id":328818,"data":{"date":"2025-08-11","repo":{"name":"github.com/dbcli/mycli","commit":"f7c8da8e6d4cb67e660b94ec1d40a038ef2eb075"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":6,"checks":[{"name":"Code-Review","score":8,"reason":"Found 4/5 approved changesets -- score normalized to 8","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 1 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/ci.yml:1","Warn: no topLevel permission defined: .github/workflows/lint.yml:1","Info: topLevel 'contents' permission set to 'read': .github/workflows/publish.yml:8","Warn: no topLevel permission defined: .github/workflows/typecheck.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Pinned-Dependencies","score":10,"reason":"all dependencies are pinned","details":["Info:  13 out of  13 GitHub-owned GitHubAction dependencies pinned","Info:   8 out of   8 third-party GitHubAction dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: LICENSE.txt:0","Warn: project license file does not contain an FSF or OSI license."],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'main'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Packaging","score":10,"reason":"packaging workflow detected","details":["Info: Project packages its releases by way of GitHub Actions.: .github/workflows/publish.yml:80"],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 30 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-18T03:06:44.410Z","repository_id":29911809,"created_at":"2025-08-18T03:06:44.410Z","updated_at":"2025-08-18T03:06:44.410Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30048370,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-03T10:53:31.691Z","status":"ssl_error","status_checked_at":"2026-03-03T10:53:22.041Z","response_time":61,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["auto-completion","database","mycli","mysql","python","syntax-highlighting"],"created_at":"2024-07-31T03:01:22.105Z","updated_at":"2026-03-07T14:03:21.082Z","avatar_url":"https://github.com/dbcli.png","language":"Python","readme":"# mycli\n\n[![Build Status](https://github.com/dbcli/mycli/workflows/mycli/badge.svg)](https://github.com/dbcli/mycli/actions?query=workflow%3Amycli)\n\nA command line client for MySQL that can do auto-completion and syntax highlighting.\n\nHomepage: [http://mycli.net](http://mycli.net)\nDocumentation: [http://mycli.net/docs](http://mycli.net/docs)\n\n![Completion](screenshots/tables.png)\n![CompletionGif](screenshots/main.gif)\n\nPostgres Equivalent: [http://pgcli.com](http://pgcli.com)\n\nQuick Start\n-----------\n\nIf you already know how to install Python packages, then you can install it via `pip`:\n\nYou might need sudo on Linux.\n\n```bash\npip install -U 'mycli[all]'\n```\n\nor\n\n```bash\nbrew update \u0026\u0026 brew install mycli  # Only on macOS\n```\n\nor\n\n```bash\nsudo apt-get install mycli  # Only on Debian or Ubuntu\n```\n\n### Usage\n\nSee\n\n```bash\nmycli --help\n```\n\nFeatures\n--------\n\n`mycli` is written using [prompt_toolkit](https://github.com/jonathanslenders/python-prompt-toolkit/).\n\n* Auto-completion as you type for SQL keywords as well as tables, views and\n  columns in the database.\n* Fuzzy history search using [fzf](https://github.com/junegunn/fzf).\n* Syntax highlighting using Pygments.\n* Smart-completion (enabled by default) will suggest context-sensitive completion.\n    - `SELECT * FROM \u003ctab\u003e` will only show table names.\n    - `SELECT * FROM users WHERE \u003ctab\u003e` will only show column names.\n* Support for multiline queries.\n* Favorite queries with optional positional parameters. Save a query using\n  `\\fs \u003calias\u003e \u003cquery\u003e` and execute it with `\\f \u003calias\u003e`.\n* Timing of sql statements and table rendering.\n* Log every query and its results to a file (disabled by default).\n* Pretty print tabular data (with colors!).\n* Support for SSL connections\n* Shell-style trailing redirects with `$\u003e`, `$\u003e\u003e` and `$|` operators.\n* Support for querying LLMs with context derived from your schema.\n* Support for storing passwords in the system keyring.\n\nMycli creates a config file `~/.myclirc` on first run; you can use the\noptions in that file to configure the above features, and more.\n\nSome features are only exposed as [key bindings](doc/key_bindings.rst).\n\nContributions:\n--------------\n\nIf you're interested in contributing to this project, first of all I would like\nto extend my heartfelt gratitude. I've written a small doc to describe how to\nget this running in a development setup.\n\nhttps://github.com/dbcli/mycli/blob/main/CONTRIBUTING.md\n\n\n## Additional Install Instructions:\n\nThese are some alternative ways to install mycli that are not managed by our team but provided by OS package maintainers. These packages could be slightly out of date and take time to release the latest version.\n\n### Arch, Manjaro\n\nYou can install the mycli package available in the AUR:\n\n```\nyay -S mycli\n```\n\n### Debian, Ubuntu\n\nOn Debian, Ubuntu distributions, you can easily install the mycli package using apt:\n\n```\nsudo apt-get install mycli\n```\n\n### Fedora\n\nFedora has a package available for mycli, install it using dnf:\n\n```\nsudo dnf install mycli\n```\n\n### Windows\n\n#### Option 1: Native Windows\n\nInstall the `less` pager, for example by `scoop install less`.\n\nFollow the instructions on this blogpost: http://web.archive.org/web/20221006045208/https://www.codewall.co.uk/installing-using-mycli-on-windows/\n\n**Mycli is not tested on Windows**, but the libraries used in the app are Windows-compatible.\nThis means it should work without any modifications, but isn't supported.\n\nPRs to add native Windows testing to Mycli CI would be welcome!\n\n#### Option 2: WSL\n\nEverything should work as expected in WSL.  This is a good option for using\nMycli on Windows.\n\n\n### Thanks:\n\nThis project was funded through kickstarter. My thanks to the [backers](http://mycli.net/sponsors) who supported the project.\n\nA special thanks to [Jonathan Slenders](https://twitter.com/jonathan_s) for\ncreating [Python Prompt Toolkit](http://github.com/jonathanslenders/python-prompt-toolkit),\nwhich is quite literally the backbone library, that made this app possible.\nJonathan has also provided valuable feedback and support during the development\nof this app.\n\n[Click](http://click.pocoo.org/) is used for command line option parsing\nand printing error messages.\n\nThanks to [PyMysql](https://github.com/PyMySQL/PyMySQL) for a pure python adapter to MySQL database.\n\n\n### Compatibility\n\nMycli is tested on macOS and Linux, and requires Python 3.10 or better.\n\nTo connect to MySQL versions earlier than 5.5, you may need to set the following in `~/.myclirc`:\n\n```\n# character set for connections without --charset being set at the CLI\ndefault_character_set = utf8\n```\n\nor set `--charset=utf8` when invoking MyCLI.\n\n### Configuration and Usage\n\nFor more information on using and configuring mycli, [check out our documentation](http://mycli.net/docs).\n\nCommon topics include:\n- [Configuring mycli](http://mycli.net/config)\n- [Using/Disabling the pager](http://mycli.net/pager)\n- [Syntax colors](http://mycli.net/syntax)\n","funding_links":[],"categories":["Python","HarmonyOS","Command-line Tools","Development","资源列表","Uncategorized","Applications","开发者工具","命令行工具","Database","Database Tools","\u003ca id=\"tag-dev\" href=\"#tag-dev\"\u003eDev\u003c/a\u003e","目录","Python (1887)","CLI Tools","Command Line Tools","Tools","GUI","应用","语言资源库","Command-line Tools [🔝](#readme)","Developer Tools","\u003ca name=\"data-management-tabular\"\u003e\u003c/a\u003eData management - Tabular data","Other","Awesome Python","Linux生态圈Dev\u0026Ops工具与服务","CLI"],"sub_categories":["Windows Manager","Database","命令行工具","Uncategorized","Development","Learning Resources","\u003ca id=\"tag-dev.storage\" href=\"#tag-dev.storage\"\u003eStorage\u003c/a\u003e","Test Tools","Python","开发","python","Command Line Tools","IDE","Command-line Tools","dbcli"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdbcli%2Fmycli","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdbcli%2Fmycli","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdbcli%2Fmycli/lists"}