minorminer
Heuristic algorithm to find graph minor embeddings.
What it is and what it does
minorminer is a heuristic tool for finding graph minor embeddings—that is, mappings that embed one graph (the minor) into another (the target) as a connected subgraph. The core function, find_embedding(), implements a configurable algorithm based on published research and accepts parameters to tune execution or constrain the problem. It performs comparably to non-configurable implementations while exposing hooks for research use.
The package also provides find_clique_embedding() for polynomial-time clique embeddings on Chimera, Pegasus, and Zephyr graphs (quantum processor topologies), plus utilities for biclique embeddings. It depends on networkx, numpy, scipy, fasteners, homebase, and dwave-graphs, making it suitable for quantum computing workflows, graph algorithm research, and topology-aware problem mapping.
Use it for:
- Embed a logical problem graph into a quantum processor's physical topology for quantum annealing.
- Find clique embeddings on specialized graph architectures (Chimera, Pegasus, Zephyr) in polynomial time.
- Map a minor graph into a target graph for graph theory research or algorithm prototyping.
- Constrain or initialize embeddings with fixed or hinted variable assignments for guided search.
- Validate graph minor relationships or explore embedding feasibility in academic or experimental settings.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
minorminer finds graph minor embeddings—it maps one graph into another as a subgraph—using a configurable heuristic algorithm, plus specialized functions for clique and biclique embeddings on quantum-graph topologies.
Yes, if you need graph minor embeddings or clique embeddings on quantum topologies. The package is actively maintained, has no known vulnerabilities, and supports current Python versions (3.10–3.14) with precompiled wheels. License treatment is unclear in the metadata—verify the Apache License 2.0 claim before use in proprietary contexts. Medium install friction due to compiled dependencies is typical for scientific Python packages.
Install
minorminer on PyPI
pip
pip install minormineruv
uv add minorminerpoetry
poetry add minorminerInstalling minorminer
Before you install
Medium install friction: compiled wheels available for Python 3.10–3.14 on macOS, Linux, and Windows, but requires six runtime dependencies including numpy and scipy. Repository is active with a recent release (59 days old) and no known vulnerabilities.
License in practice
License treatment is unclear—the description mentions Apache License 2.0 but the metadata lacks formal SPDX or raw license declaration. Verify the actual license terms before use in proprietary or restricted-license contexts.
Quickstart
from minorminer import find_embedding
triangle = [(0, 1), (1, 2), (2, 0)]
square = [(0, 1), (1, 2), (2, 3), (3, 0)]
embedding = find_embedding(triangle, square, random_seed=10)
print(embedding)
Requires Python >=3.10; scipy and numpy must be installed as runtime dependencies.
Verify before relying
- Whether the Apache License 2.0 mentioned in the description is the authoritative license for this package.
- Performance characteristics and scalability limits for large graphs.
- Whether the algorithm guarantees a solution or returns empty when no embedding exists.
Package facts
| License | not declared (unclear) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | medium — platform-specific wheel |
| Runtime dependencies | 6 — dwave-graphs, fasteners, homebase, networkx, numpy, scipy |
| Maintenance | actively maintained — 59 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 98,037/month — #13,112 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: minorminer-0.2.22-cp310-cp310-macosx_10_13_x86_64.whl; minorminer-0.2.22-cp310-cp310-macosx_11_0_arm64.whl; minorminer-0.2.22-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl; minorminer-0.2.22-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl; minorminer-0.2.22-cp310-cp310-win_amd64.whl; minorminer-0.2.22-cp311-cp311-macosx_10_13_x86_64.whl; minorminer-0.2.22-cp311-cp311-macosx_11_0_arm64.whl; minorminer-0.2.22-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl; minorminer-0.2.22-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl; minorminer-0.2.22-cp311-cp311-win_amd64.whl; minorminer-0.2.22-cp312-cp312-macosx_10_13_x86_64.whl; minorminer-0.2.22-cp312-cp312-macosx_11_0_arm64.whl; minorminer-0.2.22-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl; minorminer-0.2.22-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl; minorminer-0.2.22-cp312-cp312-win_amd64.whl; minorminer-0.2.22-cp313-cp313-macosx_10_13_x86_64.whl; minorminer-0.2.22-cp313-cp313-macosx_11_0_arm64.whl; minorminer-0.2.22-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl; minorminer-0.2.22-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl; minorminer-0.2.22-cp313-cp313-win_amd64.whl
Tags
More Mathematics packages
NetworkX provides data structures and…
permissive · top 1,000 on PyPI
kiwisolverkiwisolver is a Python binding to a fast C++…
permissive · top 1,000 on PyPI
sympySymPy is a Python library for symbolic…
permissive · top 1,000 on PyPI
contourpyContourPy calculates contours of 2D…
permissive · top 1,000 on PyPI
torchPyTorch provides GPU-accelerated tensor…
permissive · top 1,000 on PyPI
onnxruntimeonnxruntime loads and executes Open Neural…
permissive · top 1,000 on PyPI
DijkstarDijkstar implements Dijkstra's shortest-path…
permissive · top 15,000 on PyPI
dwave-graphsProvides graph representations and algorithms…
permissive · top 15,000 on PyPI
planarityTests whether a graph is planar, computes…
permissive · top 15,000 on PyPI
dwave-networkxExtends NetworkX with tools for D-Wave quantum…
permissive · top 15,000 on PyPI
cuvs-cu12Provides GPU-accelerated approximate nearest…
permissive · top 15,000 on PyPI
libcuvs-cu12GPU-accelerated vector search and clustering…
permissive · top 15,000 on PyPI
keybertKeyBERT extracts keywords and keyphrases from…
permissive · top 15,000 on PyPI
llama-index-embeddings-ollamaIntegrates Ollama's local embedding models with…
permissive · top 15,000 on PyPI
llama-index-embeddings-vertexIntegrates Google Vertex AI embedding models…
permissive · top 15,000 on PyPI
munkresImplements the Munkres algorithm (Hungarian…
permissive · top 15,000 on PyPI