Skip to main content

OpenMinion logo

unicode-animatio

Lightweight Unicode and ASCII terminal animations for Python.

GitHub · Install · What Ships · Website · X

Package version Python License Status

  • 58 terminal animation families as raw frame data
  • 10 categories for browsing and selection
  • typed Python API with JS-style compatibility aliases
  • built-in terminal preview CLI and local browser demo
  • no runtime dependencies

unicode-animatio is the public package and repo name. The Python import root remains unicode_animations, while the public CLI entrypoints use unicode-animatio and unicode-animatio-web.

Official project links

  • GitHub: https://github.com/openminion/unicode-animatio
  • Issues: https://github.com/openminion/unicode-animatio/issues

What the package provides

unicode-animatio provides:

  • immutable spinner frame data via unicode_animations.spinners
  • canonical names and categories via SPINNER_NAMES, CATEGORY_NAMES, and SPINNER_CATEGORIES
  • braille-grid helpers: make_grid and grid_to_braille
  • compatibility aliases: makeGrid and gridToBraille
  • a structural animation provider entry point for consumers such as OpenMinion
  • a terminal preview CLI: unicode-animatio
  • a local web preview CLI: unicode-animatio-web

What the package does not provide

This package does not provide:

  • async terminal rendering frameworks
  • progress bars, task orchestration, or job-state tracking
  • ANSI styling, background colors, or status text in frame data
  • hosted demo infrastructure or remote APIs
  • framework-specific adapters for Rich, Textual, or Typer

Install

Install from PyPI:

python3 -m pip install unicode-animatio

Editable install during local development:

python3 -m pip install -e ".[dev]"

Quick start

from unicode_animations import spinners

spinner = spinners["braille"]
print(spinner.frames)
print(spinner.interval)

Grid helpers:

from unicode_animations import grid_to_braille, make_grid

grid = make_grid(4, 4)
grid[0][0] = True
grid[1][1] = True
grid[2][2] = True
grid[3][3] = True

print(grid_to_braille(grid))

Provider boundary:

from unicode_animations import get_provider

provider = get_provider()
spec = provider.get("helix")
print(provider.provider_id)
print(spec.frames)
print(spec.interval_ms)

The provider returns raw frame strings and timing only. Foreground colors, backgrounds, reduced-motion behavior, labels, and layout remain owned by the rendering application.

CLI and demos

Terminal preview:

unicode-animatio --list
unicode-animatio --categories
unicode-animatio --list --category graph
unicode-animatio
unicode-animatio helix
unicode-animatio edgepulse
unicode-animatio helix --color auto --foreground gray

Local browser demo:

unicode-animatio --web
unicode-animatio-web --port 8765
unicode-animatio-web --host 0.0.0.0 --port 8765 --no-open

Python API terminal demo:

python examples/terminal_demo.py
python examples/terminal_demo.py --seconds-per-spinner 2 --loops 2
python examples/terminal_demo.py helix
python examples/terminal_demo.py --list

Available animations

The package ships 58 deterministic animations across 10 categories:

Category Presets
subtle braille, pulse, orbit, breathe, softdot, slowbreath, quietorbit, dimwave
scan scan, scanline, snake, diagswipe, hscan, vscan, radar, focusbeam
build blocks, stack, assemble, brickline
thinking ellipsis, mindwave, synapse, neuron
tool terminalblink, gearspin, wrench, sparkplug
data braillewave, dna, rain, cascade, columns, waverows, helix, bitstream, packetflow, matrixrain, columns2
graph nodes, edgepulse, cluster, orbitnodes
progress fillsweep, meter, ladder, risingblocks, fillbar2
alert sparkle, warningpulse, heartbeat, ping, flashdot
dense checkerboard, plasma, noise, moire, shimmergrid

Selected first-frame examples:

Name Category First frame Interval
braille subtle 80ms
focusbeam scan ---- 90ms
synapse thinking *.. 100ms
terminalblink tool $_ 160ms
packetflow data [>]--- 100ms
edgepulse graph o---o 90ms
meter progress [ ] 120ms
shimmergrid dense .+. 90ms

Choosing a preset

  • Use subtle for calm background activity.
  • Use scan or data for indexing and retrieval work.
  • Use thinking for model activity and tool for command execution.
  • Use graph for relation traversal and knowledge-graph work.
  • Use progress when steady forward motion matters.
  • Use alert sparingly for attention states.

For a live preview:

unicode-animatio --list
unicode-animatio --categories
unicode-animatio --list --category graph
unicode-animatio edgepulse --foreground gray
unicode-animatio --web

Development

python3 -m venv .venv
source .venv/bin/activate
python3 -m pip install -e ".[dev]"
python3 -m pytest -q
python3 -m ruff check .
python3 -m build

Package docs

Trust and Brand Safety

  • Official GitHub: https://github.com/openminion/unicode-animatio
  • Official website: https://www.openminion.com
  • Official X account: https://x.com/OpenMinion

unicode-animatio has no official token, coin, NFT, airdrop, staking program, treasury product, or investment offering. Any claim otherwise is unauthorized and should be treated as a scam.

License and brand-use boundary

  • Source code license: MIT
  • Brand/trademark grant: none

The software license grants rights to use, modify, and redistribute the code. It does not grant rights to use the unicode-animatio or OpenMinion names, logos, branding, website identity, or social identity except for truthful attribution. Forks, clones, and derivative distributions must not present themselves as the official unicode-animatio package or imply affiliation, endorsement, or maintenance by unicode-animatio or OpenMinion contributors unless that is actually true.

Community

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

unicode_animatio-0.0.3.tar.gz (41.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

unicode_animatio-0.0.3-py3-none-any.whl (17.8 kB view details)

Uploaded Python 3

File details

Details for the file unicode_animatio-0.0.3.tar.gz.

File metadata

  • Download URL: unicode_animatio-0.0.3.tar.gz
  • Upload date:
  • Size: 41.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for unicode_animatio-0.0.3.tar.gz
Algorithm Hash digest
SHA256 ae7cbbf81d97ddb6fab9694c1ce5fc86bb77873a006b39d3c101ea2c87a4c892
MD5 a7005fa51ac90aaecc15bc229bb4e210
BLAKE2b-256 874de8730c521e95b6ec1ddba53e0b6ed68a2b24cae09653ee992f8c50bffbcd

See more details on using hashes here.

Provenance

The following attestation bundles were made for unicode_animatio-0.0.3.tar.gz:

Publisher: release.yml on openminion/unicode-animatio

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file unicode_animatio-0.0.3-py3-none-any.whl.

File metadata

File hashes

Hashes for unicode_animatio-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 99579494f1e4886d06be4767a009ab1aba803ec26dde5ccad2158f6c6cf6cce5
MD5 b8510021081193a275fde16940ff76d9
BLAKE2b-256 513b31ed32a2f0d5aa3f9b43d6c81cac16495c500cd423978a97dba991fe0fee

See more details on using hashes here.

Provenance

The following attestation bundles were made for unicode_animatio-0.0.3-py3-none-any.whl:

Publisher: release.yml on openminion/unicode-animatio

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

0.0.8

2 files

0.0.7

2 files

0.0.6

2 files

0.0.5

2 files

0.0.4

2 files

This release

0.0.3 This release

2 files

0.0.2

2 files

0.0.1

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page