API reference

Generated from the docstrings in the package itself, so it never drifts away from the code.

Where to look

Writing an application? Everything you need is in the SDK — Environment, Circuit and QMPICommunicator.

Configuring a run? See Runtime for RunConfig and the CLI, and Adapters for each backend’s config subclass.

Writing a backend? Runtime has the Executor contract; Adapters has four worked implementations.

Package layout

netqmpi/
├── helpers.py                  load_main(): locate a script's main()
├── sdk/                        user-facing, backend-agnostic
│   ├── environment.py          Environment
│   ├── circuit.py              Circuit (fluent API + translation hooks)
│   ├── communicator.py         QMPICommunicator
│   ├── resources.py            IndexPool
│   └── operations/             the Command/Composite operation model
│       ├── operation.py        Operation
│       ├── gate.py             Gate, ControlledGate, ClassicalControlledGate
│       ├── non_unitary.py      Measure, Reset, Barrier
│       ├── container.py        OperationContainer
│       └── qmpi.py             QSend, QRecv, QScatter, QGather, Expose, Unexpose
└── runtime/                    execution-facing
    ├── cli.py                  netqmpi entry point, simulate()
    ├── executor.py             Executor contract
    ├── run_config.py           RunConfig, read_config_block()
    └── adapters/
        ├── cunqa/              reference backend
        ├── netqasm/
        ├── aer/
        └── qoala/