Skip to main content
Language v0.2.0 · Preview

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 --json

The 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 --json

Lock limit: 100 packages and 256,000 UTF-8 bytes.

Open dependency lock schema

The 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.

The current built-in entries remain curated, unsigned, and UNLICENSED. The release workflow can verify signed third-party bundles, but unsigned or unlicensed artifacts are never publishable.

41 packages

bell

std.bell@0.1
curatedunsignedapproved

Two-qubit Bell-pair preparation.

#entanglement#starter#two-qubit
Minimum qubits
2
License
UNLICENSED
Install command
nm package install std.bell@0.1
use std.bell; bell(q);
Manifest and sourceOpen lessonInspect: nm package inspect std.bell@0.1

ghz

std.ghz@0.1
curatedunsignedapproved

Three-qubit GHZ preparation.

#entanglement#multi-qubit#state-preparation
Minimum qubits
3
License
UNLICENSED
Install command
nm package install std.ghz@0.1
use std.ghz; ghz(q);
Manifest and sourceOpen lessonInspect: nm package inspect std.ghz@0.1

hadamard_state

std.hadamard_state@0.1
curatedunsignedapproved

Single-qubit |+> state preparation for superposition experiments.

#superposition#starter#single-qubit
Minimum qubits
1
License
UNLICENSED
Install command
nm package install std.hadamard_state@0.1
use std.hadamard_state; hadamard_state(q);
Manifest and sourceOpen lessonInspect: nm package inspect std.hadamard_state@0.1

qft2

std.qft2@0.1
curatedunsignedapproved

Two-qubit quantum Fourier transform helper.

#fourier#phase#algorithm
Minimum qubits
2
License
UNLICENSED
Install command
nm package install std.qft2@0.1
use std.qft2; qft2(q);
Manifest and sourceOpen lessonInspect: nm package inspect std.qft2@0.1

grover2

algorithms.grover2@0.1
curatedunsignedapproved

Two-qubit Grover iteration with a |11> phase oracle and diffusion step.

#search#grover#amplitude-amplification
Minimum qubits
2
License
UNLICENSED
Install command
nm package install algorithms.grover2@0.1
use algorithms.grover2; grover2(q);
Manifest and sourceOpen lessonInspect: nm package inspect algorithms.grover2@0.1

phase_kickback

algorithms.phase_kickback@0.1
curatedunsignedapproved

Prepare a control superposition and a |-> ancilla, then demonstrate CNOT phase kickback.

#phase#oracle#controlled-gate
Minimum qubits
2
License
UNLICENSED
Install command
nm package install algorithms.phase_kickback@0.1
use algorithms.phase_kickback; phase_kickback(q);
Manifest and sourceOpen lessonInspect: nm package inspect algorithms.phase_kickback@0.1

deutsch_jozsa2

algorithms.deutsch_jozsa2@0.2
curatedunsignedapproved

Two-qubit Deutsch-Jozsa circuit for a fixed balanced f(x)=x oracle.

#oracle#interference#deutsch-jozsa#algorithm-pack-0.2
Minimum qubits
2
License
UNLICENSED
Install command
nm package install algorithms.deutsch_jozsa2@0.2
use algorithms.deutsch_jozsa2@0.2; deutsch_jozsa2(q);
Manifest and sourceOpen lessonInspect: nm package inspect algorithms.deutsch_jozsa2@0.2

bernstein_vazirani3

algorithms.bernstein_vazirani3@0.2
curatedunsignedapproved

Four-qubit Bernstein-Vazirani circuit that recovers the fixed three-bit secret 101.

#oracle#hidden-string#bernstein-vazirani#algorithm-pack-0.2
Minimum qubits
4
License
UNLICENSED
Install command
nm package install algorithms.bernstein_vazirani3@0.2
use algorithms.bernstein_vazirani3@0.2; bernstein_vazirani3(q);
Manifest and sourceOpen lessonInspect: nm package inspect algorithms.bernstein_vazirani3@0.2

swap_test

algorithms.swap_test@0.2
curatedunsignedapproved

Three-qubit destructive-free overlap test for states prepared on q[1] and q[2].

