Metadata-Version: 2.4
Name: outfancy
Version: 0.8.0
Summary: Python3.11+ library to print tables and line charts in Terminal.
Author-email: "Carlos A. Planchón" <carlosandresplanchonprestes@gmail.com>
License-Expression: MIT
Project-URL: Repository, https://github.com/carlosplanchon/outfancy.git
Keywords: rendering,graphical,terminal,chart,graph
Classifier: Intended Audience :: Developers
Classifier: Topic :: Software Development :: Build Tools
Classifier: Programming Language :: Python :: 3.11
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
Dynamic: license-file

# outfancy

*Table printing and Line plotting in Terminal*

<img src='examples/chart_auto.png'>

## Demonstration
- http://showterm.io/42f0bfa286232758acf18
- http://showterm.io/5a31927cbfdc37e116f8d

## what is it?
Outfancy is a Python3.11+ library to print tables in Terminal. It's a quick way to visualize data when you don't have a GUI and can be integrated easily in your programs. It's written in Python 3.6 and can quickly be installed anywhere using pip.

## installation
### install with pip
```
pip install outfancy
```

## features

- Quick printing of tables.
- LineChart printing with linear interpolation.
- customize the separator used, width, priority of printing for each column.
- rearrange the columns in real time.
- Add labels above the table (can be autogenerated).
- Do Oneline printing, useful for real-time applications (report in screen function).
- Add colors to the field of the tables.

### DeepWiki Docs: [https://deepwiki.com/carlosplanchon/outfancy](https://deepwiki.com/carlosplanchon/outfancy)

## usage
### In the interpreter
# Table.
```
import outfancy.table
table = outfancy.table.Table()
dataset = [(1, 'Marie'), (2, 'Joseph')]
print(table.render(dataset))
```

# Chart.
```
import outfancy.chart

from math import sin
line_chart = outfancy.chart.LineChart()

dataset = [(i, sin(i)) for i in range(10)]
line_chart.plot(dataset)
print(line_chart.render(color=True))
```

## To do (Colaboration is welcome)
- Translate code to english. (Translated) (the translation need revision from a native english speaker (I speak spanish).
- Improve y_interpolation function on outfancy.chart.LineChart
  Maybe add more kinds of charts on outfancy.chart.
  Maybe on outfancy.table:
     - Checking system on width parameter.
     - Option to cancel the automatical checking of width parameter.

## Others
- https://gist.github.com/carlosplanchon/986c7c11a932a7206bb3 (Funny demo with colors)

## Experimental (Line Chart)
<img src='examples/sin_little_2.png'>
- http://showterm.io/80074a1806e78205339d6
