30 open-source projects similar to tqdm/tqdm, ranked by shared indexed features. Tags may describe platforms or build tools rather than the same primary purpose. Check each project’s use case, license, and deployment requirements before treating it as a replacement.
Click is a Python framework for building command-line interfaces. It provides a declarative approach to defining command structures, allowing developers to map functions to command-line arguments, options, and nested groups using decorators. The framework handles the complexities of parameter parsing, type validation, and help documentation generation automatically. The project distinguishes itself through its hierarchical context system, which propagates configuration and state across nested commands, and its environment-aware parameter resolution that prioritizes command-line inputs, enviro
This project is a framework for building interactive, graphical-style terminal applications. It provides a declarative component model that organizes user interfaces into a tree of nested widgets, each managing its own lifecycle, state, and rendering. By subclassing the base application class, developers can construct complex, keyboard-navigable interfaces that run directly within terminal emulators. The framework distinguishes itself through a reactive architecture and a CSS-based layout engine. It uses a reactive attribute system to automatically track state changes and trigger targeted int
Gooey is a framework that transforms command-line programs into graphical applications by automatically generating user interfaces from existing argument definitions. By applying a decorator to a script, the tool maps standard command-line arguments to specialized graphical widgets, allowing users to interact with terminal-based utilities through forms, file pickers, and date selectors. The project distinguishes itself by providing a comprehensive suite of customization and lifecycle management tools that extend beyond simple interface generation. It includes capabilities for input validation
This project is a Python framework for building command-line interfaces by converting standard functions into executable programs. It uses type hints to automatically infer and generate argument parsers, validation logic, and help documentation, allowing developers to define complex terminal applications through simple function signatures. The framework distinguishes itself through a decorator-driven registration system that enables the construction of hierarchical command trees. It supports dependency injection to manage shared state and runtime configuration across subcommands, and it utili
Collision is a command-line interface error report formatter and developer debugging tool. It functions as a terminal UI component that converts raw application crash logs into stylized, readable error messages. The tool focuses on application crash diagnostics and command-line error reporting to improve the developer experience. It transforms technical error reports and stack traces into a clean, human-readable format to simplify the process of identifying and fixing software bugs. The project achieves this by intercepting standard error streams and using pattern-matching to parse raw log s
Peco is an interactive text filter and fuzzy finder for the terminal. It serves as a terminal user interface selection tool that filters standard input in real-time using fuzzy matching and regular expressions. The tool preserves and renders ANSI color escape sequences from piped input streams while performing matching logic on plain-text versions. It supports multi-stage filtering, allowing users to freeze result sets to create a new base for subsequent refinements. Capability areas include advanced search filtering with negative matching, multi-item selection, and the ability to pipe selec
Asciimatics is a cross-platform terminal user interface framework and console wrapper. It functions as a curses-compatible library providing a toolkit for building interactive text-based applications, an ASCII art generator, and a terminal animation engine. The project distinguishes itself through a visual effects engine capable of rendering sprites, particle systems, and anti-aliased lines. It includes specialized systems for creating moving text-based graphics and tools for converting image files into character-based representations. The framework covers core terminal management including
R.swift is a resource generator and build tool plugin for Swift projects that creates type-safe accessors for bundle resources. It maps images, colors, localized strings, and bundle files to autocompleted Swift constants, replacing hardcoded string identifiers with strongly typed wrappers to ensure compile-time validation. The system functions as an asset wrapper that integrates into the build process to synchronize resource identifiers with source code. It utilizes static resource analysis to transform project configuration settings, entitlement values, and asset catalogs into a structured A
go-funk is a functional programming library for Go that provides a set of helper functions to transform and query slices and maps. It enables a declarative coding style for collection manipulation and data transformation, reducing the need for repetitive manual loops. The library implements higher-order functions for common operations, including mapping, filtering, and searching through data structures using predicates and callbacks. It includes utilities for detecting element existence and finding common elements between collections. These capabilities are supported through generic-based ty
sds is a C dynamic string library that provides a memory management wrapper for heap-allocated strings. It implements binary-safe storage by tracking string lengths explicitly, allowing the library to handle null characters within data. The library distinguishes itself through a memory architecture that uses interchangeable function pointers for allocation and freeing, enabling the integration of custom memory managers. It utilizes header-stored length tracking to provide constant-time length retrieval and maintains null-terminated buffer padding to ensure compatibility with standard C string
Hydra is a hierarchical configuration framework and type-safe configuration manager. It is designed to manage complex application settings through composable configuration files and command-line overrides, ensuring that configuration values match expected data types during instantiation. The framework functions as a dynamic object instantiator that creates class instances directly from hierarchical configuration values and nested objects. It also operates as a hyperparameter sweep orchestrator and cluster job launcher, enabling the execution of multiple application runs across parameter range
Gephi is an open-source desktop application for visualizing and analyzing large-scale network graphs. It provides an interactive platform for exploring complex relational data, combining hardware-accelerated rendering with real-time layout controls and a plugin-based modular architecture. The platform distinguishes itself through its ability to handle networks of up to 100,000 nodes and 1,000,000 edges using a custom OpenGL rendering engine, enabling smooth real-time interaction. It includes a force-directed layout engine with real-time adjustment, a dynamic filter pipeline for selecting node
uv is a high-performance Python package manager and project build tool designed to handle dependency resolution, virtual environment orchestration, and Python interpreter management. It functions as a comprehensive workspace orchestrator, enabling developers to manage complex, multi-package repositories and ensure reproducible builds across different platforms. The tool distinguishes itself through its use of a global, content-addressable cache and hard-link-based environment provisioning, which allow for near-instant environment creation and minimal disk usage. It employs a high-performance
A header-only library for C++(0x) that allows automagic pretty-printing of any container.
Pace is a browser-based utility that automatically monitors the loading state of web applications to provide visual feedback during page transitions and asynchronous operations. It functions as a frontend performance monitoring tool that tracks document readiness, network requests, and browser event loop activity to visualize progress without requiring manual markup changes. The library distinguishes itself by using automated tracking mechanisms that hook into native browser objects and document lifecycle events. By employing a state-machine-driven controller, it manages the visibility of pro
Spectre.Console is a .NET framework designed for building structured, feature-rich command-line applications. It provides a comprehensive toolkit for managing complex command hierarchies, type-safe argument parsing, and dependency injection, allowing developers to decouple business logic from input processing while maintaining modular application designs. The framework distinguishes itself through a sophisticated terminal user interface toolkit that enables the creation of dynamic, interactive console experiences. It utilizes a markup-based rendering system to display styled text, tables, cha
Gum is a toolkit for building interactive, visually styled command-line interfaces and prompts directly within shell scripts. It functions as a library of modular components that allow developers to enhance terminal workflows by adding structured layouts, formatted text, and user-input widgets to standard command-line operations. The project distinguishes itself by providing a suite of specialized utilities for common shell tasks, such as fuzzy-matched selection menus, interactive file system navigation, and confirmation dialogs. It translates high-level styling and layout instructions into t
Skim is a cross-platform interactive fuzzy finder that runs as a terminal application, a Rust library, a Vim and Neovim plugin, and a shell integration tool. It provides real-time filtering and selection from lists of items, supporting keyboard and mouse navigation, live preview panes, and multi-select functionality across Linux, macOS, and Windows. The tool distinguishes itself through a composable query expression tree that supports fuzzy, exact, inverse, prefix, suffix, and logical AND/OR operators, combined with a Smith-Waterman scoring engine that penalizes typos and gaps for natural rel
Notcurses is a terminal graphics engine and TUI library that renders high-fidelity images, video, and rich Unicode graphics directly in terminal emulators. At its core, it provides a layered framebuffer system that composes overlapping planes with independent depth and opacity, enabling complex visual scenes. The library also includes a terminal input processor for capturing and decoding keyboard and mouse events, a data visualization toolkit for histograms and line plots, a multimedia terminal player for images and video, and a TUI widget framework with reusable interface components. The lib
This project is a framework for building stateful, component-driven terminal user interfaces in Rust. It provides a structured architecture for managing complex command line applications by decoupling rendering logic from application state through a centralized message-passing system. By utilizing a component-based model, it enables developers to construct interactive interfaces that handle event routing, focus management, and lifecycle orchestration in a predictable manner. The framework distinguishes itself through its focus on modularity and developer productivity. It employs trait-based c
pb is a Go progress bar library and terminal UI component used to track and display the completion status of long-running tasks. It functions as an IO progress tracker by wrapping reader and writer operations to automatically update visual indicators as data flows through a system. The library provides capabilities for rendering progress bars, completion percentages, and processing speeds within a console interface. It includes a system for customizing the visual layout, metadata templates, and color schemes of these status indicators. The project covers IO stream monitoring and terminal-bas