plotomics (Python)
High-performance bioinformatics visualization widgets backed by a shared JavaScript core, exposed to Python through anywidget.
Works in Jupyter, JupyterLab, marimo, Google Colab, VS Code, Shiny for Python and Streamlit. Large numeric columns are shipped to the browser as a single binary buffer (not JSON), so millions of points stay interactive.
import numpy as np, pandas as pd
from plotomics import Volcano
n = 200_000
df = pd.DataFrame({
"x": np.random.randn(n), # log2 fold change
"y": np.abs(np.random.randn(n)) * 3, # -log10 p-value
"label": [f"GENE{i}" for i in range(n)],
})
Volcano(df, fc_threshold=1.0, p_threshold=0.05)
Install
pip install plotomics
Shiny for Python
The widgets are anywidgets, so they render in Shiny for Python through
shinywidgets: output_widget
in the UI, @render_widget on the server:
from shiny import App, ui
from shinywidgets import output_widget, render_widget
from plotomics import Volcano
import numpy as np, pandas as pd
app_ui = ui.page_fluid(output_widget("plot"))
def server(input, output, session):
@render_widget
def plot():
n = 100_000
df = pd.DataFrame({"x": np.random.randn(n), "y": np.abs(np.random.randn(n)) * 3})
return Volcano(df)
app = App(app_ui, server)
Development
The widget JS is built from the monorepo root and copied into
src/plotomics/static/:
pnpm dist # build JS + sync bundles into this package
pip install -e ".[dev]"
pytest
Metadata
Release files for plotomics 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| plotomics-0.2.0.tar.gz | 2.4 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| plotomics-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 4.7 MB
Release files / plotomics-0.2.0.tar.gz
| Download URL | plotomics-0.2.0.tar.gz |
|---|---|
| Size | 2.4 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1364f2cc827b73a3def820fa4a11369a2992f16d7debe2ffecfd01bf8bea6f85
|
|
BLAKE2b-256 checksum How to use checksums |
0108ea19302c9ac0a9d832fb39bf4616ff8e6d3341fbdaaf31146dd575eb4adf
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 14, 2026.
Transparency logRelease files / plotomics-0.2.0-py3-none-any.whl
| Download URL | plotomics-0.2.0-py3-none-any.whl |
|---|---|
| Size | 2.4 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
bbe882d2c41697dfcfaa7be2330044d22eb5962d1c40aa9ac6ee8381889b5c86
|
|
BLAKE2b-256 checksum How to use checksums |
37ac271fdf43b8887012ef8e57cec42741756fe96421dae25883c42d4055647f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 14, 2026.
Transparency log