skillfed

blessed

Easy, practical library for making terminal apps, by providing an elegant, well-documented interface for Terminals.

blessed v1.48.0 14.6M downloads/30d#1,224 on PyPI1,492
Permissive license MIT Active released

What it is and what it does

Blessed is a terminal UI library that abstracts away the complexity of low-level curses programming. Instead of juggling terminfo calls, terminal detection, and escape sequences, you import Terminal and call methods like term.bold(), term.color_rgb(), term.inkey(), and term.location() to style text, read keyboard input, and position the cursor. It handles the messy details: detecting whether output is piped to a file (and stripping sequences accordingly), managing terminal capabilities across different systems, and safely entering modes like fullscreen or raw input through context managers.

The package is designed for developers building CLI tools, terminal games, or text-based dashboards who want cross-platform compatibility without wrestling with curses. It works on Windows, Mac, Linux, and BSD, supports Python 3.8+, and includes features like 24-bit color, unicode keyboard handling, terminal-aware text wrapping, and cursor location queries. The API is intentionally minimal—Terminal is the only class you typically need to import.

Use it for:

  • Build colorful, styled CLI applications with text formatting and colors without curses boilerplate.
  • Create interactive terminal games or fullscreen applications that respond to keyboard input and terminal size changes.
  • Add keyboard-driven menus or prompts to command-line tools with safe input handling and cursor control.
  • Develop terminal dashboards that position and update text at specific screen locations.
  • Write terminal utilities that gracefully degrade when output is piped to files or other commands.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Blessed provides a clean Python interface for terminal styling, colors, keyboard input, and cursor positioning, replacing low-level curses calls with an intuitive API that works across Windows, Mac, Linux, and BSD.

Yes. Blessed is actively maintained, has no known vulnerabilities, low install friction, permissive licensing, and a stable API. Install it if you're building any terminal UI, need cross-platform keyboard handling, or want to avoid curses complexity.

Install

blessed on PyPI

pip

pip install blessed

uv

uv add blessed

poetry

poetry add blessed

Installing blessed

Before you install

Low install friction with only two runtime dependencies (wcwidth and jinxed). The package is actively maintained with a recent release and production-stable status.

License in practice

MIT license permits free use, modification, and distribution with minimal restrictions—suitable for both open-source and commercial projects.

Quickstart

pip install blessed

from blessed import Terminal

term = Terminal()
print(term.bold('Hello') + ' ' + term.underline('world'))
with term.cbreak():
    inp = term.inkey()

Package facts

License MIT (permissive)
Python support supports the current Python release (>=3.8)
Install friction low — pure-Python wheel
Runtime dependencies 2 — wcwidth, jinxed
Maintenance actively maintained — 7 days since the last release
Last repo commit
First released
Downloads 14,582,716/month — #1,224 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: blessed-1.48.0-py3-none-any.whl

Keywords: terminal, sequences, tty, curses, ncurses, formatting, style, color, console, keyboard, ansi, xterm

Development Status :: 5 - Production/StableEnvironment :: ConsoleEnvironment :: Console :: CursesIntended Audience :: DevelopersNatural Language :: EnglishOperating System :: Microsoft :: WindowsOperating System :: POSIXProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Topic :: Software Development :: LibrariesTopic :: Software Development :: User InterfacesTopic :: TerminalsTyping :: Typed

Tags

terminal colors and stylingkeyboard input handlingcursor positioningterminal UI librarycross-platform terminal controlansi escape sequencescli text formatting
terminal-uikeyboard-inputansi-colors

More Libraries packages