QuBins

QuBins — the place for your QuBits: prebuilt quantum compartments, pick one, run your Qiskit notebook on (my)binder or as a container (“bin”).

Build matrix status GitHub repo

Quick start

Run the latest Qiskit () in your browser via Binder: Launch latest-small in Binder Launch latest-xl in Binder

Or pull with Docker: docker run --rm -p 8888:8888 ghcr.io/qubins/images:latest-small

small = lean (qiskit + aer + ibm-runtime). xl = broad, with addons + scientific stack + nbgitpuller + single-file ?fromURL= launcher. Full details in the README.

Open your repo or your notebook in Binder

Paste a GitHub repo URL (or a /blob/ URL, or a raw .ipynb URL). Output: a Binder URL and a launch-on-QuBins badge markdown.

Why does this go through /launch/?

The link in the badge points at our /launch/ redirector rather than straight to mybinder.org. When mybinder's URL form changes (it has, historically), every badge already in the wild keeps working with no edit needed on the reader's side.

All images

Every image is daily-rebuilt, Trivy-scanned (HIGH/CRITICAL gated), and cosign-signed via GitHub Actions OIDC.

Qiskit Flavor Binder Docker

How it works

Dockerfile is parameterised by Qiskit version × flavor and installs the matching versions/<target>/requirements.txt. A GitHub Actions workflow builds per-arch (amd64 + arm64), gates on a Trivy scan, publishes the multi-arch manifest to GHCR with a SLSA provenance attestation, signs it with cosign, and force-pushes a tiny stub branch that mybinder.org consumes to skip the dependency-tree rebuild.

A daily cron rebuilds everything against the current base image to absorb upstream CVE fixes. Dependabot watches the docker base, GitHub Action versions, and the latest Qiskit minor's pip pins.

More in the repository README.