Unicode spinner animations as raw frame data for Python
Project description
unicode-animatio
Lightweight Unicode braille spinner animations for Python.
GitHub · Install · What Ships · Website · X
- 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_gridandgrid_to_braille - compatibility aliases:
makeGridandgridToBraille - 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
93b77e5442b925457cfc2d8f98d65c38f615f9a8c48b15b8a79bf9dbf4722a29
|
|
| MD5 |
e57f409a2e08ea3c37601a4b58d7d8e6
|
|
| BLAKE2b-256 |
41be6c617fe7b982648d397405a045482db893cd186a3d3624ed2e237bfc3539
|
File details
Details for the file unicode_animatio-0.0.1-py3-none-any.whl.
File metadata
- Download URL: unicode_animatio-0.0.1-py3-none-any.whl
- Upload date:
- Size: 13.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
621f82bf533173b32d1dd660a8263ce555147d88694732011ddb49c06d59ad0e
|
|
| MD5 |
4c5b48d1e656db1d07cc3b1468dd1605
|
|
| BLAKE2b-256 |
838806ef2ab28e59242857e752e9281d3a6d0010f53251ceba009a8cc4f9600d
|