#fidelity#state-comparison#cswap#algorithm-pack-0.2
Minimum qubits
3
License
UNLICENSED
Install command
nm package install algorithms.swap_test@0.2
use algorithms.swap_test@0.2; swap_test(q);
Manifest and sourceOpen lessonInspect: nm package inspect algorithms.swap_test@0.2

hadamard_test

algorithms.hadamard_test@0.2
curatedunsignedapproved

Two-qubit Hadamard test for the real expectation of Z on a caller-prepared target.

#expectation#phase#controlled-z#algorithm-pack-0.2
Minimum qubits
2
License
UNLICENSED
Install command
nm package install algorithms.hadamard_test@0.2
use algorithms.hadamard_test@0.2; hadamard_test(q);
Manifest and sourceOpen lessonInspect: nm package inspect algorithms.hadamard_test@0.2

phase_estimation2

algorithms.phase_estimation2@0.2
curatedunsignedapproved

Two-counting-qubit phase estimation for the fixed P(PI/2) eigenphase on |1>.

#phase-estimation#inverse-qft#controlled-phase#algorithm-pack-0.2
Minimum qubits
3
License
UNLICENSED
Install command
nm package install algorithms.phase_estimation2@0.2
use algorithms.phase_estimation2@0.2; phase_estimation2(q);
Manifest and sourceOpen lessonInspect: nm package inspect algorithms.phase_estimation2@0.2

simon2

algorithms.simon2@0.3
curatedunsignedapproved

Bounded Simon circuit for the fixed hidden XOR mask 11 with one compressed output qubit.

#oracle#hidden-subgroup#simon#algorithm-pack-0.3
Minimum qubits
3
License
UNLICENSED
Install command
nm package install algorithms.simon2@0.3
use algorithms.simon2@0.3; simon2(q);
Manifest and sourceOpen lessonInspect: nm package inspect algorithms.simon2@0.3

superdense11

algorithms.superdense11@0.3
curatedunsignedapproved

Two-qubit superdense-coding circuit that encodes and decodes the fixed classical message 11.

#communication#entanglement#superdense-coding#algorithm-pack-0.3
Minimum qubits
2
License
UNLICENSED
Install command
nm package install algorithms.superdense11@0.3
use algorithms.superdense11@0.3; superdense11(q);
Manifest and sourceOpen lessonInspect: nm package inspect algorithms.superdense11@0.3

chsh_pair

algorithms.chsh_pair@0.3
curatedunsignedapproved

Parameterized Bell-pair preparation and local Y rotations for a bounded CHSH expectation witness.

#nonlocality#bell#chsh#algorithm-pack-0.3
Minimum qubits
2
License
UNLICENSED
Install command
nm package install algorithms.chsh_pair@0.3
use algorithms.chsh_pair@0.3; chsh_pair(q, aliceAngle, bobAngle);
Manifest and sourceOpen lessonInspect: nm package inspect algorithms.chsh_pair@0.3

coined_walk_step3

algorithms.coined_walk_step3@0.3
curatedunsignedapproved

One bounded coined-walk step that entangles a coin qubit with two one-hot direction qubits.

#quantum-walk#coin#interference#algorithm-pack-0.3
Minimum qubits
3
License
UNLICENSED
Install command
nm package install algorithms.coined_walk_step3@0.3
use algorithms.coined_walk_step3@0.3; coined_walk_step3(q);
Manifest and sourceOpen lessonInspect: nm package inspect algorithms.coined_walk_step3@0.3

teleportation3

algorithms.teleportation3@0.4
curatedunsignedapproved

Three-qubit teleportation unitary prefix; the caller performs the two final measurements and verified X/Z feed-forward corrections.

#communication#teleportation#feed-forward#algorithm-pack-0.4
Minimum qubits
3
License
UNLICENSED
Install command
nm package install algorithms.teleportation3@0.4
use algorithms.teleportation3@0.4; teleportation3(q);
Manifest and sourceOpen lessonInspect: nm package inspect algorithms.teleportation3@0.4

entanglement_swap4

algorithms.entanglement_swap4@0.4
curatedunsignedapproved

