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.