ViewText Documentation

Declarative text grid layouts from structured data

ViewText is a lightweight Python library for building dynamic text-based grid layouts. It provides a simple, declarative way to map structured data to formatted text output through a flexible registry and layout system.

Features

  • Field Registry: Register data getters that extract values from context objects

  • Formatter System: Built-in formatters for text, numbers, prices, dates, and relative times

  • Layout Engine: TOML-based layout definitions that map fields to grid positions

  • Extensible: Easy to add custom fields and formatters for domain-specific needs

Use Cases

  • Terminal/CLI dashboards

  • E-ink/LCD displays

  • Text-based data visualization

  • Any scenario requiring structured text layouts

Quick Example

from viewtext import LayoutEngine, LayoutLoader, BaseFieldRegistry

# Define your field registry
registry = BaseFieldRegistry()
registry.register("temperature", lambda ctx: ctx["temp"])

# Load layout from TOML
loader = LayoutLoader("layouts.toml")
layout = loader.get_layout("weather")

# Build grid output
engine = LayoutEngine(field_registry=registry)
lines = engine.build_line_str(layout, {"temp": 72})

Installation

This library is currently embedded in projects. Future: standalone PyPI package.

Contents

Indices and tables