Skip to main content

Unicode spinner animations as raw frame data for Python

Project description

OpenMinion logo

unicode-animatio

Lightweight Unicode braille spinner animations for Python.

GitHub · Install · What Ships · Website · X

Package version Python License Status

  • 18 spinner families as raw frame data
  • 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
  • braille-grid helpers: make_grid and grid_to_braille
  • compatibility aliases: makeGrid and gridToBraille
  • 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
  • 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))

CLI and demos

Terminal preview:

unicode-animatio --list
unicode-animatio
unicode-animatio helix

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 currently ships these braille spinner families. The preview glyph is the first frame from each animation:

Name Preview Frames Interval
braille 10 80ms
braillewave ⠁⠂⠄⡀ 8 100ms
dna ⠋⠉⠙⠚ 12 80ms
scan ⠀⠀⠀⠀ 10 70ms
rain ⢁⠂⠔⠈ 12 100ms
scanline ⠉⠉⠉ 6 120ms
pulse ⠀⠶⠀ 5 180ms
snake ⣁⡀ 16 80ms
sparkle ⡡⠊⢔⠡ 6 150ms
cascade ⠀⠀⠀⠀ 14 60ms
columns ⡀⠀⠀ 26 60ms
orbit 8 100ms
breathe 17 100ms
waverows ⠖⠉⠉⠑ 16 90ms
checkerboard ⢕⢕⢕ 4 250ms
helix ⢌⣉⢎⣉ 16 80ms
fillsweep ⣀⣀ 11 100ms
diagswipe ⠁⠀ 16 60ms

For a live preview:

unicode-animatio --list
unicode-animatio helix
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

Project details


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.1.tar.gz (25.0 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.1-py3-none-any.whl (13.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: unicode_animatio-0.0.1.tar.gz
  • Upload date:
  • Size: 25.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for unicode_animatio-0.0.1.tar.gz
Algorithm Hash digest
SHA256 93b77e5442b925457cfc2d8f98d65c38f615f9a8c48b15b8a79bf9dbf4722a29
MD5 e57f409a2e08ea3c37601a4b58d7d8e6
BLAKE2b-256 41be6c617fe7b982648d397405a045482db893cd186a3d3624ed2e237bfc3539

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unicode_animatio-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 621f82bf533173b32d1dd660a8263ce555147d88694732011ddb49c06d59ad0e
MD5 4c5b48d1e656db1d07cc3b1468dd1605
BLAKE2b-256 838806ef2ab28e59242857e752e9281d3a6d0010f53251ceba009a8cc4f9600d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page