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.2

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.2
File Size Uploaded
onsaemiro-1.1.2.tar.gz 23.3 kB Details

Built distribution (wheel)

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

Total release size: 44.0 kB

Release files / onsaemiro-1.1.2.tar.gz

Download URL onsaemiro-1.1.2.tar.gz
Size 23.3 kB
Tags Source
SHA-256 checksum
How to use checksums
57e2c6f5737093bf53a956e2de0d6d4b868fcb28d082238819c5e3c012c68fdd
BLAKE2b-256 checksum
How to use checksums
239af8c0fafa5748c01db3637fe1d19db079dd6ad069cf2fd2b51ca1f4fd7701
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.2-py3-none-any.whl

Download URL onsaemiro-1.1.2-py3-none-any.whl
Size 20.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
52ba2df795e7b31636975c6868dbcd25af67d5ceadc43885b28c8656f9564dff
BLAKE2b-256 checksum
How to use checksums
cdd78092e905de31c7aac60ea39aa734503a27d81100344a230d938ffd13798f
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