Four-qubit entanglement-swapping unitary prefix with outer qubits q[0..1] and measured inner qubits q[2..3].

#communication#entanglement-swapping#feed-forward#algorithm-pack-0.4
Minimum qubits
4
License
UNLICENSED
Install command
nm package install algorithms.entanglement_swap4@0.4
use algorithms.entanglement_swap4@0.4; entanglement_swap4(q);
Manifest and sourceOpen lessonInspect: nm package inspect algorithms.entanglement_swap4@0.4

perfect5_code

qec.perfect5_code@0.4
curatedunsignedapproved

Prepare the logical |0> state of the [[5,1,3]] perfect code on five data qubits while reserving four syndrome qubits for the caller.

#qec#perfect-code#stabilizer#feed-forward#algorithm-pack-0.4
Minimum qubits
9
License
UNLICENSED
Install command
nm package install qec.perfect5_code@0.4
use qec.perfect5_code@0.4; perfect5_code(q);
Manifest and sourceOpen lessonInspect: nm package inspect qec.perfect5_code@0.4

steane7_code

qec.steane7_code@0.4
curatedunsignedapproved

Prepare the logical |0> state of the [[7,1,3]] Steane code on seven data qubits while reserving six syndrome qubits for the caller.

#qec#steane-code#stabilizer#feed-forward#algorithm-pack-0.4
Minimum qubits
13
License
UNLICENSED
Install command
nm package install qec.steane7_code@0.4
use qec.steane7_code@0.4; steane7_code(q);
Manifest and sourceOpen lessonInspect: nm package inspect qec.steane7_code@0.4

surface_d3_patch

qec.surface_d3_patch@0.4
curatedunsignedapproved

Prepare a logical |0> state for the fixed [[9,1,3]] rotated surface-code patch while reserving eight syndrome qubits.

#qec#surface-code#distance-three#stabilizer#feed-forward#algorithm-pack-0.4
Minimum qubits
17
License
UNLICENSED
Install command
nm package install qec.surface_d3_patch@0.4
use qec.surface_d3_patch@0.4; surface_d3_patch(q);
Manifest and sourceOpen lessonInspect: nm package inspect qec.surface_d3_patch@0.4

repetition_code25

qec.repetition_code25@0.4
curatedunsignedapproved

Prepare the logical |0> state of the fixed 13-data-qubit repetition code while reserving twelve syndrome qubits.

#qec#repetition-code#distance-thirteen#stabilizer#feed-forward#algorithm-pack-0.4
Minimum qubits
25
License
UNLICENSED
Install command
nm package install qec.repetition_code25@0.4
use qec.repetition_code25@0.4; repetition_code25(q);
Manifest and sourceOpen lessonInspect: nm package inspect qec.repetition_code25@0.4

ghz100

states.ghz100@0.4
curatedunsignedapproved

Prepare the fixed 100-qubit GHZ stabilizer state with one Hadamard and a 99-CNOT chain.

#state-preparation#ghz#stabilizer#100-qubit#algorithm-pack-0.4
Minimum qubits
100
License
UNLICENSED
Install command
nm package install states.ghz100@0.4
use states.ghz100@0.4; ghz100(q);
Manifest and sourceOpen lessonInspect: nm package inspect states.ghz100@0.4

graph_state100

states.graph_state100@0.4
curatedunsignedapproved

Prepare the fixed 100-node line graph state with textual exact adjacency available in the stabilizer scale view.

#state-preparation#graph-state#stabilizer#100-qubit#algorithm-pack-0.4
Minimum qubits
100
License
UNLICENSED
Install command
nm package install states.graph_state100@0.4
use states.graph_state100@0.4; graph_state100(q);
Manifest and sourceOpen lessonInspect: nm package inspect states.graph_state100@0.4

mermin_ghz3

nonlocality.mermin_ghz3@0.4
curatedunsignedapproved

Prepare a three-qubit GHZ state for the exact local XXX/XYY/YXY/YYX Mermin witness.

#nonlocality#mermin#ghz#stabilizer#algorithm-pack-0.4
Minimum qubits
3
License
UNLICENSED
Install command
nm package install nonlocality.mermin_ghz3@0.4
use nonlocality.mermin_ghz3@0.4; mermin_ghz3(q);
Manifest and sourceOpen lessonInspect: nm package inspect nonlocality.mermin_ghz3@0.4

