$npx skillfedfor your agent

halo

Beautiful terminal spinners in Python

With conditionsPyPI TerminalsReleased Nov 20201.2M downloads / moMITPure Python

Decision gist · record as of 2026-08-14

pure-Python wheel — halo-0.0.31-py2-none-any.whl
v0.0.31 · released 2020-11-10 · Python >=3.4 · 6 runtime deps: log-symbols, spinners, termcolor, colorama, six, backports.shutil-get-terminal-size

Yes, if you need terminal spinners in a CLI tool or script. The package is stable, has low install friction, carries no known vulnerabilities, and is permissively licensed. The dormant maintenance status is not a blocker for a mature, single-purpose library—but verify compatibility with your target Python versions and terminal environment before relying on it for new projects.AI-flagged interpretation of the facts on this page — verify before relying

Before you install

  • Low install friction with six runtime dependencies.
  • Maintenance is dormant—last release was 2020-11-10 and no commits since 2024-06-16—but the package is stable and widely used (monthly downloads in the millions, top 5000 on PyPI).

License · maintenance · safety

MIT (permissive) — MIT license is permissive; you can use, modify, and distribute halo freely in commercial and private projects with minimal restrictions.

last release 2020-11-10 (2103 days) · last repo commit 2024-06-16 · 3,026 stars

0 known vulnerabilities (OSV.dev, 2026-08-14) · 1,210,453 downloads/mo, #4,214 on PyPI

Verify before relying

pip install halo

from halo import Halo

spinner = Halo(text='Loading', spinner='dots')
spinner.start()
# Run time consuming work here
spinner.stop()
  • Whether the package works reliably with Python versions beyond 3.8 (classifiers list only up to 3.8, but requires_python is >=3.4)
  • Current compatibility with modern terminal emulators and Windows console changes since 2020
Same gist for agents: .md · .json

What it is and what it does

Halo is a Python library that renders animated spinners in the terminal to provide visual feedback during long-running operations. It wraps text with a rotating animation frame, letting you indicate that work is in progress without blocking output. The package supports multiple spinner styles, custom colors for both text and spinner, and terminal placement options (left or right of text). It integrates with IPython and Jupyter notebooks as well as standard terminal environments.

You can use halo as a context manager (with statement), a decorator, or by calling start/stop methods directly. It provides terminal-friendly completion symbols—checkmark for success, X for failure, warning triangle, or info icon—and lets you update the spinner text dynamically. The library depends on log-symbols, spinners, termcolor, colorama, six, and backports.shutil-get-terminal-size to handle cross-platform terminal rendering and color output.

Use it for

  • Show a spinner while downloading files or making network requests to indicate the operation is ongoing
  • Display progress feedback during long-running data processing or database queries in CLI tools
  • Provide visual status during build or deployment scripts, ending with success or failure symbols
  • Add loading indicators to interactive CLI applications that perform background tasks
  • Decorate long-running functions to automatically show a spinner without manual start/stop calls

Worth the install?

AI-flagged interpretation of the facts on this page. Verify before relying on it.

With conditions

Yes, if you need terminal spinners in a CLI tool or script.

The package is stable, has low install friction, carries no known vulnerabilities, and is permissively licensed. The dormant maintenance status is not a blocker for a mature, single-purpose library—but verify compatibility with your target Python versions and terminal environment before relying on it for new projects.

Install

halo on PyPI

Before you install

Low install friction with six runtime dependencies. Maintenance is dormant—last release was 2020-11-10 and no commits since 2024-06-16—but the package is stable and widely used (monthly downloads in the millions, top 5000 on PyPI).

License in practice

MIT license is permissive; you can use, modify, and distribute halo freely in commercial and private projects with minimal restrictions.

Quickstart

pip install halo

from halo import Halo

spinner = Halo(text='Loading', spinner='dots')
spinner.start()
# Run time consuming work here
spinner.stop()

Verify before relying

  • Whether the package works reliably with Python versions beyond 3.8 (classifiers list only up to 3.8, but requires_python is >=3.4)
  • Current compatibility with modern terminal emulators and Windows console changes since 2020

Package facts

LicenseMIT permissive
Python supportSupports the current Python release >=3.4
Install frictionLow. Pure-Python wheel
Runtime dependencies
6 packages
log-symbolsspinnerstermcolorcoloramasixbackports.shutil-get-terminal-size
MaintenanceDormant 2,103 days since the last release
Last repo commit
First released
Downloads1,210,453 / month, #4,214 on PyPI 30-day window, as of 2026-08-14
Known vulnerabilitiesNone known OSV.dev, checked 2026-08-14
Classifiers
Programming Language :: PythonProgramming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.5Programming Language :: Python :: 3.6Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8

Evidence: halo-0.0.31-py2-none-any.whl

Tags

Capabilities
terminal spinner animationloading indicator cliprogress spinner pythonterminal busy indicatorcli loading animationpython terminal spinnerasync task indicator
Topics
cli-uiterminal-output
PyPI keywords
consoleloadingindicatorprogressclispinnerspinnersterminaltermbusywaitidle

Let your AI agent find packages like this

Example. Real query, live index.

You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.

wish › “loading indicator cli”

  • haloHalo displays animated spinners in the terminal to indicate progress…
  • click-spinnerDisplays a simple animated spinner in the terminal to show progress…
  • spinnersProvides an enum of more than 60 pre-defined terminal spinner…

Give your agent the search over MCP, or paste the wish link into any chat.

More Terminals packages

tqdm Worth it
PyPI · Libraries · released Jul 2026

Wraps any iterable to display a real-time progress bar in the terminal or Jupyter notebook, showing iteration count, elapsed time, and estimated time remaining.

copyleftpure Python · 3.8+
648.6Mdownloads / mo
rich Worth it
PyPI · Terminals · released Apr 2026

Rich renders styled text, tables, progress bars, syntax highlighting, markdown, and tracebacks to the terminal with minimal code.

MITpure Python · 3.9.0+
613.9Mdownloads / mo
colorama Worth it
PyPI · Terminals · released Oct 2022

Colorama makes ANSI escape sequences for colored terminal text work on Windows by intercepting and converting them to win32 API calls, while passing through unchanged on other platforms.

Install it if you need colored terminal output to work on Windows or want to use ANSI-based libraries portably; skip it only if you target non-Windows platforms…

BSD-3-Clausepure Python
431.0Mdownloads / mo
wcwidth Worth it
PyPI · Libraries · released Jun 2026

Measures the displayed width of Unicode strings in terminals, accounting for wide characters, combining marks, and terminal escape sequences that standard Python string functions mishandle.

Install it if your application formats text for terminals and handles non-ASCII characters.

MITpure Python · 3.8+
306.5Mdownloads / mo
ptyprocess With conditions
PyPI · Terminals · released Dec 2020

Run a subprocess in a pseudo terminal (pty) and interact with its input and output, enabling automation of interactive programs that require terminal features like password prompts or curses-style interfaces.

However, note that it is aging (last release 2020-12-28) and not actively maintained; it works well for its narrow, well-defined purpose but won't receive updates for…

ISCpure Pythonaging
205.2Mdownloads / mo
pexpect With conditions
PyPI · Software Development · released Nov 2023

Pexpect spawns and controls interactive console applications by sending input and matching output patterns, automating tasks that would otherwise require manual interaction.

ISCpure Pythonaging
200.8Mdownloads / mo

See also click-spinner · spinners · yaspin · progress · alive-progress · log-symbols · ascii-colors · simple-colors · crayons · terminaltexteffects