Top 23 Python CLI Projects
-
httpie
As easy as /aitch-tee-tee-pie/ 🥧 Modern, user-friendly command-line HTTP client for the API era. JSON support, colors, sessions, downloads, plugins & more. https://twitter.com/httpie
httpie looks great too!
-
cheat.sh
the only cheat sheet you need
-
sherlock
🔎 Hunt down social media accounts by username across social networks
It is a python program, so you can execute it on Windows. Here are the installation steps, note you can also run it from some cloud providers (google cloud or replit are listed in README) : https://github.com/sherlock-project/sherlock#installation
-
python-fire
Python Fire is a library for automatically generating command line interfaces (CLIs) from absolutely any Python object.
Latest mention: Explaining FastAPI and Typer Dependency Injection, and rolling your own in Python | dev.to | 2021-01-25Typer is for building Python command-line tools. Often you want to be able to call python scripts from the command line with extra arguments to do all manner of automation tasks. Python has a low-level method of fetching the values passed from the command-line using sys.arv which contains a list of arguments; and a high-level mehtod of building a command-line interface (allowing for optional arguments, help text, etc) using the argparser module. Aside from this, there are also plenty of other libraries that provide ways of building CLIs, including Google's Fire which is what I was using previously.
-
tqdm
A Fast, Extensible Progress Bar for Python and CLI
https://github.com/tqdm/tqdm/issues/1083 https://github.com/tqdm/tqdm/issues/889
-
click
Python composable command line interface toolkit
-
beets
music library manager and MusicBrainz tagger
Latest mention: Music Hoarders that moved from Windows to Linux, how was the transition like? | reddit.com/r/musichoarder | 2021-01-20i use beets (https://github.com/beetbox/beets) for tagging on windows as well as linux. works really well.
-
http-prompt
An interactive command-line HTTP and API testing client built on top of HTTPie featuring autocomplete, syntax highlighting, and more. https://twitter.com/httpie
-
streamlink
Streamlink is a CLI utility which pipes video streams from various services into a video player
Latest mention: Only Sponsers: Build a Salary with GitHub Sponsors | news.ycombinator.com | 2021-01-23While this may work for individual contributors I don't see how it benefits open source work and the community in general. It suggest writing articles and creating videos but there is then a drive to release less information publicly to try and get people to pay because your code is confusing or your docs are lacking. That seems like a big negative.
It also doesn't work for team based projects. I'm one of the maintainers of Streamlink [1] which has members from around the world and we've been running various methods of donation since 2017 or so. In that time our Open Collective [2] has made about $1600 USD. We have over 50,000 users across all platforms (we don't collect any metrics in our apps so it's potentially higher. This is strictly based on download stats) yet the entire amount we've collected is thanks to less than 100 people. We note the Open Collective on every release as well.
My own personal donation methods total $15 from one person in the past 5 years since we forked the project and started maintaining it. We have more users than many start ups do and I know that there are several companies using our software, but I haven't figured out how to make donations really work yet. How do we determine who should make what from a shared pool of money? How do you value a contribution, PR, etc., and most importantly how do you get users to actually pay without negatively impacting the project?
[1]: https://github.com/streamlink/streamlink [2]: https://opencollective.com/streamlink
-
dev-setup
macOS development environment setup: Easy-to-understand instructions with automated setup scripts for developer tools like Vim, Sublime Text, Bash, iTerm, Python data analysis, Spark, Hadoop MapReduce, AWS, Heroku, JavaScript web development, Android development, common data stores, and dev-based OS X defaults.
Latest mention: Request Im A Programmer That Moves To A New Pc | reddit.com/r/TechnologyProTips | 2020-12-31 -
saws
A supercharged AWS command line interface (CLI).
-
conan
Conan - The open-source C/C++ package manager
-
httpstat
curl statistics made simple
-
typer
Typer, build great CLIs. Easy to code. Based on Python type hints.
Latest mention: My preferred .NET console stack – An opinionated view on .NET console apps | news.ycombinator.com | 2021-01-15Click is great and a feature-rich option. But recommend checking out Typer, which is even simpler if you're already using type annotations. [0]
-
xonsh
:shell: Python-powered, cross-platform, Unix-gazing shell
I mean the most I've ever used zsh was to change my shell to xonsh, but you should be able to zsh-source any configs as of this commit https://github.com/xonsh/xonsh/pull/2241
-
isort
A Python utility / library to sort imports.
isort is also a similar tool to flake8, this tool sorts imports alphabetically, and automatically separated into sections and by type.
-
visidata
A terminal spreadsheet multitool for discovering and arranging data
Latest mention: Reading Parquet Without A Distributed Cluster | reddit.com/r/dataengineering | 2020-12-25You can inspect parquet files from the command line with visidata https://github.com/saulpw/visidata and pandas using vd -f pandas data.parquet
-
s3cmd
Official s3cmd repo -- Command line tool for managing Amazon S3 and CloudFront services
-
pipx
Install and Run Python Applications in Isolated Environments
Look at pipx
-
tmuxp
:computer: tmux session manager. built on libtmux
-
doitlive
Because sometimes you need to do it live
-
kb
A minimalist command line knowledge base manager
gnebbia / kb
-
s-tui
Terminal-based CPU stress and monitoring utility
Latest mention: [GNOME] My beautiful desktop with Conky. Arch? btw | reddit.com/r/unixporn | 2021-01-06CPU Utility: s-tui
Index
What are some of the best open-source CLI projects in Python? This list will help you:
Project | Stars | |
---|---|---|
1 | httpie | 49,485 |
2 | cheat.sh | 23,235 |
3 | sherlock | 20,272 |
4 | python-fire | 18,530 |
5 | tqdm | 17,146 |
6 | click | 10,284 |
7 | beets | 9,858 |
8 | http-prompt | 8,026 |
9 | streamlink | 5,713 |
10 | dev-setup | 5,290 |
11 | saws | 4,690 |
12 | conan | 4,649 |
13 | httpstat | 4,625 |
14 | typer | 4,221 |
15 | xonsh | 4,197 |
16 | isort | 3,662 |
17 | visidata | 3,556 |
18 | s3cmd | 3,524 |
19 | pipx | 3,108 |
20 | tmuxp | 2,960 |
21 | doitlive | 2,893 |
22 | kb | 2,576 |
23 | s-tui | 2,429 |