[WIP] Compose once, chart anywhere with gguppy
Project description
gguppy
[!CAUTION] 🚧 This package is still in work and subject to great change.
gguppy (né arwggplot) is an interactive, unified, Layered Grammar of Graphics implementation in pure Rust.
Compose once, chart anywhere with gguppy.
Why gguppy?
1. Friendly syntax
Rust is strange for python and R users. gguppy aims to provide a familiar, friendly and ergonomic syntax. You can even
write in different coding styles.
Grammar of Graphics is a first class citizen in gguppy:
use gguppy::prelude::*;
// let df = minidf!["x" => &[1, 2, 3], "y" => &[4, 5, 6]];
// let plot = ggplot![df, aes("x", "y")] + geom_point![];
A MATLAB/matplotlib-esque syntax will also be supported.
use gguppy::prelude::*;
// fig, axis = mplot![];
2. Batteries included
gguppy aims to allow you to write once, plot anywhere using its flexible and extensible architecture.
3. Speed
Workspace Structure
Crates
-
🛠️
gguppy_core- 🛠️ Implementation of the Grammar of Graphics in
no_stdRust - 🛠️ Consumes any DataFrame-like structure implementing the
GGDatatrait - 🛠️ Extensible with any plot types implementing the
GGCapabletrait - 🛠️ Produces geometric primitives implementing the
DrawablePrimtrait - 🛠️ Compiles for static desktop display or interactive wasm plots
- 🛠️ Implementation of the Grammar of Graphics in
-
🛠️
gguppy_data- 🛠️ Minimalist DataFrame-like
minidfplottable bygguppyinno_stdRust - 🛠️ Features adapters for
arrowandarrow2 - 🛠️ Features adapters for
polars,pandas, and more
- 🛠️ Minimalist DataFrame-like
-
🛠️
arwggplot- 🛠️ Minimalist svg backend for
gguppyinno_stdRust - 🛠️ Features vector backends to svg, eps, and more
- 🛠️ Features raster backends to bmp, png, and more
- 🛠️ Minimalist svg backend for
Module Layout
- src
- lib.rs -
modandre-export - prelude.rs -
usestatements for the entire library
- lib.rs -
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file gguppy-0.1.0.tar.gz.
File metadata
- Download URL: gguppy-0.1.0.tar.gz
- Upload date:
- Size: 7.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.6.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4d969f8a6fcb3d9e9a551c94b33b2c613c2e2df79a2c7ace6bdf990d33805b6e
|
|
| MD5 |
370b3f654a46ca4d1d88ddfea681facd
|
|
| BLAKE2b-256 |
0f41e43218d8c21c59f944347a1bd5dbf4e3050dcd1f2ed58c68d61d3c666bf9
|
File details
Details for the file gguppy-0.1.0-py3-none-any.whl.
File metadata
- Download URL: gguppy-0.1.0-py3-none-any.whl
- Upload date:
- Size: 7.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.6.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f0101f1ec999cdcf4c34f5995c4e4a88e6a2e47670013ee6bc2255a8c00f95b2
|
|
| MD5 |
c660f6708d1bf601683a774b42cbbf8b
|
|
| BLAKE2b-256 |
3ffd306b038f05e5bc18ca46ce9ae4bc195848ba89c9572b2d1f205e96311190
|