pyout is a Python package that defines an interface for writing
structured records as a table in a terminal. It is being developed to
replace custom code for displaying tabular data in in ReproMan and
DataLad. See the Examples folder for how to get started.
A primary goal of the interface is the separation of content from style and presentation. Current capabilities include
- automatic width adjustment and updating of previous values
- styling based on a field value or specified interval
- defining a transform function that maps a raw value to the displayed value
- defining a summary function that generates a summary of a column (e.g., value totals)
- support for delayed, asynchronous values that are added to the table as they come in
This package is currently in early stages of development. While it should be usable in its current form, it may change in substantial ways that break backward compatibility, and many aspects currently lack polish and documentation.
pyout requires Python 3 (>= 3.7). It is developed and tested in
GNU/Linux environments and is expected to work in macOS environments
as well. There is currently very limited Windows support.
pyout is under the MIT License. See the COPYING file.