skillfed

minorminer

Heuristic algorithm to find graph minor embeddings.

minorminer v0.2.22 98.0K downloads/30d#13,112 on PyPI54
License unclear Active released

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 minorminer

uv

uv add minorminer

poetry

poetry add minorminer

Installing 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

Operating System :: MacOSOperating System :: Microsoft :: WindowsOperating System :: POSIXOperating System :: UnixProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14

Tags

graph minor embeddingfind graph embedding algorithmclique embedding quantumgraph isomorphism mappingminor embedding heuristic
graph-algorithmsquantum-computingembedding

More Mathematics packages