Skip to main content

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_std Rust
    • 🛠️ Consumes any DataFrame-like structure implementing the GGData trait
    • 🛠️ Extensible with any plot types implementing the GGCapable trait
    • 🛠️ Produces geometric primitives implementing the DrawablePrim trait
    • 🛠️ Compiles for static desktop display or interactive wasm plots
  • 🛠️ gguppy_data

    • 🛠️ Minimalist DataFrame-like minidf plottable by gguppy in no_std Rust
    • 🛠️ Features adapters for arrow and arrow2
    • 🛠️ Features adapters for polars, pandas, and more
  • 🛠️ arwggplot

    • 🛠️ Minimalist svg backend for gguppy in no_std Rust
    • 🛠️ Features vector backends to svg, eps, and more
    • 🛠️ Features raster backends to bmp, png, and more

Module Layout

  • src

Metadata

Release files for gguppy 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for gguppy 0.1.0
File Size Uploaded
gguppy-0.1.0.tar.gz 7.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for gguppy 0.1.0
File Interpreter ABI Platform
gguppy-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 15.3 kB

Release files / gguppy-0.1.0.tar.gz

Download URL gguppy-0.1.0.tar.gz
Size 7.6 kB
Tags Source
SHA-256 checksum
How to use checksums
4d969f8a6fcb3d9e9a551c94b33b2c613c2e2df79a2c7ace6bdf990d33805b6e
BLAKE2b-256 checksum
How to use checksums
0f41e43218d8c21c59f944347a1bd5dbf4e3050dcd1f2ed58c68d61d3c666bf9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.6.5

Release files / gguppy-0.1.0-py3-none-any.whl

Download URL gguppy-0.1.0-py3-none-any.whl
Size 7.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f0101f1ec999cdcf4c34f5995c4e4a88e6a2e47670013ee6bc2255a8c00f95b2
BLAKE2b-256 checksum
How to use checksums
3ffd306b038f05e5bc18ca46ce9ae4bc195848ba89c9572b2d1f205e96311190
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.6.5

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page