Python Terminal

Open-source Python projects categorized as Terminal

Top 23 Python Terminal Projects

  • rich

    Rich is a Python library for rich text and beautiful formatting in the terminal.

    Project mention: Rich is a Python library for rich text and beautiful formatting in the terminal | news.ycombinator.com | 2024-03-14
  • cheat.sh

    the only cheat sheet you need

    Project mention: Cheat.sh – Community Driven Documentation | news.ycombinator.com | 2024-01-07
  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

  • httpie

    🥧 HTTPie CLI — modern, user-friendly command-line HTTP client for the API era. JSON support, colors, sessions, downloads, plugins & more. (by httpie)

    Project mention: Bruno | news.ycombinator.com | 2024-03-09

    There is also HTTPie which I've mostly been using for its excellent `http` CLI as a modern replacement for curl.

    However I recently learned that it also has web and desktop client apps which are pretty great too!

    https://httpie.io/

  • tqdm

    :zap: A Fast, Extensible Progress Bar for Python and CLI

    Project mention: Neat Parallel Output in Python | news.ycombinator.com | 2024-02-25

    yeah my code needs to use multiprocessing, which does not play nice with tqdm. thanks for the tip about positions though, that helped me search more effectively and came up with two promising comments. unmerged / require some workarounds, but might just work:

    https://github.com/tqdm/tqdm/issues/1000#issuecomment-184208...

  • glances

    Glances an Eye on your system. A top/htop alternative for GNU/Linux, BSD, Mac OS and Windows operating systems.

    Project mention: Hard disk LEDs and noisy machines | news.ycombinator.com | 2024-01-04
  • wttr.in

    :partly_sunny: The right way to check the weather

    Project mention: Wttr.in Is Down | news.ycombinator.com | 2023-12-11
  • textual

    The lean application framework for Python. Build sophisticated user interfaces with a simple Python API. Run your apps in the terminal and a web browser.

    Project mention: Harlequin: SQL IDE for Your Terminal | news.ycombinator.com | 2024-01-05
  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

  • kitty

    Cross-platform, fast, feature-rich, GPU based terminal

    Project mention: Level Up Your Dev Workflow: Conquer Web Development with a Blazing Fast Neovim Setup (Part 1) | dev.to | 2024-03-16

    kitty (Linux & Macos)

  • typer

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

    Project mention: Copilot for your GitHub stars | dev.to | 2023-11-20
  • gdb-dashboard

    Modular visual interface for GDB in Python

    Project mention: Everything You Never Wanted to Know About CMake (Redux) | news.ycombinator.com | 2023-06-25

    Disclaimer: I'm making a competing build system.

    I won't tell you specific build systems, but I will tell you what to look for.

    Look for power. Unlimited power. [1]

    Usually, this means a few things:

    1. The build system uses a general-purpose language, even if the language needs features to be added.

    2. The build system does not reduce the power of the general-purpose language. For example, say it starts with Python but prohibits recursion. In that case, you know it is not unlimited power. Looking at you, Starlark.

    3. The build can be dynamically changed, i.e., the build is not statically determined before it even begins.

    4. Each task has unlimited power. This means that the task can use a general-purpose language, not just run external processes.

    5. And there has to be some thought put it in user experience.

    Why are these important? Well, let's look at why with CMake, which fails all of them.

    For #1, CMake's language started as a limited language for enumerating lists. (Hence, CMakeLists.txt is the file name.) And yet, it's grown to be as general-purpose as possible. Why? Because when you need an if statement, nothing else will do, and when you need a loop, nothing else will do.

    And that brings us to #2: if CMake's language started limited, are there still places where it's limited? I argue yes, and I point to the article where it says that your couldn't dynamically call functions until recently. There are probably other places.

    For #3, CMake's whole model precludes it. CMake generates the build upfront then expects another build system to actually execute it. There is no changing the build without regenerating it. (And even then, CMake did a poor job until the addition of `--fresh`.) A fully dynamic build should be able to add targets and make others targets depend on those new targets dynamically, among other things.

    For #4, obviously CMake limits what tasks can do because Ninja and Make limit tasks to running commands.

    As another example, to implement a LaTeX target, you technically need a while loop to iterate until a fixed point. To do that with Make and Ninja, you have to jump through hoops or use an external script that may not work on all platforms.

    CMake obviously fails #5, and to see how much other build systems fail it, just look for comments pouring hate on those build systems. CMake fails the most, but I haven't seen one that passes yet.

    As an example, CMake barely got a debugger. Wow! Cool! It's been 20 years! My build system will have a debugger in public release #2 (one after the MVP) that will be capable of outputting to multiple TTY's like gdb-dashboard. [2] They should have had this years ago!

    Should other comments suggest specific build systems, like the one that suggested Bazel, judge them by this list. Some will be better than others. None will pass everything, IMO, which is why I'm making my own.

    [1]: https://youtube.com/watch?v=Sg14jNbBb-8

    [2]: https://github.com/cyrus-and/gdb-dashboard

  • 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

  • google-images-download

    Python Script to download hundreds of images from 'Google Images'. It is a ready-to-run code!

  • xonsh

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

    Project mention: This Week In Python | dev.to | 2024-03-09

    xonsh – Python-powered, cross-platform, Unix-gazing shell

  • shell_gpt

    A command-line productivity tool powered by AI large language models like GPT-4, will help you accomplish your tasks faster and more efficiently.

  • buku

    :bookmark: Personal mini-web in text

    Project mention: Buku: Personal Mini-Web in Text | news.ycombinator.com | 2024-01-29
  • SAWS

    A supercharged AWS command line interface (CLI).

  • alive-progress

    A new kind of Progress Bar, with real-time throughput, ETA, and very cool animations!

  • guake

    Drop-down terminal for GNOME

    Project mention: Source code for Quake 2 rerelease | news.ycombinator.com | 2023-08-10

    Discovering the drop down console was a revelation.

    An homage: http://guake-project.org/

  • Pokemon-Terminal

    Pokemon terminal themes.

  • haxor-news

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

  • tmuxp

    🖥️ Session manager for tmux, build on libtmux.

    Project mention: Zellij – A terminal workspace with batteries included (tmux alternative) | news.ycombinator.com | 2024-02-05

    Using tmux + tmuxp[1] you can load a pre-configured session and execute arbitrary shell commands for the session, window and pane. I use this to set up shells and editors in the correct dirs (and/or hosts), load lang environments, set env vars and source some zsh aliases and functions that I only want per project. The end result is that I can set up my dev environment (shells with different environments, neovim windows, test runner, various linters I don't wannt integrate into nvim) with a single "tmuxp load ".

    [1]: https://github.com/tmux-python/tmuxp

  • s-tui

    Terminal-based CPU stress and monitoring utility

    Project mention: Is X1 Carbon gen 6 a decent (beginner) Linux machine? | /r/thinkpad | 2023-05-08

    There's a way of doing it via s-tui.

  • rainbowstream

    A smart and nice Twitter client on terminal written in Python.

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

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 2024-03-16.

Python Terminal related posts

Index

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

Project Stars
1 rich 46,683
2 cheat.sh 37,241
3 httpie 31,405
4 tqdm 27,172
5 glances 24,621
6 wttr.in 23,419
7 textual 23,152
8 kitty 21,504
9 typer 13,228
10 gdb-dashboard 10,265
11 HTTP Prompt 8,858
12 google-images-download 8,470
13 xonsh 7,877
14 shell_gpt 7,833
15 buku 6,051
16 SAWS 5,177
17 alive-progress 4,975
18 guake 4,319
19 Pokemon-Terminal 4,159
20 haxor-news 3,907
21 tmuxp 3,903
22 s-tui 3,807
23 rainbowstream 3,524
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com