{"repo":"BrianPugh/cyclopts","free":true,"listed":false,"github":"https://github.com/BrianPugh/cyclopts","clone":"git clone https://github.com/BrianPugh/cyclopts.git","description":"Intuitive, easy CLIs based on python type hints.","language":"Python","stars":1232,"topics":["argument-parser","python","shell","typehints","cli"],"license":"Apache-2.0","category":"cli-tools","readme_excerpt":"--- Documentation: https://cyclopts.readthedocs.io Source Code: https://github.com/BrianPugh/cyclopts --- Cyclopts is a modern, easy-to-use command-line interface (CLI) framework that aims to provide an intuitive & efficient developer experience. Why Cyclopts? - Intuitive API : Quickly write CLI applications using a terse, intuitive syntax. - Advanced Type Hinting : Full support of all builtin types and even user-specified (yes, including Pydantic, Dataclasses, and Attrs). - Rich Help Generation : Automatically generates beautiful help pages from docstrings and other contextual data. - Extendable : Easily customize converters, validators, token parsing, and application launching. Installation Cyclopts requires Python =3.10; to install Cyclopts, run: Quick Start - Import cyclopts.run() and give it a function to run. Execute the script from the command line: When you need more control: - Create an application using cyclopts.App . - Register commands with the command decorator. - Register a default function with the default decorator. Execute the script from the command line: With just a few additional lines of code, we have a full-featured CLI app. See the docs for more advanced usage. Compared to Typer Cyclopts is what you thought Typer was. Cyclopts's includes information from docstrings, support more complex types (even Unions and Literals!), and include proper validation support. See the documentation for a complete Typer comparison. Consider the following short 29-line Cyc","default_branch":null,"files":null,"tree":[],"storefront":"/r/BrianPugh","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/BrianPugh/cyclopts/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}