A Go library for updating terminal output in real-time with buffered writes and timed interval flushing.
uilive is a Go library that provides a buffered io.Writer for updating terminal output in real-time. It flushes output at timed intervals, enabling smooth, dynamic updates to the terminal without manual screen management. It solves the problem of creating live-updating CLI interfaces, such as progress bars or status monitors, with minimal code.
Go developers building command-line tools or terminal applications that require real-time output updates, like progress trackers, live logs, or interactive dashboards.
Developers choose uilive for its simplicity, performance, and seamless integration with Go's I/O system, offering a lightweight alternative to more complex terminal UI libraries while enabling smooth, real-time updates.
uilive is a go library for updating terminal output in realtime
Uses a buffered io.Writer that flushes at timed intervals, ensuring smooth real-time display without flickering, as demonstrated in the example GIF in the README.
Easy to use with standard Go patterns; just create a writer with uilive.New() and call Start()/Stop(), requiring minimal setup as shown in the usage example.
Focuses on simplicity and performance without complex dependencies, making it a fast and efficient choice for terminal updates, per the project philosophy.
Powers uiprogress for animated progress bars, showing its reliability and effectiveness as a core engine for dynamic UI elements, as noted in the description.
Lacks advanced terminal capabilities like color support, cursor control, or input handling, which may require integrating additional libraries or manual implementation.
Provides minimal error handling; developers must manage potential issues such as writer failures or concurrent access on their own, with no guidance in the README.
Designed for single-line or simple multi-line updates, not for managing multiple dynamic regions or panes, limiting its use for sophisticated terminal interfaces.
A powerful little TUI framework 🏗
Terminal JSON viewer & processor
Golang terminal dashboard
Style definitions for nice terminal layouts 👄
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.