Import path migration

English · 简体中文

Release 0.8 moved the implementations into directories organized by responsibility. The common exports of the root package remain available; old module paths are forwarded through a centralized compatibility table and reference the same implementations. New code should use the canonical paths.

Old path

Canonical path

oracq.ir

oracq.infrastructure.ir

oracq.builder

oracq.infrastructure.builder

oracq.validation

oracq.infrastructure.validation

oracq.serialization

oracq.infrastructure.serialization

oracq.linking

oracq.infrastructure.linking

oracq.execution

oracq.infrastructure.execution

oracq.native

oracq.infrastructure.native

oracq.layout

oracq.infrastructure.layout

oracq.readout

oracq.infrastructure.readout

oracq.backends.originir

oracq.infrastructure.backends.originir

oracq.backends

oracq.infrastructure.backends

oracq.backends.pysparq

oracq.infrastructure.backends.pysparq

oracq.backends.basis

oracq.infrastructure.backends.basis

oracq.mathfunc.graph

oracq.infrastructure.mathfunc.graph

oracq.mathfunc.frontend

oracq.infrastructure.mathfunc.frontend

oracq.mathfunc.numeric

oracq.infrastructure.mathfunc.numeric

oracq.mathfunc.lowering

oracq.infrastructure.mathfunc.lowering

oracq.mathfunc

oracq.infrastructure.mathfunc

oracq.mathfunc.roe_formulas

oracq.applications.roe_formulas

oracq.library

oracq.algorithms.input_model.operators

oracq.combinators

oracq.algorithms.input_model.block_encoding

oracq.contracts

oracq.algorithms.input_model.contracts

oracq.oracles

oracq.algorithms.input_model.oracles

oracq.arithmetic

oracq.algorithms.common.arithmetic

oracq.sparse_models

oracq.algorithms.input_model.sparse

oracq.access

oracq.algorithms.input_model.sparse

oracq.qlss

oracq.algorithms.qlss.qlss

oracq.algorithms.costa

oracq.algorithms.qlss.qlss

oracq.algorithms.cks

oracq.algorithms.qlss.qlss

oracq.qode

oracq.algorithms.qode.ode

oracq.qfvm

oracq.applications.qfvm

oracq.qfvm_sparse

oracq.applications.qfvm

oracq.flow_data

oracq.applications.flow_data

oracq.roe

oracq.applications.roe

oracq.applications

oracq.applications.legacy

oracq.workloads

oracq.applications.catalog

oracq.qham.pde

oracq.applications.qham.pde

oracq.qham.linearization

oracq.applications.qham.linearization

oracq.qham.reference

oracq.applications.qham.reference

oracq.qham.quantum

oracq.algorithms.input_model.qham

oracq.qham

oracq.applications.qham

oracq.qham.examples

oracq.applications.qham.examples

oracq.qham.report

oracq.applications.qham.report

oracq.qham.stencils

oracq.applications.qham.stencils

Package paths without a standalone API page (such as oracq.infrastructure.backends and oracq.applications.qham) stay as-is; open the API pages of their submodules to inspect them.

Split-up legacy entry points

The query, search, QFT, QPE, and matrix-transform entry points of algorithms.elementary moved into oracle_algorithms, search, fourier, estimation, and transforms, respectively.

The concrete methods of algorithms.differential moved into lchs, schrodingerization, cbmd, and carleman; the general entry point is ode, and the PDE adapter is pde.

The state composition utilities of algorithms.solvers moved into state_preparation, the Euler history into ode, and Trotter into hamiltonian. The old factories remain available through the compatibility entries.

File formats

The RIR version is 0.1, and the instruction set and execution semantics are unchanged; the binding_captures field newly added to the linker holds provenance information inside the existing scalar-attribute format, and the schema and semantic checks now state its constraints as well. After the module locations and generator compositions of the Python classes changed, module hash names may change; do not use hash names as part of an application protocol.

Algorithm interface naming and the resource ledger

AlgorithmContract, QLSSSolver, and QODESolver are the new canonical names; ProtocolContract, QLSSProtocol, and QODEProtocol are kept as same-type aliases. Problem builders accept provider protocols, and the constructed fields still hold concrete role views.

The rotations of resource estimation changed from a list to a compact read-only sequence. The previous length, indexing, and iteration reads keep working; code that mutated the list directly should read counts instead or use the report. In open analyses qubits is None; known lower bounds are in qubits_lower_bound.