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.2.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.2.0-py3-none-any.whl (2.4 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: plotomics-0.2.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.2.0.tar.gz
Algorithm Hash digest
SHA256 1364f2cc827b73a3def820fa4a11369a2992f16d7debe2ffecfd01bf8bea6f85
MD5 418f095b2333964c6d2ebf223947b695
BLAKE2b-256 0108ea19302c9ac0a9d832fb39bf4616ff8e6d3341fbdaaf31146dd575eb4adf

See more details on using hashes here.

Provenance

The following attestation bundles were made for plotomics-0.2.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.2.0-py3-none-any.whl.

File metadata

  • Download URL: plotomics-0.2.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.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 bbe882d2c41697dfcfaa7be2330044d22eb5962d1c40aa9ac6ee8381889b5c86
MD5 44927fdcef7ddf1b90867396ae396e52
BLAKE2b-256 37ac271fdf43b8887012ef8e57cec42741756fe96421dae25883c42d4055647f

See more details on using hashes here.

Provenance

The following attestation bundles were made for plotomics-0.2.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

This release

0.2.0 This release

2 files

0.1.0

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