{"id":17432130,"url":"https://github.com/marekjm/clap","last_synced_at":"2025-07-07T18:37:22.705Z","repository":{"id":6241092,"uuid":"7473154","full_name":"marekjm/clap","owner":"marekjm","description":"Advanced Command Line Arguments Parser for Python 3","archived":false,"fork":false,"pushed_at":"2023-11-02T17:31:57.000Z","size":351,"stargazers_count":7,"open_issues_count":3,"forks_count":6,"subscribers_count":2,"default_branch":"devel","last_synced_at":"2025-06-25T15:17:34.389Z","etag":null,"topics":["advanced","arguments","automatic-documentation","cli","commandline","input-validation","operands","parser","shortcuts","subcommands"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/marekjm.png","metadata":{"files":{"readme":"README.markdown","changelog":"Changelog.markdown","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":"2013-01-06T21:51:39.000Z","updated_at":"2023-11-02T17:30:04.000Z","dependencies_parsed_at":"2024-10-19T07:36:38.085Z","dependency_job_id":"dcff7261-feaa-448b-a0a2-a64af160b8be","html_url":"https://github.com/marekjm/clap","commit_stats":{"total_commits":349,"total_committers":8,"mean_commits":43.625,"dds":0.3954154727793696,"last_synced_commit":"5a097fa6377faa142efab652787bfe787d85f8b7"},"previous_names":[],"tags_count":24,"template":false,"template_full_name":null,"purl":"pkg:github/marekjm/clap","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marekjm%2Fclap","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marekjm%2Fclap/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marekjm%2Fclap/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marekjm%2Fclap/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/marekjm","download_url":"https://codeload.github.com/marekjm/clap/tar.gz/refs/heads/devel","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marekjm%2Fclap/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264130611,"owners_count":23562068,"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":["advanced","arguments","automatic-documentation","cli","commandline","input-validation","operands","parser","shortcuts","subcommands"],"created_at":"2024-10-17T08:24:14.482Z","updated_at":"2025-07-07T18:37:22.656Z","avatar_url":"https://github.com/marekjm.png","language":"Python","readme":"# RedCLAP - Command Line Arguments Parser (Redesigned)\n\nCLAP aims at being powerful and advanced command line interface library for the Python 3 language. \nHaving built-in support for modes, optional and obligatory options,\noptions with arguments (with type-checking with arbitrary types) it enables programmers to\ncreate rich command line interfaces for Python 3 programs.\n\n\n----\n\n## Features of CLAP:\n\n*   support for single-level and nested modes (with per-mode and global options),\n*   support for grouped short options (`ls -lhR`),\n*   support for long options with or without equal-sign-connected arguments (`--log=./file.log` and `--log ./file.log` are both correct),\n*   support for option aliases (short/long names),\n*   support for typed arguments (`str`, `int`, `float` built-in and other arbitrary types via callbacks),\n*   built-in type checking of option arguments,\n*   support for multiple arguments for options (e.g. `--point 0 0`),\n*   checking for missing arguments with options which require them,\n*   checking for conflicting options (eg. `--quiet` must not come with option `--verbose`),\n*   support for options that MUST be passed to the program,\n*   support for options *required by* other options (e.g. `--key` requires `--value`),\n*   support for options *wanted by* other options (e.g. `--which` wants `--this` or `--that` or both),\n*   good set of exceptions with detailed error messages,\n*   ability to load interface from JSON descriptions,\n*   automatic generation of help screens (for `your-tool help` command) with per-mode, per-option, and per-operand descriptions,\n    usage examples, and more\n*   support for shortcuts for command names (shortest-unique name is sufficient for CLAP to resolve the command, it is not\n    necessary to write full names)\n\nCLAP is not the most easy to use command line arguments parser for Python, but I am quite confident that it is one\nof the most powerful (if not *the* most powerful) framework for writing command line interfaces.\nWith excellent support for modes, options, and operands, automatic input verification, and help screen generation you\nget a big return on your investment.\n\n----\n\n## Manual and examples\n\nSee the [Issue](https://git.sr.ht/~maelkum/issue) project which is the flagship\nsoftware for CLAP and uses all features the library offers.\n\n----\n\n## License\n\nRedCLAP is published under GNU GPL v3 or GNU LGPL v3 (or any later version of one of this licenses).\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarekjm%2Fclap","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmarekjm%2Fclap","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarekjm%2Fclap/lists"}