stabilizer_rb100

benchmark.stabilizer_rb100@0.4
curatedunsignedapproved

Apply a deterministic 398-gate Clifford round trip on 100 qubits as a simulator regression workload, not a hardware RB fidelity estimate.

#benchmark#clifford#round-trip#stabilizer#100-qubit#algorithm-pack-0.4
Minimum qubits
100
License
UNLICENSED
Install command
nm package install benchmark.stabilizer_rb100@0.4
use benchmark.stabilizer_rb100@0.4; stabilizer_rb100(q);
Manifest and sourceOpen lessonInspect: nm package inspect benchmark.stabilizer_rb100@0.4

repetition3

qec.repetition3@0.1
curatedunsignedapproved

Encode the first qubit into the three-qubit repetition code against a single bit flip.

#qec#bit-flip#encoding
Minimum qubits
3
License
UNLICENSED
Install command
nm package install qec.repetition3@0.1
use qec.repetition3; repetition3(q);
Manifest and sourceOpen lessonInspect: nm package inspect qec.repetition3@0.1

phase_flip3

qec.phase_flip3@0.2
curatedunsignedapproved

Encode q[0] into the three-qubit repetition code in the X basis against one phase flip.

#qec#phase-flip#encoding#algorithm-pack-0.2
Minimum qubits
3
License
UNLICENSED
Install command
nm package install qec.phase_flip3@0.2
use qec.phase_flip3@0.2; phase_flip3(q);
Manifest and sourceOpen lessonInspect: nm package inspect qec.phase_flip3@0.2

shor9_code

qec.shor9_code@0.2
curatedunsignedapproved

Encode q[0] into the nine-qubit Shor error-correcting code; this is not Shor factoring.

#qec#shor-code#nine-qubit#stabilizer#algorithm-pack-0.2
Minimum qubits
9
License
UNLICENSED
Install command
nm package install qec.shor9_code@0.2
use qec.shor9_code@0.2; shor9_code(q);
Manifest and sourceOpen lessonInspect: nm package inspect qec.shor9_code@0.2

mcz2

algorithms.grover_primitives@0.2
curatedunsignedapproved

Frozen ancilla-free phase-gadget primitives for generic Grover widths two through five.

#grover#multi-controlled-phase#ancilla-free#generic-oracles-0.2
Minimum qubits
2
License
UNLICENSED
Install command
nm package install algorithms.grover_primitives@0.2
use package.algorithms.grover_primitives@0.2; mcz2(q); diffusion2(q);
Manifest and sourceOpen lessonInspect: nm package inspect algorithms.grover_primitives@0.2

qft1

algorithms.fourier@0.5
curatedunsignedapproved

Frozen QFT and inverse-QFT specializations for statevector widths one through five.

#fourier#inverse-fourier#const-generic#algorithm-pack-0.5
Minimum qubits
1
License
UNLICENSED
Install command
nm package install algorithms.fourier@0.5
use package.algorithms.fourier@0.5; qft<N>(q); iqft<N>(q);
Manifest and sourceOpen lessonInspect: nm package inspect algorithms.fourier@0.5

H2Minimal

chemistry.h2_minimal@0.1
curatedunsignedapproved

Minimal two-qubit H2-style Hamiltonian for VQE and expectation demos.

#chemistry#hamiltonian#vqe#expectation
Minimum qubits
2
License
UNLICENSED
Install command
nm package install chemistry.h2_minimal@0.1
use chemistry.h2_minimal; expect H2Minimal
Manifest and sourceOpen lessonInspect: nm package inspect chemistry.h2_minimal@0.1

Heisenberg2

chemistry.heisenberg2@0.1
curatedunsignedapproved

Two-spin isotropic Heisenberg Hamiltonian with XX, YY, and ZZ interactions.

#chemistry#spin#hamiltonian#vqe
Minimum qubits
2
License
UNLICENSED
Install command
nm package install chemistry.heisenberg2@0.1
use chemistry.heisenberg2; expect Heisenberg2
Manifest and sourceOpen lessonInspect: nm package inspect chemistry.heisenberg2@0.1

