Skip to content

kunalb/orphism

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PyPI version

Orphism

A text-based implementation of horizon charts, mostly inspired by Cubism.js. The name is based on an offshoot of cubism focused on abstraction and color.

Horizon charts in a single line of text allow for an incredible amount of resolution in minimal space: making it easier to find outliers and understand general trends in numbers. Orphism is an implementation built using Rich for advanced rendering and Unicode block characters. They also fit in remarkably well with Tufte's Small Multiples.

For fun -- and the joy of programming -- Orphism is implemented in Hy Lang. Strategically placed __init__.py files that import hy should make this completely transparent to anyone relying on the library.

This is currently a development build: please expect the API and design to change dramatically as I iterate.

Demo

Installation

Available on PyPI!

pip install orphism

This will install both a module and a CLI.

Usage

CLI

The development versions are incredibly simple: they can accept a list of numbers as arguments, or through stdin (generally a pipe).

Through stdin

echo 1 2 3 | orphism

As arguments

orphism $(echo 1 2 3)

API

A LineRenderable class represents the rich element to render a horizon chart.

import rich
from orphism.line import LineRenderable

rich.print(LineRenderable([1, 2, 3, 4]))

Updates

2023-12-15

  • First public release; 0.0.1dev2 is somewhat functional.

Examples

Temperature data from weather.gov: Central Park, NY, 2023-12 Temperatures