Stream helps developers build engaging apps that scale to millions with performant and flexible Chat, Feeds, Moderation, and Video APIs and SDKs powered by a global edge network and enterprise-grade infrastructure. Learn more →
Top 23 Python Command-line Projects
-
-
InfluxDB
InfluxDB – Built for High-Performance Time Series Workloads. InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.
-
Project mention: Show HN: I built Solveig, it turns any LLM into an assistant in your terminal | news.ycombinator.com | 2025-11-13
See Usage for more: https://github.com/FSilveiraa/solveig/blob/main/docs/usage.m...
---
FEATURES
AI Terminal Assistant - Automate task planning, file management, code analysis and system management using natural language in your terminal.
Safe by Design - Granular controls with pattern-based permissions. File operations prioritized, and shell commands can be disabled.
Plugin Architecture - Extend capabilities through drop-in plugins. Add SQL queries, web scraping or block dangerous commands with 100 lines of Python.
Modern CLI - Clear interface with task planning and listing, file content previews, diff editing, API usage tracking, code linting, waiting animations and rich tree displays for informed user decisions.
Provider Independence - Works with any OpenAI-compatible API, including local models.
tl;dr: similar idea to Claude Code (https://claude.com/product/claude-code) or Aider (https://aider.chat/), focusing on providing explicit user consent, granular configuration, drop-in plugins and the ability to integrate any model, backend or API.
See the Features for more: https://github.com/FSilveiraa/solveig/blob/main/docs/about.m...
---
TYPICAL TASKS
- "Find and list all the duplicate files inside ~/Documents/"
-
Project mention: XAN: A Modern CSV-Centric Data Manipulation Toolkit for the Terminal | news.ycombinator.com | 2025-03-27
I used to use q for this sort of thing. Not sure if there are better choices now as it have been a few years.
https://harelba.github.io/q/
-
-
google-images-download
Python Script to download hundreds of images from 'Google Images'. It is a ready-to-run code!
-
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
-
Project mention: Why every dev needs a coding journal no, your memory isn’t enough | dev.to | 2025-05-17
Resource: Obsidian, jrnl CLI, Markdown Journal Templates on GitHub
-
Stream
Stream - Scalable APIs for Chat, Feeds, Moderation, & Video. Stream helps developers build engaging apps that scale to millions with performant and flexible Chat, Feeds, Moderation, and Video APIs and SDKs powered by a global edge network and enterprise-grade infrastructure.
-
This is a cool tool: https://github.com/jarun/buku It's not perfect (it is not synced across devices) but it fills out metadata for you and isn't tied to a browser.
-
hug
Embrace the APIs of the future. Hug aims to make developing APIs as simple as possible, but no simpler.
-
-
-
For a handy, privacy-friendly search workflow, you can combine Lynx with ddgr, a command-line DuckDuckGo search utility. Simply set:
-
-
pytermgui
Python TUI framework with mouse support, modular widget system, customizable and rapid terminal markup language and more!
-
-
awesome-cli-apps-in-a-csv
The largest Awesome Curated list of command line programs (CLI/TUI) with source data organized into CSV files
-
CommandlineConfig
A library for users to write (experiment in research) configurations in Python Dict or JSON format, read and write parameter value via dot . in code, while can read parameters from the command line to modify values. 一个供用户以Python Dict或JSON格式编写(科研中实验)配置的库,在代码中用点.读写属性,同时可以从命令行中读取参数配置并修改参数值。
-
-
-
-
-
Project mention: Ergonomic Pyhon Text Piping Solution for Linux Shell with pypyp and uv | dev.to | 2025-01-04
This short blog post is an introduction about a linux text piping solution with pypyp and uv, it can easily reuse all your knowledge and packages about python without learning awk. We focus on telling the reader why choosing it instead of how to use it. If you want to learn more about the usage, visit pypyp's homepage and uv's homepage
-
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
Python Command-line discussion
Python Command-line related posts
-
Show HN: I built Solveig, it turns any LLM into an assistant in your terminal
-
The Terminal of the Future
-
Developers are choosing older AI models, and the data explains why
-
Pre-Record Your Demos
-
Pairing with Claude Code to rebuild my startup's website
-
Cheat.sh: the only cheat sheet you need
-
Cheat.sh
-
A note from our sponsor - Stream
getstream.io | 16 Nov 2025
Index
What are some of the best open-source Command-line projects in Python? This list will help you:
| # | Project | Stars |
|---|---|---|
| 1 | cheat.sh | 40,441 |
| 2 | aider | 38,394 |
| 3 | q | 10,331 |
| 4 | xonsh | 9,047 |
| 5 | google-images-download | 8,657 |
| 6 | jc | 8,432 |
| 7 | jrnl | 7,012 |
| 8 | buku | 6,898 |
| 9 | hug | 6,896 |
| 10 | gpustat | 4,286 |
| 11 | doitlive | 3,519 |
| 12 | ddgr | 3,153 |
| 13 | yq | 2,859 |
| 14 | pytermgui | 2,535 |
| 15 | lookatme | 2,261 |
| 16 | awesome-cli-apps-in-a-csv | 2,190 |
| 17 | CommandlineConfig | 2,026 |
| 18 | PyInquirer | 1,985 |
| 19 | dotdrop | 1,874 |
| 20 | gita | 1,800 |
| 21 | telegram-phone-number-checker | 1,562 |
| 22 | pyp | 1,499 |
| 23 | itermplot | 1,496 |