skillfed

reprint

A simple module for Python2/3 to print and refresh multi line output contents in terminal

reprint v0.6.0 75.4K downloads/30d#14,717 on PyPI165
Permissive license Apache-2.0 Abandoned released

What it is and what it does

reprint is a terminal output library that lets you bind Python variables to lines of text and automatically refresh the display whenever those variables change. Instead of printing static text once, you define a multi-line output template (as a list or dictionary), update the variables inside the with block, and the terminal display updates in place without scrolling or reprinting everything. It handles Unicode character widths correctly and provides thread-safe updates using locks.

The package is designed for scenarios like progress monitors, status dashboards, or live data displays where you need to update multiple lines of output simultaneously as your program runs. It works with both Python 2 and 3, depends on six, colorama, and backports.shutil-get-terminal-size for compatibility, and falls back to standard print in non-terminal environments. However, it has been abandoned since early 2021 and receives no active maintenance.

Use it for:

  • Build a progress monitor that updates multiple status lines as tasks complete without scrolling the terminal
  • Display a live dashboard of changing metrics (e.g., server stats, download speeds) that refreshes in place
  • Implement a multi-threaded worker pool display where each thread's status updates on its own line
  • Create a file transfer UI showing simultaneous progress for multiple files being copied or uploaded
  • Build a real-time log viewer that updates specific output lines as new events arrive

Worth the install?

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

Binds Python variables to multi-line terminal output and automatically refreshes the display when variables change, with thread-safe updates.

Yes, if you need simple multi-line terminal refresh and can accept an abandoned package. The library is lightweight, has no known vulnerabilities, and the core functionality is stable. However, do not use it for new projects requiring active maintenance or compatibility guarantees with future Python versions—consider maintained alternatives if long-term support is critical.

Install

reprint on PyPI

pip

pip install reprint

uv

uv add reprint

poetry

poetry add reprint

Installing reprint

Before you install

Low friction installation with three lightweight dependencies (six, backports.shutil-get-terminal-size, colorama). However, the package is abandoned—last commit was 2021-02-08 and no updates have been released since. Use only if the existing functionality meets your needs without expecting maintenance or bug fixes.

License in practice

Licensed under Apache-2.0 (permissive), which allows commercial and private use with minimal restrictions. You may use, modify, and distribute the package freely as long as you include the license and provide notice of changes.

Quickstart

from reprint import output

with output(output_type="list", initial_len=1) as output_list:
    output_list[0] = "Status: running"
    # Changing output_list[0] automatically refreshes terminal display

Does not work in IDLE or environments that don't provide terminal_size; requires a proper terminal environment. In non-terminal contexts, falls back to standard print.

Verify before relying

  • Whether the package works reliably with modern Python versions beyond 3.x, given its abandoned status since 2021
  • Performance characteristics when handling very large or rapidly-updating output in production scenarios
  • Compatibility with recent versions of colorama and backports.shutil-get-terminal-size

Package facts

License Apache-2.0 (permissive)
Python support not specified
Install friction low — pure-Python wheel
Runtime dependencies 3 — six, backports.shutil-get-terminal-size, colorama
Maintenance abandoned — 2,013 days since the last release
Last repo commit
First released
Downloads 75,419/month — #14,717 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: reprint-0.6.0-py2.py3-none-any.whl

Keywords: multi, line, print, value, binding, refresh

Tags

terminal output refreshmulti-line print bindingdynamic terminal displayvariable binding terminallive terminal updatecommand line refreshterminal variable sync
terminal-uiabandoned-but-stable

More Terminals packages