Skip to content

rs_rich.micro

Generated from the type stubs by scripts/gen_python_api.py; do not edit.

rs_rich.micro: micro assets (rs-rich-micro; no Rich counterpart).

Emoji-sized inline images and animations, written :micro:name::

  • MicroRegistry holds assets in layers, built-in < user < trusted project < inline; MicroRegistry() has the built-in library (status/success, status/loading, dev/bug, fun/heart, ...).
  • MicroAsset is one asset: name, size in cells ("2x1" by default), kind, alt text, emoji and text fallbacks, licence. It is a renderable that always takes exactly its cells.
  • MicroMarkup(markup) is console markup with :micro:name: tokens; it draws images through Kitty, iTerm2, Sixel or half-blocks when the console is a terminal that shows them, and each asset's fallback anywhere else. micro_markup returns the parsed Text and what was left as written.
  • micro_create_package runs an image through the pipeline (fit, contrast, sharpen, transparency) and writes a package; micro_load_package reads one. micro_mode says how this terminal would draw assets.

The Rust names are kept; Registry, Asset, Markup, markup, load_package, create_package and mode are shorter aliases.

Registry module-attribute

Registry = MicroRegistry

Asset module-attribute

Asset = MicroAsset

Markup module-attribute

Markup = MicroMarkup

markup module-attribute

markup = micro_markup

load_package module-attribute

load_package = micro_load_package

create_package module-attribute

create_package = micro_create_package

mode module-attribute

mode = micro_mode

MicroAsset

An emoji-sized image or animation; renders as exactly its cells.

name property

name: str

alt property

alt: str

size property

size: str

cols property

cols: int

kind property

kind: Literal['static', 'animated']

emoji property

emoji: Optional[str]

text property

text: Optional[str]

aliases property

aliases: List[str]

license property

license: Optional[str]

version property

version: Optional[str]

author property

author: Optional[str]

layer property

layer: Literal['built-in', 'user', 'project', 'inline']

origin property

origin: str

fallback

fallback(preference: MicroPreference = 'emoji') -> str

placeholder

placeholder(preference: MicroPreference = 'emoji') -> Text

MicroError

Bases: Exception

A micro asset, package or lookup was rejected.

MicroMarkup

Console markup with :micro:name: tokens, drawn as the console can.

markup property

markup: str

MicroRegistry

Assets in layers: built-in < user < trusted project < inline.

rejected property

rejected: List[str]

names

names() -> List[str]

assets

assets(layer: Optional[Literal['built-in', 'user', 'project', 'inline']] = None) -> List[MicroAsset]

get

get(name: str) -> Optional[MicroAsset]

require

require(name: str) -> MicroAsset

add

add(asset: MicroAsset) -> List[str]

explain

explain(name: str) -> Optional[str]

micro_create_package

micro_create_package(image: Any, dest: Any, *, name: str, alt: str, emoji: Optional[str] = None, text: Optional[str] = None, size: Literal['2x1', '1x1'] = '2x1', fit: Literal['contain', 'cover', 'stretch'] = 'contain', contrast: float = 1.0, brightness: float = 1.0, gamma: float = 1.0, sharpen: Optional[float] = None, transparency: Optional[int] = 128, license: Optional[str] = None, author: Optional[str] = None, version: Optional[str] = None, archive: bool = False) -> MicroAsset

micro_load_package

micro_load_package(path: Any) -> MicroAsset

micro_markup

micro_markup(markup: str, registry: Optional[MicroRegistry] = None, preference: MicroPreference = 'emoji') -> Tuple[Text, List[str]]

micro_mode

micro_mode() -> Tuple[Literal['kitty', 'iterm', 'sixel', 'blocks', 'text'], str]