N/M package registry
Search versioned packages, inspect source integrity and attestations, install exact versions, and follow the signed release lifecycle.
Learning package 0.1 contract
The stable artifact reader rejects unknown fields, future versions, invalid derived readiness, source/module drift, and canonical integrity mismatches. Pre-integrity documents can enter only through the explicit lossless migrator.
- JSON limit
- 2,000,000 B
- Source limit
- 200,000 B
- Items per metadata list
- 100
FNV-1a detects accidental or modified content; it is not an author signature. Registry publication separately requires an exact version, trusted Ed25519 signature, SPDX license, and durable production store.
Signed release lifecycle
Signing covers the package identity, exact version, module, exports, dependencies, engine range, SPDX license, publisher, source, integrity digest, key id, algorithm, and signing time. Verification rejects any post-signing change.
nm package sign release.json --output release.signed.jsonnm package verify release.signed.json --jsonThe authenticated lifecycle API fails closed unless an administrator token, trusted Ed25519 public-key ring, and registry store are configured. The bundled development store is in-memory only; production still requires a durable adapter. Private keys are never accepted by the API or stored in package bundles.
Exact imports and dependency lock
NM-RFC-0002 separates exact registry dependencies from manifest-pinned workspace modules. The strict nm-lock.json reader binds sorted id@version entries to registry source digests and detects missing, stale, or modified dependencies.
use package.std.bell@0.1;use workspace.local_helpers;nm check main.nm --experimental-exact-importsnm lock main.nmnm lock main.nm --lock nm-lock.json --jsonLock limit: 100 packages and 256,000 UTF-8 bytes.
Open dependency lock schemaThe negotiated CLI/LSP tooling flag and strict local lock prove reproducibility intent, not publisher trust. Signed, SPDX-licensed publication and a durable registry remain separate release gates.
41 packages
bell
std.bell@0.1Two-qubit Bell-pair preparation.
- Minimum qubits
- 2
- License
- UNLICENSED
nm package install std.bell@0.1use std.bell; bell(q);ghz
std.ghz@0.1Three-qubit GHZ preparation.
- Minimum qubits
- 3
- License
- UNLICENSED
nm package install std.ghz@0.1use std.ghz; ghz(q);hadamard_state
std.hadamard_state@0.1Single-qubit |+> state preparation for superposition experiments.
- Minimum qubits
- 1
- License
- UNLICENSED
nm package install std.hadamard_state@0.1use std.hadamard_state; hadamard_state(q);qft2
std.qft2@0.1Two-qubit quantum Fourier transform helper.
- Minimum qubits
- 2
- License
- UNLICENSED
nm package install std.qft2@0.1use std.qft2; qft2(q);grover2
algorithms.grover2@0.1Two-qubit Grover iteration with a |11> phase oracle and diffusion step.
- Minimum qubits
- 2
- License
- UNLICENSED
nm package install algorithms.grover2@0.1use algorithms.grover2; grover2(q);phase_kickback
algorithms.phase_kickback@0.1Prepare a control superposition and a |-> ancilla, then demonstrate CNOT phase kickback.
- Minimum qubits
- 2
- License
- UNLICENSED
nm package install algorithms.phase_kickback@0.1use algorithms.phase_kickback; phase_kickback(q);deutsch_jozsa2
algorithms.deutsch_jozsa2@0.2Two-qubit Deutsch-Jozsa circuit for a fixed balanced f(x)=x oracle.
- Minimum qubits
- 2
- License
- UNLICENSED
nm package install algorithms.deutsch_jozsa2@0.2use algorithms.deutsch_jozsa2@0.2; deutsch_jozsa2(q);bernstein_vazirani3
algorithms.bernstein_vazirani3@0.2Four-qubit Bernstein-Vazirani circuit that recovers the fixed three-bit secret 101.
- Minimum qubits
- 4
- License
- UNLICENSED
nm package install algorithms.bernstein_vazirani3@0.2use algorithms.bernstein_vazirani3@0.2; bernstein_vazirani3(q);swap_test
algorithms.swap_test@0.2Three-qubit destructive-free overlap test for states prepared on q[1] and q[2].
- Minimum qubits
- 3
- License
- UNLICENSED
nm package install algorithms.swap_test@0.2use algorithms.swap_test@0.2; swap_test(q);hadamard_test
algorithms.hadamard_test@0.2Two-qubit Hadamard test for the real expectation of Z on a caller-prepared target.
- Minimum qubits
- 2
- License
- UNLICENSED
nm package install algorithms.hadamard_test@0.2use algorithms.hadamard_test@0.2; hadamard_test(q);phase_estimation2
algorithms.phase_estimation2@0.2Two-counting-qubit phase estimation for the fixed P(PI/2) eigenphase on |1>.
- Minimum qubits
- 3
- License
- UNLICENSED
nm package install algorithms.phase_estimation2@0.2use algorithms.phase_estimation2@0.2; phase_estimation2(q);simon2
algorithms.simon2@0.3Bounded Simon circuit for the fixed hidden XOR mask 11 with one compressed output qubit.
- Minimum qubits
- 3
- License
- UNLICENSED
nm package install algorithms.simon2@0.3use algorithms.simon2@0.3; simon2(q);superdense11
algorithms.superdense11@0.3Two-qubit superdense-coding circuit that encodes and decodes the fixed classical message 11.
- Minimum qubits
- 2
- License
- UNLICENSED
nm package install algorithms.superdense11@0.3use algorithms.superdense11@0.3; superdense11(q);chsh_pair
algorithms.chsh_pair@0.3Parameterized Bell-pair preparation and local Y rotations for a bounded CHSH expectation witness.
- Minimum qubits
- 2
- License
- UNLICENSED
nm package install algorithms.chsh_pair@0.3use algorithms.chsh_pair@0.3; chsh_pair(q, aliceAngle, bobAngle);coined_walk_step3
algorithms.coined_walk_step3@0.3One bounded coined-walk step that entangles a coin qubit with two one-hot direction qubits.
- Minimum qubits
- 3
- License
- UNLICENSED
nm package install algorithms.coined_walk_step3@0.3use algorithms.coined_walk_step3@0.3; coined_walk_step3(q);teleportation3
algorithms.teleportation3@0.4Three-qubit teleportation unitary prefix; the caller performs the two final measurements and verified X/Z feed-forward corrections.
- Minimum qubits
- 3
- License
- UNLICENSED
nm package install algorithms.teleportation3@0.4use algorithms.teleportation3@0.4; teleportation3(q);entanglement_swap4
algorithms.entanglement_swap4@0.4Four-qubit entanglement-swapping unitary prefix with outer qubits q[0..1] and measured inner qubits q[2..3].
- Minimum qubits
- 4
- License
- UNLICENSED
nm package install algorithms.entanglement_swap4@0.4use algorithms.entanglement_swap4@0.4; entanglement_swap4(q);perfect5_code
qec.perfect5_code@0.4Prepare the logical |0> state of the [[5,1,3]] perfect code on five data qubits while reserving four syndrome qubits for the caller.
- Minimum qubits
- 9
- License
- UNLICENSED
nm package install qec.perfect5_code@0.4use qec.perfect5_code@0.4; perfect5_code(q);steane7_code
qec.steane7_code@0.4Prepare the logical |0> state of the [[7,1,3]] Steane code on seven data qubits while reserving six syndrome qubits for the caller.
- Minimum qubits
- 13
- License
- UNLICENSED
nm package install qec.steane7_code@0.4use qec.steane7_code@0.4; steane7_code(q);surface_d3_patch
qec.surface_d3_patch@0.4Prepare a logical |0> state for the fixed [[9,1,3]] rotated surface-code patch while reserving eight syndrome qubits.
- Minimum qubits
- 17
- License
- UNLICENSED
nm package install qec.surface_d3_patch@0.4use qec.surface_d3_patch@0.4; surface_d3_patch(q);repetition_code25
qec.repetition_code25@0.4Prepare the logical |0> state of the fixed 13-data-qubit repetition code while reserving twelve syndrome qubits.
- Minimum qubits
- 25
- License
- UNLICENSED
nm package install qec.repetition_code25@0.4use qec.repetition_code25@0.4; repetition_code25(q);ghz100
states.ghz100@0.4Prepare the fixed 100-qubit GHZ stabilizer state with one Hadamard and a 99-CNOT chain.
- Minimum qubits
- 100
- License
- UNLICENSED
nm package install states.ghz100@0.4use states.ghz100@0.4; ghz100(q);graph_state100
states.graph_state100@0.4Prepare the fixed 100-node line graph state with textual exact adjacency available in the stabilizer scale view.
- Minimum qubits
- 100
- License
- UNLICENSED
nm package install states.graph_state100@0.4use states.graph_state100@0.4; graph_state100(q);mermin_ghz3
nonlocality.mermin_ghz3@0.4Prepare a three-qubit GHZ state for the exact local XXX/XYY/YXY/YYX Mermin witness.
- Minimum qubits
- 3
- License
- UNLICENSED
nm package install nonlocality.mermin_ghz3@0.4use nonlocality.mermin_ghz3@0.4; mermin_ghz3(q);stabilizer_rb100
benchmark.stabilizer_rb100@0.4Apply a deterministic 398-gate Clifford round trip on 100 qubits as a simulator regression workload, not a hardware RB fidelity estimate.
- Minimum qubits
- 100
- License
- UNLICENSED
nm package install benchmark.stabilizer_rb100@0.4use benchmark.stabilizer_rb100@0.4; stabilizer_rb100(q);repetition3
qec.repetition3@0.1Encode the first qubit into the three-qubit repetition code against a single bit flip.
- Minimum qubits
- 3
- License
- UNLICENSED
nm package install qec.repetition3@0.1use qec.repetition3; repetition3(q);phase_flip3
qec.phase_flip3@0.2Encode q[0] into the three-qubit repetition code in the X basis against one phase flip.
- Minimum qubits
- 3
- License
- UNLICENSED
nm package install qec.phase_flip3@0.2use qec.phase_flip3@0.2; phase_flip3(q);shor9_code
qec.shor9_code@0.2Encode q[0] into the nine-qubit Shor error-correcting code; this is not Shor factoring.
- Minimum qubits
- 9
- License
- UNLICENSED
nm package install qec.shor9_code@0.2use qec.shor9_code@0.2; shor9_code(q);mcz2
algorithms.grover_primitives@0.2Frozen ancilla-free phase-gadget primitives for generic Grover widths two through five.
- Minimum qubits
- 2
- License
- UNLICENSED
nm package install algorithms.grover_primitives@0.2use package.algorithms.grover_primitives@0.2; mcz2(q); diffusion2(q);qft1
algorithms.fourier@0.5Frozen QFT and inverse-QFT specializations for statevector widths one through five.
- Minimum qubits
- 1
- License
- UNLICENSED
nm package install algorithms.fourier@0.5use package.algorithms.fourier@0.5; qft<N>(q); iqft<N>(q);H2Minimal
chemistry.h2_minimal@0.1Minimal two-qubit H2-style Hamiltonian for VQE and expectation demos.
- Minimum qubits
- 2
- License
- UNLICENSED
nm package install chemistry.h2_minimal@0.1use chemistry.h2_minimal; expect H2MinimalHeisenberg2
chemistry.heisenberg2@0.1Two-spin isotropic Heisenberg Hamiltonian with XX, YY, and ZZ interactions.
- Minimum qubits
- 2
- License
- UNLICENSED
nm package install chemistry.heisenberg2@0.1use chemistry.heisenberg2; expect Heisenberg2ising_trotter2
chemistry.ising_trotter2@0.2One first-order two-qubit Ising Trotter layer with ZZ interaction and transverse-X mixing.
- Minimum qubits
- 2
- License
- UNLICENSED
nm package install chemistry.ising_trotter2@0.2use chemistry.ising_trotter2@0.2; ising_trotter2(q, gamma, beta);MaxCut2
optimization.maxcut2@0.1Two-node MaxCut cost Hamiltonian, (I - Z0 Z1) / 2, for QAOA lessons.
- Minimum qubits
- 2
- License
- UNLICENSED
nm package install optimization.maxcut2@0.1use optimization.maxcut2; expect MaxCut2vqc_layer
ml.vqc_layer@0.1Two-qubit hardware-efficient variational layer.
- Minimum qubits
- 2
- License
- UNLICENSED
nm package install ml.vqc_layer@0.1use ml.vqc_layer; vqc_layer(q, t1, t2);vqc_layer3
ml.vqc_layer3@0.1Three-qubit hardware-efficient variational layer.
- Minimum qubits
- 3
- License
- UNLICENSED
nm package install ml.vqc_layer3@0.1use ml.vqc_layer3; vqc_layer3(q, t1, t2, t3);reupload_block
ml.reupload_block@0.1Single-qubit data re-uploading block.
- Minimum qubits
- 1
- License
- UNLICENSED
nm package install ml.reupload_block@0.1use ml.reupload_block; reupload_block(q, x, w);entangle_linear2
ml.entangle_linear2@0.1Two-qubit linear entangler.
- Minimum qubits
- 2
- License
- UNLICENSED
nm package install ml.entangle_linear2@0.1use ml.entangle_linear2; entangle_linear2(q);entangle_linear3
ml.entangle_linear3@0.1Three-qubit linear entangler.
- Minimum qubits
- 3
- License
- UNLICENSED
nm package install ml.entangle_linear3@0.1use ml.entangle_linear3; entangle_linear3(q);iqp_map2
ml.iqp_map2@0.1Two-qubit depth-one IQP feature map.
- Minimum qubits
- 2
- License
- UNLICENSED
nm package install ml.iqp_map2@0.1use ml.iqp_map2; iqp_map2(q, x1, x2);ZZObservable
ml.zz_observable@0.1Two-qubit ZZ correlation observable.
- Minimum qubits
- 2
- License
- UNLICENSED
nm package install ml.zz_observable@0.1use ml.zz_observable; expect ZZObservable