--- id: asciimatics version: "1.15.0" license: Apache 2.0 license_treatment: permissive maintenance: active --- # asciimatics — A cross-platform package to replace curses (mouse/keyboard input & text colours/positioning) and create ASCII animations License: permissive · Maintenance: active · Downloads: 214.3K/mo ## What it is and what it does Asciimatics is a cross-platform terminal UI and animation library that abstracts away platform-specific console handling. It provides low-level APIs for colored text, cursor positioning, keyboard and mouse input, and screen management, plus higher-level features like ASCII line-drawing, image-to-ASCII conversion, sprite animations, and widget-based form builders. The package works consistently across Windows, Linux, and macOS by wrapping curses on Unix-like systems and native Windows console APIs, eliminating the need to write platform-specific terminal code. The library is built on four runtime dependencies: pyfiglet for ASCII art text rendering, Pillow for image processing, wcwidth for character width calculations, and pywin32 for Windows console access. It targets developers building terminal-based tools, retro-style animations, or interactive command-line interfaces where a unified codebase must run on multiple operating systems. Use it for: - Build cross-platform interactive forms and text-based UIs (buttons, text boxes, radio buttons) that work identically on Windows, Linux, and macOS. - Create ASCII animations and retro-style visual effects with sprites, particle systems, and color cycling. - Convert images (JPEG, GIF) to ASCII art for terminal display or artistic output. - Implement terminal applications requiring mouse and keyboard input without blocking or echoing. - Build terminal dashboards or monitoring tools with colored text, positioned elements, and real-time screen updates. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Asciimatics provides cross-platform terminal UI and ASCII animation capabilities, handling colored text, keyboard/mouse input, and screen rendering on Windows, Linux, and macOS through a unified Python API. Yes. Asciimatics is actively maintained, has no known vulnerabilities, installs with low friction, and is licensed permissively. It is the right choice if you need a single codebase for terminal UIs or ASCII graphics across Windows, Linux, and macOS. Not necessary if you are building web UIs or only targeting a single platform. ## Install pip install asciimatics uv add asciimatics poetry add asciimatics ## Installing asciimatics Before you install: Low friction install with four runtime dependencies (pyfiglet, Pillow, wcwidth, pywin32). Package is actively maintained with recent commits and stable production status; last release was in 2023. License in practice: Licensed under Apache 2.0 (permissive), allowing commercial and private use with minimal restrictions—suitable for most projects without legal concerns. Quickstart: pip install asciimatics from asciimatics.screen import Screen def demo(screen): screen.print_at('Hello world!', 0, 0, colour=1) screen.refresh() Screen.wrapper(demo) Requires Python >= 3.8; on Windows without pip, pywin32 must be installed separately. Verify before relying: - Whether the package works reliably on modern Android/Termux environments beyond the Marshmallow era mentioned in the description. - Current state of PyPy2 support given that Python 2 support ended at v1.14. ## Package facts - License: Apache 2.0 (permissive) - Python support: supports_current - Install friction: low - Maintenance: active - Downloads: 214.3K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags terminal ui library, ascii animation, cross-platform console, text-based user interface, curses replacement, terminal graphics, keyboard mouse input terminal, terminal-ui, cross-platform, ascii-art [View on SkillFed](https://skillfed.io/packages/asciimatics) · [View on PyPI](https://pypi.org/project/asciimatics/)