ising_trotter2

chemistry.ising_trotter2@0.2
curatedunsignedapproved

One first-order two-qubit Ising Trotter layer with ZZ interaction and transverse-X mixing.

#ising#trotter#hamiltonian-simulation#algorithm-pack-0.2
Minimum qubits
2
License
UNLICENSED
Install command
nm package install chemistry.ising_trotter2@0.2
use chemistry.ising_trotter2@0.2; ising_trotter2(q, gamma, beta);
Manifest and sourceOpen lessonInspect: nm package inspect chemistry.ising_trotter2@0.2

MaxCut2

optimization.maxcut2@0.1
curatedunsignedapproved

Two-node MaxCut cost Hamiltonian, (I - Z0 Z1) / 2, for QAOA lessons.

#optimization#maxcut#qaoa#hamiltonian
Minimum qubits
2
License
UNLICENSED
Install command
nm package install optimization.maxcut2@0.1
use optimization.maxcut2; expect MaxCut2
Manifest and sourceOpen lessonInspect: nm package inspect optimization.maxcut2@0.1

vqc_layer

ml.vqc_layer@0.1
curatedunsignedapproved

Two-qubit hardware-efficient variational layer.

#qml#variational#ansatz
Minimum qubits
2
License
UNLICENSED
Install command
nm package install ml.vqc_layer@0.1
use ml.vqc_layer; vqc_layer(q, t1, t2);
Manifest and sourceOpen lessonInspect: nm package inspect ml.vqc_layer@0.1

vqc_layer3

ml.vqc_layer3@0.1
curatedunsignedapproved

Three-qubit hardware-efficient variational layer.

#qml#variational#ansatz
Minimum qubits
3
License
UNLICENSED
Install command
nm package install ml.vqc_layer3@0.1
use ml.vqc_layer3; vqc_layer3(q, t1, t2, t3);
Manifest and sourceOpen lessonInspect: nm package inspect ml.vqc_layer3@0.1

reupload_block

ml.reupload_block@0.1
curatedunsignedapproved

Single-qubit data re-uploading block.

#qml#encoding#reupload
Minimum qubits
1
License
UNLICENSED
Install command
nm package install ml.reupload_block@0.1
use ml.reupload_block; reupload_block(q, x, w);
Manifest and sourceOpen lessonInspect: nm package inspect ml.reupload_block@0.1

entangle_linear2

ml.entangle_linear2@0.1
curatedunsignedapproved

Two-qubit linear entangler.

#qml#entanglement#linear
Minimum qubits
2
License
UNLICENSED
Install command
nm package install ml.entangle_linear2@0.1
use ml.entangle_linear2; entangle_linear2(q);
Manifest and sourceOpen lessonInspect: nm package inspect ml.entangle_linear2@0.1

entangle_linear3

ml.entangle_linear3@0.1
curatedunsignedapproved

Three-qubit linear entangler.

#qml#entanglement#linear
Minimum qubits
3
License
UNLICENSED
Install command
nm package install ml.entangle_linear3@0.1
use ml.entangle_linear3; entangle_linear3(q);
Manifest and sourceOpen lessonInspect: nm package inspect ml.entangle_linear3@0.1

iqp_map2

ml.iqp_map2@0.1
curatedunsignedapproved

Two-qubit depth-one IQP feature map.

#qml#encoding#iqp
Minimum qubits
2
License
UNLICENSED
Install command
nm package install ml.iqp_map2@0.1
use ml.iqp_map2; iqp_map2(q, x1, x2);
Manifest and sourceOpen lessonInspect: nm package inspect ml.iqp_map2@0.1

ZZObservable

ml.zz_observable@0.1
curatedunsignedapproved

Two-qubit ZZ correlation observable.

#qml#observable#correlation
Minimum qubits
2
License
UNLICENSED
Install command
nm package install ml.zz_observable@0.1
use ml.zz_observable; expect ZZObservable
Manifest and sourceOpen lessonInspect: nm package inspect ml.zz_observable@0.1