Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/saschagrunert/rain
Visualize vertical data inside your terminal 💦
https://github.com/saschagrunert/rain
data log logger rain rust terminal
Last synced: 8 days ago
JSON representation
Visualize vertical data inside your terminal 💦
- Host: GitHub
- URL: https://github.com/saschagrunert/rain
- Owner: saschagrunert
- License: mit
- Created: 2017-01-04T11:39:52.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2024-05-07T12:25:57.000Z (6 months ago)
- Last Synced: 2024-10-11T23:43:20.877Z (29 days ago)
- Topics: data, log, logger, rain, rust, terminal
- Language: Rust
- Homepage:
- Size: 1.52 MB
- Stars: 90
- Watchers: 5
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# rain
[![Build Status](https://travis-ci.org/saschagrunert/rain.svg)](https://travis-ci.org/saschagrunert/rain) [![Coverage Status](https://coveralls.io/repos/github/saschagrunert/rain/badge.svg)](https://coveralls.io/github/saschagrunert/rain?branch=master) [![master doc rain](https://img.shields.io/badge/master_doc-rain-blue.svg)](https://saschagrunert.github.io/rain) [![dependency status](https://deps.rs/repo/github/saschagrunert/rain/status.svg)](https://deps.rs/repo/github/saschagrunert/rain) [![License MIT](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/saschagrunert/rain/blob/master/LICENSE) [![Crates.io](https://img.shields.io/crates/v/rain.svg)](https://crates.io/crates/rain) [![doc.rs](https://docs.rs/rain/badge.svg)](https://docs.rs/rain)
## Visualize vertical data inside your terminal :sweat_drops:
This library helps you to display line based data vertically within your terminal. The color of the actual graph
represents its value, whereas blue is low and red is high. These color bounds will be calculated automatically during
runtime. Beside this, the terminal dimensions are adapted during runtime, too. If no data was added to a line, their
terminal line is dashed.![Example](https://github.com/saschagrunert/rain/raw/master/.github/example.gif)
## Example usage
```rust
use rain::Graph;// Get a drawing area
let mut graph = Graph::new();// Get some line identifiers
let l1 = "Line 1";
let l2 = "Line 1";
let l3 = "Line 1";// Add some values and print
assert!(graph.add(l1, 0).is_ok());
assert!(graph.add(l2, 0).is_ok());
graph.print();// Add more values and print
assert!(graph.add(l2, 5).is_ok());
assert!(graph.add(l3, 10).is_ok());
graph.print();// Remove a line and print
assert!(graph.remove(l1).is_ok());
graph.print();
```## Contributing
You want to contribute to this project? Wow, thanks! So please just fork it and send me a pull request.