Python CLI

Open-source Python projects categorized as CLI

Top 23 Python CLI Projects

  • GitHub repo 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.

    Project mention: Pydantic for FastAPI | | 2021-05-28

    Test it out using httpie:

  • GitHub repo

    the only cheat sheet you need

    Project mention: Bash turns 32 today, which is the default shell on many Linux distros. Happy cake day! Let us share this day with your favorite shell tips and tricks. | | 2021-06-08
  • GitHub repo sherlock

    🔎 Hunt down social media accounts by username across social networks

    Project mention: I am studying ethical hacking skills. What do you think miz? :) (basic information gathering based on a username) | | 2021-05-12
  • GitHub repo Python Fire

    Python Fire is a library for automatically generating command line interfaces (CLIs) from absolutely any Python object.

    Project mention: Turn (almost) any Python command line program into a full GUI application with one line | | 2021-06-14

    I believe it works with click and typer as well, based on the HN comments. My main issue is that I can't get it to work with fire which would make you a powerhouse for cheap and dirty scripts (not best practice but sometimes you need something fast). I'll keep struggling but it would be amazing if I could get Gooey and fire to work together.

  • GitHub repo tqdm

    A Fast, Extensible Progress Bar for Python and CLI

    Project mention: Czkawka 3.1.0 - new version of my app to find duplicates, similar images, same music, broken files etc. | | 2021-05-09

    The one project with a non-english title that I remember very easily despite not knowing the language is tqdm, and it's only because a) taqadum is easily pronounced in English b) it has a short and sweet acronym.

  • GitHub repo click

    Python composable command line interface toolkit

    Project mention: argparse questions | | 2021-06-06

    Decided to use the click library (, which supports chaining of commands:

  • GitHub repo beets

    music library manager and MusicBrainz tagger

    Project mention: Moving my home media library from iTunes to Jellyfin and Infuse | | 2021-06-10

    If you live on the command line I would like to highly recommend "beets" to manage your music:

    It allows you to match your albums with specific MusicBrainz entries to get precise metadata.

    It can be used in combination with playback tools like Jellyfin or Plex if you simply point them at your Beets library folder.

    I've been using it for a few years and I would never go back.

  • GitHub repo q

    q - Run SQL directly on CSV or TSV files (by harelba)

    Project mention: Q – Run SQL Directly on CSV or TSV Files | | 2021-06-07
  • GitHub repo HTTP Prompt

    An interactive command-line HTTP and API testing client built on top of HTTPie featuring autocomplete, syntax highlighting, and more.

    Project mention: Show HN: Ht – HTTPie Clone in Rust | | 2021-02-05

    And use http-prompt, because it's awesome:

  • GitHub repo typer

    Typer, build great CLIs. Easy to code. Based on Python type hints.

    Project mention: Why Do Long Options Start with Two Dashes? | | 2021-04-08

    Were your expectations different?

    Are there any good articles on the benefits of following such rules (any fungible improvements to legibility or usability, as opposed to just "consistency amongst different tools")?

    Are there any tools which can validate whether any piece of software conforms to this standard (either by scanning the man pages, or the code, or a formalized format of parameters the app supports)? Personally, the closest i've found is Typer ( ) but without anything that can automatically reject non-conformant code as a part of a CI process, i think enforcing such formats would be a non-starter for me.

  • GitHub repo 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.

    Project mention: MacOS Development workspace 2021 | | 2021-03-08

    donnemartin - dev setup

  • GitHub repo conan

    Conan - The open-source C/C++ package manager

    Project mention: Why are c++ compilation commands so verbose? | | 2021-06-08

    That's a current hot topic. The standards committee is looking into it and current popular attempts at a package manager include build2, conan, and vcpkg

  • GitHub repo xonsh

    :shell: Python-powered, cross-platform, Unix-gazing shell

    Project mention: 2 Months ago while learning Python I made small steganography tool in Python. Friend of mine told me, that you might like it | | 2021-05-16

    You can look at some open source projects written in Python (especially ones which you are currently using), and see if you can fix a bug. This will allow you to interact with some more experienced developers, and you will read plenty of good quality code which you can learn from. For example, if you're interested in command line shells, you can take a look at xonsh. If you wanted to fix a bug in xonsh, then you would look through the Issues section on its GitHub repository and read some issues that are labelled as "bug".

  • GitHub repo SAWS

    A supercharged AWS command line interface (CLI).

  • GitHub repo httpstat

    curl statistics made simple (by reorx)

  • GitHub repo isort

    A Python utility / library to sort imports.

    Project mention: How to Protect Your Python Code Health 🐍🩺 | | 2021-06-06

    A formatter arranges our code so that it's more readable on the screen, but does not change what our code does. Black and isort are formatters.

  • GitHub repo visidata

    A terminal spreadsheet multitool for discovering and arranging data

    Project mention: `uq is a simple, user-friendly alternative to `sort | uniq`. | | 2021-04-15

    Run vd (VisiData on the file, press Shift+F, instant unique lines sorted by number of uses. Like sort | uniq -c | sort -n in one go.

  • GitHub repo pipx

    Install and Run Python Applications in Isolated Environments

    Project mention: Cinder: Instagram's performance oriented fork of CPython | | 2021-05-04

    For the case of Python packages which are primarily exposing a command line script, alluded in the `start|build|whatever`, there is [pipx](

  • GitHub repo s3cmd

    Official s3cmd repo -- Command line tool for managing Amazon S3 and CloudFront services

    Project mention: Syncing media between two Plex servers | | 2021-03-01
  • GitHub repo haxor-news

    Browse Hacker News like a haxor: A Hacker News command line interface (CLI).

    Project mention: Ask HN: Hacker News comment tree indentation on text based web browsers | | 2021-02-05

    You might find useful.

  • GitHub repo tmuxp

    :computer: tmux session manager. built on libtmux

    Project mention: tmux startup customization | | 2021-05-12

    I use tmuxp for this. They have a pretty nice tutorial for setting it up.

  • GitHub repo doitlive

    Because sometimes you need to do it live

NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020). The latest post mention was on 2021-06-14.


What are some of the best open-source CLI projects in Python? This list will help you:

Project Stars
1 httpie 51,034
2 26,010
3 sherlock 25,469
4 Python Fire 19,576
5 tqdm 18,546
6 click 11,007
7 beets 10,175
8 q 8,348
9 HTTP Prompt 8,191
10 streamlink 6,303
11 typer 5,514
12 dev-setup 5,443
13 conan 4,990
14 xonsh 4,896
15 SAWS 4,783
16 httpstat 4,780
17 isort 3,954
18 visidata 3,886
19 pipx 3,763
20 s3cmd 3,637
21 haxor-news 3,278
22 tmuxp 3,101
23 doitlive 2,993