{"id":16804086,"url":"https://github.com/rf-tar-railt/cli-lite","last_synced_at":"2025-04-05T09:16:27.494Z","repository":{"id":46586847,"uuid":"512821162","full_name":"RF-Tar-Railt/cli-lite","owner":"RF-Tar-Railt","description":"A simple frameworl to build a commandline tool","archived":false,"fork":false,"pushed_at":"2024-11-06T08:47:20.000Z","size":87,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-06T10:06:18.053Z","etag":null,"topics":["alconna","cli-tool","commandline-tool","python"],"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/RF-Tar-Railt.png","metadata":{"files":{"readme":"README.md","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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-07-11T15:56:40.000Z","updated_at":"2025-02-19T05:21:27.000Z","dependencies_parsed_at":"2024-08-01T05:03:04.153Z","dependency_job_id":"4dc39e6a-15f2-4104-b37b-edab54f1fa20","html_url":"https://github.com/RF-Tar-Railt/cli-lite","commit_stats":{"total_commits":15,"total_committers":1,"mean_commits":15.0,"dds":0.0,"last_synced_commit":"b47222ea670779a392a1f7a6043e306c83f79772"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RF-Tar-Railt%2Fcli-lite","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RF-Tar-Railt%2Fcli-lite/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RF-Tar-Railt%2Fcli-lite/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RF-Tar-Railt%2Fcli-lite/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RF-Tar-Railt","download_url":"https://codeload.github.com/RF-Tar-Railt/cli-lite/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247312061,"owners_count":20918344,"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":["alconna","cli-tool","commandline-tool","python"],"created_at":"2024-10-13T09:44:10.930Z","updated_at":"2025-04-05T09:16:27.461Z","avatar_url":"https://github.com/RF-Tar-Railt.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Cli-Lite\n\nA simple framework to build a cli tool. Base on [`Alconna`](https://github.com/ArcletProject/Alconna)\n\n## install\n\n```shell\npip install cli-lite\n```\n\n## example\n\nwrite as sample:\n\n```python\n# example.py\nfrom clilte import BasePlugin, CommandLine, PluginMetadata\nfrom arclet.alconna import Alconna, Arparma, Args, CommandMeta, Option\n\n\nclass MyPlugin(BasePlugin):\n\n    def init(self) -\u003e Alconna | str:\n        return Alconna(\"hello\", Args[\"name\", str], meta=CommandMeta(\"test command\"))\n\n    def meta(self) -\u003e PluginMetadata:\n        return PluginMetadata(\"hello\", \"0.0.1\", \"my first plugin\", [\"dev\"], [\"john\"])\n\n    def dispatch(self, result: Arparma) -\u003e bool | None:\n        return print(f\"Hello! {result.name}\")\n\n    @classmethod\n    def supply_options(cls) -\u003e list[Option] | None:\n        return \n\n\nif __name__ == '__main__':\n    cli = CommandLine(title=\"My first CLI\", version=\"example 0.0.1\")\n    cli.add(MyPlugin)\n    cli.main()\n```\n\nand execute the line:\n\n```shell\npython example.py hello world\n```\n\nyou will get the result:\n\n```shell\nHello! world\n```\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frf-tar-railt%2Fcli-lite","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frf-tar-railt%2Fcli-lite","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frf-tar-railt%2Fcli-lite/lists"}