Skip to main content

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

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

plotomics-0.1.0.tar.gz (2.4 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

plotomics-0.1.0-py3-none-any.whl (2.4 MB view details)

Uploaded Python 3

File details

Details for the file plotomics-0.1.0.tar.gz.

File metadata

  • Download URL: plotomics-0.1.0.tar.gz
  • Upload date:
  • Size: 2.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for plotomics-0.1.0.tar.gz
Algorithm Hash digest
SHA256 30f661521a0d2ad40015bf35f4d220d0c42d259d2cb294abc1cb3d0a27dfd603
MD5 0641086314647a8749837d27c4bb6506
BLAKE2b-256 01bd0ce2ab0037fa8b489413e596d6d443443e975912b2ac418722c56bdb82d6

See more details on using hashes here.

Provenance

The following attestation bundles were made for plotomics-0.1.0.tar.gz:

Publisher: release.yml on samuelbharti/plotomics

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file plotomics-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: plotomics-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 2.4 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for plotomics-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7b520504d259c146a9c4e1b4983ef8d77ada589ce249a22ecd8eaf5344bb2b23
MD5 e011ebca0c83c59c54e661cd492ef8f6
BLAKE2b-256 6966cd0438caa26c37d7e27b3bf5f0a0258cfdfe0803474d07d8b8eb7a7ad61c

See more details on using hashes here.

Provenance

The following attestation bundles were made for plotomics-0.1.0-py3-none-any.whl:

Publisher: release.yml on samuelbharti/plotomics

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

0.2.0

2 files

This release

0.1.0 This release

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page