Matplotlib drop-in replacement powered by Rust — 50 plot types, 15 interpolation modes, 81 colormaps, up to 18.7x faster
Project description
RustPlotLib
Matplotlib reimplemented in Rust. A high-performance drop-in replacement for Python's matplotlib, built from scratch with a native Rust rendering engine.
No Python runtime dependency for rendering. No wrappers. No subprocess calls. Pure Rust rasterization exposed to Python via PyO3.
Why RustPlotLib?
| matplotlib | Other Rust plotting libs | rustplotlib | |
|---|---|---|---|
| Rendering engine | C/C++ (AGG) | None (wrap matplotlib or call Python) | Rust native (tiny-skia) |
| External dependencies | NumPy, Pillow, FreeType, etc. | Python + matplotlib required | Zero — self-contained |
| Performance | Baseline | Same or slower (subprocess overhead) | Up to 18.7x faster |
| Python API | Original | Rust-only or generates .py scripts | Drop-in replacement — same API |
| Approach | Interpreted + C extensions | Wrappers / code generators | Full reimplementation in Rust |
Installation
pip install rustplotlib
Supports Python 3.9-3.13 on macOS, Linux, and Windows (pre-built wheels available).
Or build from source (requires Rust 1.70+ and Python 3.9+):
git clone https://github.com/Thi4gon/rustplotlib.git
cd rustplotlib
pip install maturin
maturin develop --release
Usage
Just swap your import — everything else stays the same:
# Before:
# import matplotlib.pyplot as plt
# After:
import rustplotlib.pyplot as plt
plt.plot([1, 2, 3, 4], [1, 4, 2, 3], label="data")
plt.title("My Plot")
plt.xlabel("X")
plt.ylabel("Y")
plt.legend()
plt.grid(True)
plt.savefig("plot.png")
plt.show()
What's Implemented
2D Plot Types (40+ types)
| Function | Description |
|---|---|
plot() |
Line plots with color, linestyle, linewidth, markers, markevery, labels, alpha, zorder |
scatter() |
Scatter plots with per-point sizes, colors, markers, alpha, zorder |
bar() / barh() |
Vertical and horizontal bar charts (stacked, hatch patterns, zorder) |
hist() |
Histograms with configurable bins |
imshow() |
Image/heatmap display with 70+ colormaps, bilinear interpolation, annotations |
fill_between() / fill_betweenx() |
Filled area between curves (vertical and horizontal) |
fill() |
Filled polygon from vertex arrays |
errorbar() |
Error bars with caps (xerr/yerr) |
step() |
Step plots (pre/post/mid) |
pie() |
Pie charts with labels |
boxplot() |
Box-and-whisker plots (Q1/median/Q3, whiskers, outliers) |
violinplot() |
Violin plots with Gaussian KDE |
stem() |
Stem plots with baseline |
contour() / contourf() |
Contour lines and filled contours (marching squares) |
hexbin() |
Hexagonal binning for 2D histograms |
quiver() |
Vector field arrows |
streamplot() |
Streamlines for vector fields (Euler integration) |
stackplot() |
Stacked area charts |
broken_barh() |
Broken horizontal bar charts |
eventplot() |
Event/raster plots |
pcolormesh() / pcolor() |
Pseudocolor plots for irregular grids |
matshow() |
Matrix display with integer ticks |
radar() |
Radar/spider charts |
sankey() |
Sankey flow diagrams |
spy() |
Sparsity pattern visualization |
stairs() |
Step-wise constant function with edges |
ecdf() |
Empirical cumulative distribution |
triplot() |
Triangulation edge drawing |
hist2d() |
2D histogram heatmap |
specgram() |
Spectrogram (STFT-based) |
acorr() / xcorr() |
Auto/cross correlation |
psd() |
Power spectral density (Welch) |
magnitude_spectrum() |
FFT magnitude |
angle_spectrum() / phase_spectrum() |
FFT phase |
cohere() / csd() |
Coherence / cross spectral density |
semilogx() / semilogy() / loglog() |
Convenience log-scale plots |
arrow() |
Arrow drawing |
axline() |
Infinite line through point with slope |
3D Plot Types (7 types)
| Function | Description |
|---|---|
plot() (3D) |
3D line plots |
scatter() (3D) |
3D scatter with depth sorting |
plot_surface() |
3D surface plots with colormaps |
plot_wireframe() |
3D wireframe plots |
bar3d() |
3D bar charts with shading |
plot_trisurf() |
3D triangulated surface |
contour3D() |
3D contour lines at Z offset |
Layout & Figure
| Function | Description |
|---|---|
subplots(nrows, ncols) |
Grid of axes with figsize/dpi |
subplot(nrows, ncols, index) |
Add single subplot |
subplot_mosaic() |
Named subplot layouts from ASCII art |
figure(figsize, dpi) |
Create new figure |
suptitle() |
Figure-level super title |
subplots_adjust() |
Control hspace/wspace between subplots |
tight_layout() |
Auto-adjust spacing |
add_subplot(projection='3d') |
Add 3D subplot |
clf() / cla() / close() |
Clear and close figures |
gcf() / gca() |
Get current figure/axes |
subplot2grid() |
Subplot at specific grid position |
fig.add_gridspec() |
GridSpec from figure |
fig.legend() |
Figure-level legend |
Axes Customization
| Function | Description |
|---|---|
title() / set_title() |
Plot title with fontsize |
xlabel() / ylabel() |
Axis labels with fontsize |
set_xlim() / set_ylim() |
Axis range limits |
set_xscale('log') / set_yscale('log') |
Logarithmic scale |
set_xticks() / set_yticks() |
Custom tick positions |
set_xticklabels() / set_yticklabels() |
Custom tick labels |
tick_params() |
Tick direction, length, width, labelsize |
set_aspect('equal') |
Equal aspect ratio |
invert_xaxis() / invert_yaxis() |
Invert axis direction |
axis('off') |
Hide axes completely |
set_facecolor() |
Axes background color |
spines['right'].set_visible(False) |
Spine customization |
twinx() / twiny() |
Secondary y-axis / x-axis |
zorder |
Drawing order control for all artists |
hatch |
Hatch patterns for bars (/, \\, ` |
legend() |
Legend with line+marker swatches and positioning |
grid() |
Grid lines with color, linewidth, linestyle, alpha, which |
text() |
Positioned text annotations |
annotate() |
Text with arrow pointing to data |
table() |
Data table inside axes |
axhline() / axvline() |
Horizontal/vertical reference lines |
axhspan() / axvspan() |
Shaded horizontal/vertical regions |
hlines() / vlines() |
Multiple reference lines with bounds |
colorbar() |
Color scale bar for imshow/contour |
get_xlim() / get_ylim() |
Get current axis limits (functional) |
clear() |
Clear all artists from axes |
ax.set(**kwargs) |
Set multiple properties at once |
minor=True in set_xticks/yticks |
Minor tick support |
bar_label() |
Value labels on bars |
set_xlabel(color=...) |
Label color customization |
title(loc='left') |
Title alignment |
Output Formats
| Method | Description |
|---|---|
savefig("file.png") |
Raster PNG (with dpi, transparent, bbox_inches='tight') |
savefig("file.svg") |
Native vector SVG (real <line>, <text>, <rect> elements) |
savefig("file.pdf") |
PDF output |
savefig("file.eps") |
EPS output |
show() |
Interactive window with backend auto-detection |
PdfPages |
Multi-page PDF with zlib compression |
pickle |
Save/load figures with pickle |
copy_to_clipboard() |
Copy figure as PNG to system clipboard |
to_json() / save_json() |
Export figure state as JSON |
Backends & Interactive
| Feature | Description |
|---|---|
| Backend auto-detection | Automatically selects inline (Jupyter), Tk, or Agg backend |
| Tk backend | Interactive window with toolbar, zoom/pan, coordinate display |
| WebAgg backend | Browser-based interactive viewer via HTTP server |
| Navigation toolbar | Home, Back, Forward, Pan, Zoom, Save (Tk + WebAgg) |
| Event system | mpl_connect / mpl_disconnect with CallbackRegistry |
| Pick events | Artist hit testing backed by Rust (hit_test_points, hit_test_line) |
| Mouse/Key/Scroll events | Full event hierarchy: MouseEvent, KeyEvent, PickEvent, DrawEvent, ResizeEvent, CloseEvent |
| Jupyter rich display | _repr_png_(), _repr_svg_(), _repr_html_() on Figure |
| 3D mouse rotation | Drag to rotate 3D view in Tk backend |
Animation
| Feature | Description |
|---|---|
FuncAnimation |
Function-based animation with blit support, pause/resume |
ArtistAnimation |
Frame-based animation from artist lists |
| GIF export | Save animations as GIF (via Pillow) |
| Live animation | Real-time animation in Tk backend |
Layout Engines
| Feature | Description |
|---|---|
tight_layout() |
Dynamic margins from text measurement (Rust) |
constrained_layout=True |
Constraint-based layout engine (Rust) |
GridSpec(nrows, ncols) |
Grid layout with rowspan/colspan |
SubFigure |
Nested sub-figures with independent layouts |
Figure.add_axes([l,b,w,h]) |
Custom axes positioning |
make_axes_locatable |
Axes divider for colorbar positioning |
Widgets (Rust-rendered)
| Widget | Features |
|---|---|
Slider |
Track, thumb circle, label, value display, on_changed callbacks |
RangeSlider |
Tuple values, clamp, callbacks |
Button |
Background, border, label, on_clicked callbacks |
CheckButtons |
Toggle, get_status, callbacks |
RadioButtons |
Exclusive selection, value_selected |
TextBox |
on_submit, on_text_change, set_val |
Cursor |
Crosshair following mouse, on_moved callbacks |
MultiCursor |
Cursor spanning multiple axes |
Transform System
| Component | Description |
|---|---|
Affine2D |
2D affine matrix (rotate, scale, translate, compose, invert) — Rust |
BlendedTransform |
Separate X/Y transforms — Rust |
ax.transData |
Data coordinate transform |
ax.transAxes |
Axes coordinate transform (0-1) |
fig.transFigure |
Figure coordinate transform |
Styles & Themes
| Feature | Description |
|---|---|
style.use('dark_background') |
13 built-in themes (default, dark_background, ggplot, seaborn, bmh, fivethirtyeight, grayscale, Solarize_Light2, tableau-colorblind10, seaborn-whitegrid, seaborn-darkgrid, seaborn-dark, fast) |
style.available |
List all available styles |
style.context('ggplot') |
Context manager for temporary style |
rcParams |
Functional global configuration (30+ supported keys) |
set_facecolor() |
Figure and axes background colors |
Colors
- Named: 140+ colors including all CSS/X11 colors (steelblue, coral, tomato, gold, crimson, dodgerblue, forestgreen, etc.)
- Shorthand:
"r","g","b","c","m","y","k","w" - Hex:
"#FF0000","#f00","#FF000080" - RGB/RGBA tuples:
(1.0, 0.0, 0.0),(1.0, 0.0, 0.0, 0.5) - Grey/gray variants: both spellings supported
Linestyles & Markers
- Linestyles:
-(solid),--(dashed),-.(dashdot),:(dotted) - Markers:
.os^v<>+xDd*phH8|_PX1234(24 types) - Format strings:
"r--o"= red + dashed + circle markers (parsed in Rust) - markevery: show marker every N points
Colormaps (81 base + reversed = ~162 total)
viridis plasma inferno magma cividis twilight twilight_shifted turbo hot cool coolwarm bwr seismic gray jet spring summer autumn winter copper bone pink binary ocean terrain rainbow Blues Reds Greens Oranges Purples Greys YlOrRd YlOrBr YlGnBu YlGn OrRd BuGn BuPu GnBu PuBu PuRd RdPu PuBuGn RdYlBu RdBu RdGy RdYlGn PiYG PRGn BrBG PuOr Spectral Set1 Set2 Set3 Pastel1 Pastel2 tab10 tab20 tab20b tab20c Paired Accent Dark2 afmhot brg CMRmap Wistia cubehelix hsv gnuplot gnuplot2 gist_earth gist_heat gist_ncar gist_rainbow gist_stern gist_yarg flag prism
All also available reversed with _r suffix.
Image Interpolation (15 modes)
nearest bilinear bicubic lanczos spline16 hanning hamming hermite kaiser quadric catrom gaussian bessel mitchell sinc
Text & Math Rendering
- Embedded DejaVu Sans font (no system font dependency)
- Full TeX math engine in Rust:
- Greek letters (24 lowercase + 12 uppercase)
- Subscript/superscript with Unicode characters
- Stacked fractions (
\frac{a}{b}) with horizontal bar - Square roots (
\sqrt{x}) with radical sign - Integral/sum/product with limits (
\int_a^b,\sum_{i=0}^n) - Accents:
\hat,\tilde,\vec,\dot,\ddot,\overline,\underline - Delimiters:
\left(,\right),\langle,\rangle,\lceil,\lfloor - Matrices with bracket rendering
- 60+ math operators and symbols
Geographic Projections (5 types)
| Projection | Function |
|---|---|
| Hammer | hammer_project(lon, lat) |
| Aitoff | aitoff_project(lon, lat) |
| Mollweide | mollweide_project(lon, lat) |
| Lambert Conformal Conic | lambert_project(lon, lat, lat1, lat2) |
| Stereographic | stereographic_project(lon, lat, lon0, lat0) |
All with batch versions and generate_graticule() for grid lines.
Data Integration
- Pandas: plot directly from DataFrame/Series (optional dependency)
- NumPy: full array support
- NaN handling: automatic gaps in line plots for NaN/Inf values
- Dates:
date2num(),num2date(), date formatters and locators - Categorical axes: string-based x values automatically converted
Compatibility Modules (25 modules)
| Module | Status |
|---|---|
rustplotlib.pyplot |
Full implementation (50+ functions) |
rustplotlib.style |
Full implementation (6 themes) |
rustplotlib.animation |
FuncAnimation + GIF export |
rustplotlib.widgets |
Functional (Slider, Button, CheckButtons, RadioButtons, TextBox, RangeSlider, Cursor) |
rustplotlib.font_manager |
FontProperties |
rustplotlib.ticker |
12 Formatters + 10 Locators (functional) |
rustplotlib.patches |
Rectangle, Circle, Polygon, FancyBboxPatch, Wedge, FancyArrowPatch |
rustplotlib.colors |
LinearSegmentedColormap, Normalize, LogNorm, BoundaryNorm |
rustplotlib.dates |
Date conversion, DateFormatter, DateLocator, Auto/Day/Month/Year/Hour/MinuteLocator |
rustplotlib.gridspec |
GridSpec, SubplotSpec |
rustplotlib.backends |
Backend system with auto-detection (inline/tk/agg), PdfPages |
rustplotlib.backends.backend_base |
FigureCanvasBase, FigureManagerBase, NavigationToolbar2 |
rustplotlib.backends.backend_tk |
Tk interactive window with toolbar and events |
rustplotlib.mpl_toolkits.mplot3d |
Axes3D for 3D plotting |
rustplotlib.cm |
Colormap access by name |
rustplotlib.collections |
LineCollection, PathCollection, PatchCollection |
rustplotlib.lines |
Line2D with get/set methods |
rustplotlib.text |
Text, Annotation |
rustplotlib.transforms |
Bbox, Affine2D, BboxTransform |
rustplotlib.patheffects |
Stroke, withStroke, SimplePatchShadow |
rustplotlib.spines |
Spine |
rustplotlib.axes |
Axes class reference |
rustplotlib.figure |
Figure class with Jupyter rich display (_repr_png_, _repr_svg_, _repr_html_) |
rustplotlib.events |
MouseEvent, KeyEvent, DrawEvent, ResizeEvent, CloseEvent |
rustplotlib.callback_registry |
CallbackRegistry for mpl_connect/mpl_disconnect |
rustplotlib.cycler |
cycler compatibility |
Examples
Subplots
import rustplotlib.pyplot as plt
import numpy as np
fig, axes = plt.subplots(2, 2, figsize=(10, 8))
x = np.linspace(0, 10, 100)
axes[0][0].plot(x, np.sin(x), label="sin(x)")
axes[0][0].plot(x, np.cos(x), label="cos(x)", linestyle="--")
axes[0][0].set_title("Trigonometry")
axes[0][0].legend()
axes[0][0].grid(True)
axes[0][1].scatter(np.random.randn(200), np.random.randn(200), alpha=0.5)
axes[0][1].set_title("Random Scatter")
axes[1][0].bar([1, 2, 3, 4, 5], [3, 7, 2, 5, 8], color="green")
axes[1][0].set_title("Bar Chart")
axes[1][1].hist(np.random.randn(5000), bins=40, color="orange")
axes[1][1].set_title("Distribution")
fig.savefig("subplots.png")
3D Surface Plot
import rustplotlib.pyplot as plt
import numpy as np
fig = plt.figure(figsize=(10, 8))
ax = fig.add_subplot(111, projection='3d')
X = np.linspace(-5, 5, 50)
Y = np.linspace(-5, 5, 50)
X, Y = np.meshgrid(X, Y)
Z = np.sin(np.sqrt(X**2 + Y**2))
ax.plot_surface(X.tolist(), Y.tolist(), Z.tolist(), cmap='viridis')
ax.set_xlabel("X")
ax.set_ylabel("Y")
ax.set_zlabel("Z")
plt.savefig("surface3d.png")
Dark Mode
import rustplotlib.pyplot as plt
import rustplotlib.style as style
style.use('dark_background')
plt.plot([1, 2, 3, 4], [1, 4, 2, 3], 'c-o', linewidth=2)
plt.title("Dark Mode")
plt.savefig("dark.png")
Animation
import rustplotlib.pyplot as plt
from rustplotlib.animation import FuncAnimation
import numpy as np
fig, ax = plt.subplots()
x = np.linspace(0, 2 * np.pi, 100)
def update(frame):
ax.plot(x, np.sin(x + frame * 0.1), color='blue')
ax.set_title(f"Frame {frame}")
anim = FuncAnimation(fig, update, frames=50)
anim.save("wave.gif")
Performance Benchmark
Benchmarked against matplotlib on Apple Silicon (M-series, release build). Each test runs 10 iterations, averaged:
| Benchmark | matplotlib | rustplotlib | Speedup |
|---|---|---|---|
| Line Plot (10k pts) | 0.024s | 0.005s | 4.7x |
| Scatter (5k pts) | 0.027s | 0.020s | 1.3x |
| Bar Chart (50 bars) | 0.024s | 0.004s | 5.7x |
| Histogram (100k pts) | 0.087s | 0.005s | 18.7x |
| Subplots 2x2 | 0.038s | 0.010s | 3.9x |
| Heatmap (100x100) | 0.019s | 0.005s | 3.7x |
| Large Line (100k pts) | 0.109s | 0.110s | 1.0x |
| Multi-line (20 lines) | 0.085s | 0.029s | 2.9x |
| Error Bars | 0.021s | 0.004s | 5.9x |
| Pie Chart | 0.009s | 0.004s | 2.4x |
| SVG Output | 0.021s | 0.003s | 7.6x |
| Full Styled Plot | 0.018s | 0.005s | 3.9x |
| TOTAL | 0.481s | 0.203s | 2.4x |
Wins 11 out of 12 benchmarks. Up to 18.7x faster on histogram rendering.
Run the benchmark yourself:
maturin develop --release
python tests/test_benchmark.py
Tech Stack
| Component | Technology | Purpose |
|---|---|---|
| 2D Rendering | tiny-skia | Rasterization (paths, shapes, antialiasing) |
| SVG Rendering | Custom SVG renderer | Native vector SVG output |
| Fonts | ab_glyph | Text rendering with embedded DejaVu Sans |
| PNG output | png | PNG encoding |
| Window | winit + softbuffer | Interactive display |
| 3D Projection | Custom | Orthographic 3D-to-2D with camera control |
| Python bindings | PyO3 + maturin | Rust-to-Python bridge |
| NumPy interop | numpy (PyO3) | Array conversion |
Architecture
Python: import rustplotlib.pyplot as plt
|
v
pyplot.py (matplotlib-compatible API layer)
|
v
PyO3 bridge (Rust <-> Python)
|
v
Rust core:
Figure --> Axes (2D) ---------> Artists (Line2D, Scatter, Bar, ...)
| |
--> Axes3D -----------> Artists3D (Line3D, Surface3D, ...)
|
v
Transform / Camera
|
+------------+------------+
| | |
tiny-skia SvgRenderer PDF gen
(raster) (vector) (document)
| | |
PNG SVG PDF
Security
- Zero
unsafeblocks in the entire Rust codebase - Path validation in
savefig()(extension whitelist, path traversal rejection) - Dimension validation (max 32768x32768 pixels)
- Unique temp file names (no symlink race conditions)
- Input validation on all PyO3 boundaries
- No
.unwrap()on user-controlled data — proper error handling throughout
Contributing
Contributions are welcome! This is an open-source project under the MIT license.
- Fork the repo
- Create a feature branch
- Open a PR against
master - PRs require at least 1 review before merging
Project stats:
- 53 Rust source files — 30,000+ lines of native code
- 25+ Python modules — thin PyO3 wrappers
- 50 plot types (43 2D + 7 3D) — 100% of matplotlib plot types
- 81 colormaps + reversed = ~162 total (~95% of matplotlib)
- 550+ tests passing (including 27 rendering regression tests)
- 110/110 pyplot functions, 95/95 Axes methods, 36/36 Figure methods
- 15 interpolation modes: nearest, bilinear, bicubic, lanczos, spline16, hanning, hamming, hermite, kaiser, quadric, catrom, gaussian, bessel, mitchell, sinc
- 5 geographic projections: Hammer, Aitoff, Mollweide, Lambert, Stereographic
- 4 backends: Agg, Tk (interactive), Jupyter inline, WebAgg (browser)
- 4 output formats: PNG, SVG, PDF (multi-page), EPS
- Full TeX math engine: Greek, sub/superscript, fractions, sqrt, matrices
- Full transform system: Affine2D, BlendedTransform, transData/transAxes
- Full event system: mouse, keyboard, pick events with Rust hit testing
- Widgets: Slider, Button, CheckButtons, RadioButtons, TextBox (Rust rendering)
- Layout engines: tight layout, constrained layout, GridSpec rowspan/colspan, SubFigure
- Zero
unsafeblocks
Remaining (need external dependencies):
- Qt/GTK/macOS backends (need PyQt5, PyGObject, PyObjC)
- Math font rendering (need Computer Modern .ttf files)
- Basemap coastlines (need Natural Earth shapefiles)
License
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 Distributions
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 rustplotlib-5.1.0.tar.gz.
File metadata
- Download URL: rustplotlib-5.1.0.tar.gz
- Upload date:
- Size: 655.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.12.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
77eb39721692d8f9053f9447dc7aae6da0c074ad91be5592037d710b5d497b05
|
|
| MD5 |
96788d6786dad9ecf6b233b554542755
|
|
| BLAKE2b-256 |
8d9ccbe96b25bf67d531a2003929879f6e7dd333828ab84c3949d22258589482
|
File details
Details for the file rustplotlib-5.1.0-cp313-cp313-win_amd64.whl.
File metadata
- Download URL: rustplotlib-5.1.0-cp313-cp313-win_amd64.whl
- Upload date:
- Size: 1.5 MB
- Tags: CPython 3.13, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.12.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6d52531f7f731ed87a92cde609df7fcf2b64b8a5222f96f57010ff5a0ef4ab1a
|
|
| MD5 |
4f69177243a1c6a45a8dc618a0d8ea47
|
|
| BLAKE2b-256 |
ef49ec6baee2980e91ac04824bae74ecd36ef6298dd689fea073e5ea0de00ab0
|
File details
Details for the file rustplotlib-5.1.0-cp313-cp313-manylinux_2_39_x86_64.whl.
File metadata
- Download URL: rustplotlib-5.1.0-cp313-cp313-manylinux_2_39_x86_64.whl
- Upload date:
- Size: 2.8 MB
- Tags: CPython 3.13, manylinux: glibc 2.39+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.12.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a26e5befe134f4615dca0eea3e4ea2a5f3a52902935f0b5cbf08f982b8f273e8
|
|
| MD5 |
6e34e3999192a724b46dbd90245dafc9
|
|
| BLAKE2b-256 |
c7294fdd6f69b8f1ce4864cdc674311b23014c42cc74a7c7469075742fc5596e
|
File details
Details for the file rustplotlib-5.1.0-cp313-cp313-macosx_11_0_arm64.whl.
File metadata
- Download URL: rustplotlib-5.1.0-cp313-cp313-macosx_11_0_arm64.whl
- Upload date:
- Size: 1.5 MB
- Tags: CPython 3.13, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.12.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
aae54942b4bb35516496d60d0a5b2a2ac8a36e076c80d71e321d0b832f8b83e9
|
|
| MD5 |
f9ec3ddc5d12c5ca701f54672433a9cc
|
|
| BLAKE2b-256 |
7b2ee4cfc8fcc68ba75cda2a95a52eae15054367b6ce67dd0c03dc126f99d6d1
|
File details
Details for the file rustplotlib-5.1.0-cp312-cp312-win_amd64.whl.
File metadata
- Download URL: rustplotlib-5.1.0-cp312-cp312-win_amd64.whl
- Upload date:
- Size: 1.5 MB
- Tags: CPython 3.12, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.12.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ecb57070a35a9bf3b8f536c12ff9eda5f2f683e91b689accdd3194e2ffd44fb5
|
|
| MD5 |
c536466f68f8697b74ae6aa104c19af2
|
|
| BLAKE2b-256 |
e62270a241166b8976d3202ae8193fbdb5bbc3d94c73147e0f1ee31563ae46d2
|
File details
Details for the file rustplotlib-5.1.0-cp312-cp312-manylinux_2_39_x86_64.whl.
File metadata
- Download URL: rustplotlib-5.1.0-cp312-cp312-manylinux_2_39_x86_64.whl
- Upload date:
- Size: 2.8 MB
- Tags: CPython 3.12, manylinux: glibc 2.39+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.12.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b081f65b20e878843a97f44c206aaa457cdd668e414b2d8c111d1bb574caae59
|
|
| MD5 |
2bd9c78126d9852d61ac351e8bbd693a
|
|
| BLAKE2b-256 |
a2c628fb949c113f01017f69102895af7de789ca40f83cb819ae4ba028313264
|
File details
Details for the file rustplotlib-5.1.0-cp312-cp312-macosx_11_0_arm64.whl.
File metadata
- Download URL: rustplotlib-5.1.0-cp312-cp312-macosx_11_0_arm64.whl
- Upload date:
- Size: 1.5 MB
- Tags: CPython 3.12, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.12.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3c8a62b4621f8d552ccc166c5c3e2df4d4027bc728201f0d406bdc5588612a20
|
|
| MD5 |
22c82f639b24a25640235ca2e7c89373
|
|
| BLAKE2b-256 |
ed3816f4c512d031dd0870e984a56fe717cc78e41eb73c3187c63004e149d2ba
|
File details
Details for the file rustplotlib-5.1.0-cp311-cp311-win_amd64.whl.
File metadata
- Download URL: rustplotlib-5.1.0-cp311-cp311-win_amd64.whl
- Upload date:
- Size: 1.5 MB
- Tags: CPython 3.11, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.12.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7db9a1374175c41f7cc4b2853f1b1fe0a920ccb5cf6ad9a8e84106052e00d1a0
|
|
| MD5 |
c17a32191d3cd69e2adda9dc3edb9372
|
|
| BLAKE2b-256 |
2a096d27b70627c2e80c18446ca0cf5edc6f455cda9f3bc49d9de706a5cf7325
|
File details
Details for the file rustplotlib-5.1.0-cp311-cp311-manylinux_2_39_x86_64.whl.
File metadata
- Download URL: rustplotlib-5.1.0-cp311-cp311-manylinux_2_39_x86_64.whl
- Upload date:
- Size: 2.8 MB
- Tags: CPython 3.11, manylinux: glibc 2.39+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.12.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a776c5fe6f20f2ba94a72bbe725d586def3f4edaa718eeaf20846f3162802d08
|
|
| MD5 |
1fb689180af6f13842da2cfbfca924b6
|
|
| BLAKE2b-256 |
2aa3f0a6637c1840abd9c3bdbc2668be2889395423e6b463189defdbfa9e48ed
|
File details
Details for the file rustplotlib-5.1.0-cp311-cp311-macosx_11_0_arm64.whl.
File metadata
- Download URL: rustplotlib-5.1.0-cp311-cp311-macosx_11_0_arm64.whl
- Upload date:
- Size: 1.5 MB
- Tags: CPython 3.11, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.12.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
850609b59f261d4ccb04911e630bf01a70d38362ec607657f83b8cf537955a66
|
|
| MD5 |
2a07d3e077961db8a5a476ca01fe35ae
|
|
| BLAKE2b-256 |
1ad06eecf3e1287a3351ed2b4637f558653c7fe174d88fb9c5c87610b7bf73b3
|
File details
Details for the file rustplotlib-5.1.0-cp310-cp310-win_amd64.whl.
File metadata
- Download URL: rustplotlib-5.1.0-cp310-cp310-win_amd64.whl
- Upload date:
- Size: 1.5 MB
- Tags: CPython 3.10, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.12.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1cbabb51888f28125dc1ffa46d73f1d3dec101085ca3e0eee933bc121db568a4
|
|
| MD5 |
446ad3a03067a63621b863564ef8b17d
|
|
| BLAKE2b-256 |
0c09e033a3ce4e2759414d1ba7f1bba62c88713d536d02fb1733c05499cb68ec
|
File details
Details for the file rustplotlib-5.1.0-cp310-cp310-manylinux_2_39_x86_64.whl.
File metadata
- Download URL: rustplotlib-5.1.0-cp310-cp310-manylinux_2_39_x86_64.whl
- Upload date:
- Size: 2.8 MB
- Tags: CPython 3.10, manylinux: glibc 2.39+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.12.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c2271a573c0708fe4cd41766c3e736579a5e6a1bc2a793290543bda2e0e9653d
|
|
| MD5 |
3ee1c86fa2d577cdc6a61c0594c888e6
|
|
| BLAKE2b-256 |
e849eddc867ce881487dcb68e2b503ea40defb6b9b6169102dc89903f40f099a
|
File details
Details for the file rustplotlib-5.1.0-cp310-cp310-macosx_11_0_arm64.whl.
File metadata
- Download URL: rustplotlib-5.1.0-cp310-cp310-macosx_11_0_arm64.whl
- Upload date:
- Size: 1.5 MB
- Tags: CPython 3.10, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.12.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
de1c3575325759e6c52755bf712376f0b0b897adcea6c9a115cfc3144330d876
|
|
| MD5 |
e146aa43bcc09b161b37a539eacf64f3
|
|
| BLAKE2b-256 |
a53b7269b1ea743128f58b01628dcefc6a29be8b0b5b1649a4cf164391db7427
|
File details
Details for the file rustplotlib-5.1.0-cp39-cp39-win_amd64.whl.
File metadata
- Download URL: rustplotlib-5.1.0-cp39-cp39-win_amd64.whl
- Upload date:
- Size: 1.5 MB
- Tags: CPython 3.9, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.12.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f5f56d592a945e54621225dd415e27f1ca8e2c89d82c3eebbbe68c259a300d73
|
|
| MD5 |
55e266a9ebb27c1a15585119e9545a3b
|
|
| BLAKE2b-256 |
082d925fd643fdb6f7e0d41d5985f40a0da15a396bdfe4a83e131848857d15cf
|
File details
Details for the file rustplotlib-5.1.0-cp39-cp39-manylinux_2_39_x86_64.whl.
File metadata
- Download URL: rustplotlib-5.1.0-cp39-cp39-manylinux_2_39_x86_64.whl
- Upload date:
- Size: 2.8 MB
- Tags: CPython 3.9, manylinux: glibc 2.39+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.12.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e5d1bf7af213c8516db878a03c30d83561e2a9835d67887b40e8d8a189da3708
|
|
| MD5 |
842161a28a5f721dcc0dd8730933b183
|
|
| BLAKE2b-256 |
1e072b57edb0c326c9c4b47872c92770099756df8e5cbad51aa5864e080b988f
|
File details
Details for the file rustplotlib-5.1.0-cp39-cp39-macosx_11_0_arm64.whl.
File metadata
- Download URL: rustplotlib-5.1.0-cp39-cp39-macosx_11_0_arm64.whl
- Upload date:
- Size: 1.5 MB
- Tags: CPython 3.9, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.12.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ff092bb0ebd8fb64fa21644f39c0b434d18053b92bf0e23051ef769393a6225d
|
|
| MD5 |
84374a5d174b92d536b2e74d0c4473d7
|
|
| BLAKE2b-256 |
9a728be06611b616b30c7c77f71aabce90485936fb88837f641f22130476ef47
|