{"id":47875278,"url":"https://github.com/callowayproject/click-docs","last_synced_at":"2026-04-07T04:01:11.417Z","repository":{"id":348314862,"uuid":"1197438487","full_name":"callowayproject/click-docs","owner":"callowayproject","description":"Generate Markdown docs from a Click application","archived":false,"fork":false,"pushed_at":"2026-04-05T13:34:48.000Z","size":697,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-06T03:02:37.197Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://callowayproject.github.io/click-docs/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/callowayproject.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-03-31T15:24:51.000Z","updated_at":"2026-04-05T13:47:51.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/callowayproject/click-docs","commit_stats":null,"previous_names":["callowayproject/click-docs"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/callowayproject/click-docs","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/callowayproject%2Fclick-docs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/callowayproject%2Fclick-docs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/callowayproject%2Fclick-docs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/callowayproject%2Fclick-docs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/callowayproject","download_url":"https://codeload.github.com/callowayproject/click-docs/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/callowayproject%2Fclick-docs/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31499193,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-07T03:10:19.677Z","status":"ssl_error","status_checked_at":"2026-04-07T03:10:13.982Z","response_time":105,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: 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":[],"created_at":"2026-04-04T01:11:47.036Z","updated_at":"2026-04-07T04:01:11.382Z","avatar_url":"https://github.com/callowayproject.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# click-docs\n\nGenerate Markdown documentation from your Click application — automatically, from source, with no manual editing required.\n\n[![PyPI version](https://img.shields.io/pypi/v/click-docs)](https://pypi.org/project/click-docs/)\n[![Python versions](https://img.shields.io/pypi/pyversions/click-docs)](https://pypi.org/project/click-docs/)\n[![License](https://img.shields.io/badge/license-Apache%202.0-blue.svg)](LICENSE)\n[![CI](https://img.shields.io/github/actions/workflow/status/callowayproject/click-docs/test.yaml)](https://github.com/callowayproject/click-docs/actions)\n\n## About\n\nClick applications document themselves — click-docs reads that information and turns it into clean Markdown. Point it at a Python file, get a complete reference page: usage lines, options tables, nested subcommands, the works.\n\nIt introspects Click objects directly and never executes your application, so there are no side effects and the output is always in sync with your source.\n\n## Features\n\n- **Zero-execution introspection** — reads Click objects, never runs your app\n- **Nested command support** — recursively documents subcommands with configurable depth\n- **Two option styles** — `plain` (preformatted text) or `table` (Markdown table)\n- **Configurable via `pyproject.toml`** — set defaults once in `[tool.click-docs]`\n- **Subcommand TOC** — optional bulleted table of contents at the top\n- **Filtering** — exclude specific commands, skip hidden commands, strip ASCII art blocks\n\n## Installation\n\n```console\n$ pip install click-docs\n```\n\nOr with `uv`:\n\n```console\n$ uv add click-docs\n```\n\n**Requirements:** Python 3.10+, Click 8.1+\n\n## Quick start\n\nGiven a file `deployer.py` containing a Click application:\n\n```console\n$ click-docs deployer.py --program-name deployer --output docs/cli-reference.md\n```\n\nThat's it. `docs/cli-reference.md` now contains the full Markdown reference for every command and option.\n\n## Common options\n\n| Option                 | Description                                   |\n|------------------------|-----------------------------------------------|\n| `--program-name TEXT`  | Display name in headings and usage lines      |\n| `--output FILE`        | Write to file instead of stdout               |\n| `--style plain\\|table` | Options rendering style                       |\n| `--depth N`            | Max subcommand depth (0 = root only)          |\n| `--exclude PATH`       | Exclude a command by dotted path (repeatable) |\n| `--list-subcommands`   | Prepend a TOC of subcommands                  |\n| `--remove-ascii-art`   | Strip `\\b`-prefixed ASCII art blocks          |\n\nRun `click-docs --help` for the full list.\n\n## Configure defaults in pyproject.toml\n\nSet project-wide defaults so you don't repeat flags on every run:\n\n```toml\n[tool.click-docs]\nprogram-name = \"my-tool\"\nstyle = \"table\"\nlist-subcommands = true\nremove-ascii-art = true\noutput = \"docs/cli-reference.md\"\n```\n\n## Documentation\n\nFull documentation, tutorials, and API reference: [callowayproject.github.io/click_docs](https://callowayproject.github.io/click_docs)\n\n## Contributing\n\nContributions are welcome! See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.\n\n### Development setup\n\n```console\n$ git clone https://github.com/callowayproject/click-docs.git\n$ cd click-docs\n$ uv sync\n$ uv run pytest\n```\n\n## License\n\nclick-docs is licensed under the Apache 2.0 license. See the [`LICENSE`](LICENSE) file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcallowayproject%2Fclick-docs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcallowayproject%2Fclick-docs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcallowayproject%2Fclick-docs/lists"}