Skip to main content
Yanked

This release has been yanked by its maintainers, and will be ignored by installers, except when explicitly specified.
Consider using release 1.1.4 instead.

Onsaemiro

Publication-ready figures and portable scientific output for Python.

Onsaemiro is a small presentation layer for Matplotlib figures, notebook output, and terminal reports. It provides journal-sized layouts, accessible visual styles, tables, progress reporting, and concise status output without wrapping Matplotlib's plotting API.

The default style follows the Science single-column preset. Other journal presets and explicit physical sizes remain available.

Installation

pip install onsaemiro

Figures

Create figures directly, then use ordinary Matplotlib methods:

import onsaemiro as osm

osm.set_style(palette="okabe-ito")
fig, ax = osm.subplots(journal="science", column="single")

styles = osm.build_style_map(["baseline", "model"])
ax.plot(x, baseline, **styles["baseline"], label="Baseline")
ax.plot(x, prediction, **styles["model"], label="Model")
osm.finalize(ax)

osm.export_figure(fig, "figures/comparison", formats=("pdf", "png"))

figsize(journal, column) returns a configured physical size when only the dimensions are needed. Presets are practical starting points; always check the journal's current author instructions.

Tables and progress

Tables provide both plain-text and HTML representations, so the same object is readable in notebooks, terminals, and redirected logs:

table = osm.Table("Model comparison", ["Case", "RMSE"])
table.add_row("baseline", 0.041)
table.add_row("model", 0.018)
table.show()

Use track() for iterable work or update a progress object explicitly:

for case in osm.track(cases, desc="Evaluating"):
    evaluate(case)

progress = osm.Progress(total=epochs, desc="Training")
for epoch in range(epochs):
    loss = train(epoch)
    progress.set(loss=f"{loss:.4f}")
    progress.update()
progress.finish()

Terminal output

osm.echo("Run completed", tone="success")
osm.rule("Summary")

Colour is used only when the output supports it. Redirected output remains plain, and NO_COLOR and TERM=dumb are respected.

See the journal guide, API reference, and changelog for the complete public surface and release history.

Metadata

Release files for onsaemiro 1.1.1

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

Source distribution (sdist)

Source distribution for onsaemiro 1.1.1
File Size Uploaded
onsaemiro-1.1.1.tar.gz 23.2 kB Details

Built distribution (wheel)

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

Total release size: 43.9 kB

Release files / onsaemiro-1.1.1.tar.gz

Download URL onsaemiro-1.1.1.tar.gz
Size 23.2 kB
Tags Source
SHA-256 checksum
How to use checksums
2e812704999c7c927806e6cc642612745abad036f5385b961b6734078ba6dae3
BLAKE2b-256 checksum
How to use checksums
407ea214fe5e0913eb6bc6572cc60367502a4ad94cefbef328a77d531ad2a210
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.13

Release files / onsaemiro-1.1.1-py3-none-any.whl

Download URL onsaemiro-1.1.1-py3-none-any.whl
Size 20.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
92f44343a90371188237c4e9f4213215764b507d108b66edb0f7488b19c91f88
BLAKE2b-256 checksum
How to use checksums
af64ece93f4e58b940f6ae83e1f64f3ad997d51f9625bb2f902cf251d3a37857
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.13
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