Skip to content

Golang table model, with renderers for multiple backends

License

Notifications You must be signed in to change notification settings

PennockTech/tabular

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

46 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

tabular

Continuous Integration Documentation Coverage Status Current Tag Issues Repo Size

The tabular package provides a Golang library for storing data in a table consisting of rows and columns. Sub-packages provide for rendering such a table as a terminal box-table (line-drawing with UTF-8 box-drawing in various styles, or ASCII), as HTML, or as CSV data.

The core data model is designed to be extensible and powerful, letting such a table be embedded in various more sophisticated models. (Eg, core of a spreadsheet). Cells in the table contain arbitrary data and possess metadata in the form of "properties", modelled after the context package's Context.

A table can be created from the base package and then populated, before being passed to any of the renderers, or a table can be directly created using a sub-package, such that you probably won't need to import the base package directly.

An overview guide to the codebase can be found in the Overview.md

The usage documentation is in Godoc format

See the examples for a gentler introduction.

This package should be installable in the usual go get manner.

This software is under a MIT-type license.

When embedding into another tool, Go Modules support is able to report on the version numbers of all dependencies with go version -m $cmdname; to support your own version reporting framework, go.pennock.tech/tabular.Versions() returns a slice of strings (including API versions and the value of the LinkerSpecifiedVersion top-level variable).

This package uses semantic versioning.
Note that Go only supports the most recent two minor versions of the language; for the purposes of semver, we do not consider it a breaking change to add a dependency upon a language or standard library feature supported by all currently-supported releases of Go.


Projects using Tabular

  • character — Unicode character lookups and manipulations