{"id":16713321,"url":"https://github.com/ro5bert/pycmds","last_synced_at":"2025-03-15T05:20:57.178Z","repository":{"id":57455783,"uuid":"147024949","full_name":"Ro5bert/pycmds","owner":"Ro5bert","description":"Wrapper around Click python library","archived":false,"fork":false,"pushed_at":"2018-09-13T14:58:14.000Z","size":39,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-25T23:35:34.393Z","etag":null,"topics":["command","prompt-toolkit","python-click","python3"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Ro5bert.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-09-01T19:01:57.000Z","updated_at":"2020-09-02T21:32:19.000Z","dependencies_parsed_at":"2022-09-05T20:00:26.629Z","dependency_job_id":null,"html_url":"https://github.com/Ro5bert/pycmds","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ro5bert%2Fpycmds","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ro5bert%2Fpycmds/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ro5bert%2Fpycmds/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ro5bert%2Fpycmds/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Ro5bert","download_url":"https://codeload.github.com/Ro5bert/pycmds/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243686588,"owners_count":20331174,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["command","prompt-toolkit","python-click","python3"],"created_at":"2024-10-12T20:46:29.182Z","updated_at":"2025-03-15T05:20:57.158Z","avatar_url":"https://github.com/Ro5bert.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"PyCmds\n======\n\nA wrapper around the `Click \u003chttp://click.pocoo.org/5/\u003e`_\nlibrary for Python. PyCmds makes it easier to use Click's command execution\nframework independently of the command line (i.e. executing Click\n``Command``\\s in an existing Python instance.)\n\nTo accompany this, PyCmds adds a ``CmdCompleter`` class which implements the\n``Completer`` interface from the\n`python-prompt-toolkit \u003chttps://github.com/jonathanslenders/python-prompt-toolkit\u003e`_.\nUsing this class, one may create a python-prompt-toolkit interface with\nintelligent (see below) autocompletion for Click ``Command``\\s and ``Option``\\s.\n\nAlso, PyCmds adds an ``AliasGroup`` class to allow the assignment of aliases\nto Click ``Command``\\s.\n\n``CmdCompleter`` Features\n-------------------------\n\n- Only displays completion menu when the completer is certain of what\n  options or subcommands are valid. (E.g. no naive option or subcommand\n  suggestions when Click is expecting a value for a previous option.)\n- Considers ``click.Option.is_flag`` and ``click.Parameter.nargs`` to\n  decide how many values a option should consume.\n- Considers ``click.Option.count`` and ``click.Option.multiple`` to decide\n  if more than one instance of the same option should be permitted.\n- Smart autocompletion for grouped short flags with or without a value\n  clustered on the end.\n\nImportant Notes About ``CmdCompleter``\n--------------------------------------\n\n- Designed primarily for POSIX-style options.\n- Only context settings specified on the root/top-level ``Command`` will\n  be considered (by necessity).\n- Incompatible with ``click.Context.allow_interspersed_args``.\n- Incompatible with ``click.Context.ignore_unknown_opts``.\n- Incompatible with ``click.MultiCommand.chain``.\n- The split character for parameters with nargs \u003e 1 is expected to be a\n  space.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fro5bert%2Fpycmds","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fro5bert%2Fpycmds","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fro5bert%2Fpycmds/lists"}