Top 15 Python Command-line interface Projects
-
jc
CLI tool and python library that converts the output of popular command-line tools, file-types, and common strings to JSON, YAML, or Dictionaries. This allows piping of output to tools like jq and simplifying automation scripts.
I guess I don't see those as big downsides because I don't think people usually want binary data or quoted strings back from a CLI command, nor do they want column oriented output, nor "user friendly" tables.
Answering --help with JSON is a good example, how bad is it really if the response is JSON? Well, using less works fine still and you can still grep if you want simple substring search. Wanting a section is probably more common, so maybe you'd "grep" for a subcommand with `jq .subcommand` or an option with `jq .subcommand.option`. Tables and tab-or-space delimited output overflow char limits, force the command-generator to figure out character wrapping, and so on. Now you need a library to generate CLI help properly, but if you're going to have a library why not just spit JSON and decouple completely from display details.
Structured output by default just makes sense for practically everything except `cat`. And while your markdown files or csv files might have quoted strings, looking at the raw files isn't something people really want from shells or editors.. they want something "rendered" in one way or another, for example with syntax highlighting.
Basically in 2025 neither humans nor machines benefit much from unstructured raw output. Almost any CLI that does this needs to be paired with a parser (like https://github.com/kellyjonbrazil/jc) and/or a renderer (like https://github.com/charmbracelet/glow). If no such pairing is available then it pushes many people to separately reinvent parsers badly. JSON's not perfect but (non-minified) it's human-readable enough to address the basic issues here without jumping all the way towards binary or (shudder) HTML
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
-
-
-
-
-
-
savepagenow
A simple Python wrapper and command-line interface for archive.org’s "Save Page Now" capturing service
-
-
-
-
-
-
-
kitbuilder
KitBuilder is a library used for generating API-based and CLI-based SDK using only one file!
-
Python Command-line interface discussion
Python Command-line interface related posts
Index
What are some of the best open-source Command-line interface projects in Python? This list will help you:
| # | Project | Stars |
|---|---|---|
| 1 | jc | 8,624 |
| 2 | rebound | 4,126 |
| 3 | PyInquirer | 1,997 |
| 4 | jello | 530 |
| 5 | em-keyboard | 334 |
| 6 | mindflow | 234 |
| 7 | savepagenow | 194 |
| 8 | Pylette | 170 |
| 9 | spotify-cli | 121 |
| 10 | strimzi-kafka-cli | 87 |
| 11 | pypi-command-line | 54 |
| 12 | ItsPrompt | 32 |
| 13 | cli-resolve | 10 |
| 14 | kitbuilder | 5 |
| 15 | montyhallsim | 1 |