Skip to content

Roadmap

We (textualize.io) are actively building and maintaining Textual.

We have many new features in the pipeline. This page will keep track of that work.

Features

High-level features we plan on implementing.

  • Accessibility
    • Integration with screen readers
    • Monochrome mode
    • High contrast theme
    • Color-blind themes
  • Command palette
    • Fuzzy search
  • Configuration (.toml based extensible configuration format)
  • Console
  • Devtools
    • Integrated log
    • DOM tree view
    • REPL
  • Reactive state abstraction
  • Themes
    • Customize via config
    • Builtin theme editor

Widgets

Widgets are key to making user-friendly interfaces. The builtin widgets should cover many common (and some uncommon) use-cases. The following is a list of the widgets we have built or are planning to build.

  • Buttons
    • Error / warning variants
  • Color picker
  • Checkbox
  • Content switcher
  • DataTable
    • Cell select
    • Row / Column select
    • API to update cells / rows
    • Lazy loading API
  • Date picker
  • Drop-down menus
  • Form Widget
    • Serialization / Deserialization
    • Export to attrs objects
    • Export to PyDantic objects
  • Image support
    • Half block
    • Braille
    • Sixels, and other image extensions
  • Input
    • Validation
    • Error / warning states
    • Template types: IP address, physical units (weight, volume), currency, credit card etc
  • Select control (pull-down)
  • Markdown viewer
    • Collapsible sections
    • Custom widgets
  • Plots
    • bar chart
    • line chart
    • Candlestick chars
  • Progress bars
    • Style variants (solid, thin etc)
  • Radio boxes
  • Spark-lines
  • Switch
  • Tabs
  • TextArea (multi-line input)
    • Basic controls
    • Indentation guides
    • Smart features for various languages
    • Syntax highlighting