unified-quantum 0.1.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- unified_quantum-0.1.0/.agents/skills/uniqc-build-docs/SKILL.md +100 -0
- unified_quantum-0.1.0/.agents/skills/uniqc-release/SKILL.md +221 -0
- unified_quantum-0.1.0/.agents/skills/uniqc-test-before-release/SKILL.md +222 -0
- unified_quantum-0.1.0/.agents/skills/uniqc-test-before-release/references/coverage-matrix.md +25 -0
- unified_quantum-0.1.0/.agents/skills/uniqc-test-before-release/references/report-template.md +93 -0
- unified_quantum-0.1.0/.gitattributes +2 -0
- unified_quantum-0.1.0/.github/copilot-instructions.md +5 -0
- unified_quantum-0.1.0/.github/workflows/build_and_test.yml +99 -0
- unified_quantum-0.1.0/.github/workflows/docs.yml +106 -0
- unified_quantum-0.1.0/.github/workflows/pypi-publish.yml +78 -0
- unified_quantum-0.1.0/.github/workflows/pytest_coverage.yml +105 -0
- unified_quantum-0.1.0/.gitignore +192 -0
- unified_quantum-0.1.0/.pre-commit-config.yaml +31 -0
- unified_quantum-0.1.0/AGENTS.md +136 -0
- unified_quantum-0.1.0/CHANGELOG.md +1173 -0
- unified_quantum-0.1.0/CODE_OF_CONDUCT.md +83 -0
- unified_quantum-0.1.0/CONTRIBUTING.md +268 -0
- unified_quantum-0.1.0/LICENSE +201 -0
- unified_quantum-0.1.0/PKG-INFO +597 -0
- unified_quantum-0.1.0/README.md +320 -0
- unified_quantum-0.1.0/README_en.md +302 -0
- unified_quantum-0.1.0/RELEASE_EXECUTION_PLAN_0.1.0.md +134 -0
- unified_quantum-0.1.0/RELEASE_REPORT_0.1.0.md +216 -0
- unified_quantum-0.1.0/banner_uniqc.png +0 -0
- unified_quantum-0.1.0/codecov.yml +21 -0
- unified_quantum-0.1.0/concept_unified_platforms.png +0 -0
- unified_quantum-0.1.0/conftest.py +159 -0
- unified_quantum-0.1.0/docs/Makefile +93 -0
- unified_quantum-0.1.0/docs/_build_latex_postprocess.py +38 -0
- unified_quantum-0.1.0/docs/_static/hide_myst_anchors.js +15 -0
- unified_quantum-0.1.0/docs/_static/switcher.json +13 -0
- unified_quantum-0.1.0/docs/_tex_patch.py +250 -0
- unified_quantum-0.1.0/docs/conf.py +411 -0
- unified_quantum-0.1.0/docs/index.md +68 -0
- unified_quantum-0.1.0/docs/make.bat +35 -0
- unified_quantum-0.1.0/docs/source/0_quickstart/end_to_end.md +37 -0
- unified_quantum-0.1.0/docs/source/0_quickstart/index.md +18 -0
- unified_quantum-0.1.0/docs/source/0_quickstart/installation.md +234 -0
- unified_quantum-0.1.0/docs/source/0_quickstart/quickstart.md +57 -0
- unified_quantum-0.1.0/docs/source/1_basic_usage/best_practices.md +190 -0
- unified_quantum-0.1.0/docs/source/1_basic_usage/circuit.md +493 -0
- unified_quantum-0.1.0/docs/source/1_basic_usage/index.md +47 -0
- unified_quantum-0.1.0/docs/source/1_basic_usage/main_api.md +135 -0
- unified_quantum-0.1.0/docs/source/1_basic_usage/originir.md +782 -0
- unified_quantum-0.1.0/docs/source/1_basic_usage/originir_official.md +119 -0
- unified_quantum-0.1.0/docs/source/1_basic_usage/originir_relationship.md +138 -0
- unified_quantum-0.1.0/docs/source/1_basic_usage/platform_conventions.md +525 -0
- unified_quantum-0.1.0/docs/source/1_basic_usage/pytorch.md +361 -0
- unified_quantum-0.1.0/docs/source/1_basic_usage/qasm.md +200 -0
- unified_quantum-0.1.0/docs/source/1_basic_usage/simulation.md +206 -0
- unified_quantum-0.1.0/docs/source/1_basic_usage/submit_task.md +504 -0
- unified_quantum-0.1.0/docs/source/1_basic_usage/task_manager.md +367 -0
- unified_quantum-0.1.0/docs/source/1_basic_usage/walkthrough.md +66 -0
- unified_quantum-0.1.0/docs/source/2_advanced/adapter_architecture.md +440 -0
- unified_quantum-0.1.0/docs/source/2_advanced/adding_a_platform.md +165 -0
- unified_quantum-0.1.0/docs/source/2_advanced/algorithm_design.md +146 -0
- unified_quantum-0.1.0/docs/source/2_advanced/calibration.md +479 -0
- unified_quantum-0.1.0/docs/source/2_advanced/circuit_analysis.md +49 -0
- unified_quantum-0.1.0/docs/source/2_advanced/compile_levels.md +80 -0
- unified_quantum-0.1.0/docs/source/2_advanced/compiler_options_region.md +497 -0
- unified_quantum-0.1.0/docs/source/2_advanced/dynamic_circuits.md +256 -0
- unified_quantum-0.1.0/docs/source/2_advanced/index.md +54 -0
- unified_quantum-0.1.0/docs/source/2_advanced/mps_simulator.md +100 -0
- unified_quantum-0.1.0/docs/source/2_advanced/noise_simulation.md +211 -0
- unified_quantum-0.1.0/docs/source/2_advanced/opcode.md +136 -0
- unified_quantum-0.1.0/docs/source/2_advanced/testing.md +211 -0
- unified_quantum-0.1.0/docs/source/2_advanced/virtual_backends.md +160 -0
- unified_quantum-0.1.0/docs/source/2_advanced/walkthrough.md +80 -0
- unified_quantum-0.1.0/docs/source/3_best_practices/index.md +76 -0
- unified_quantum-0.1.0/docs/source/4_cli/backend.md +224 -0
- unified_quantum-0.1.0/docs/source/4_cli/calibrate.md +65 -0
- unified_quantum-0.1.0/docs/source/4_cli/circuit.md +42 -0
- unified_quantum-0.1.0/docs/source/4_cli/config.md +120 -0
- unified_quantum-0.1.0/docs/source/4_cli/doctor.md +135 -0
- unified_quantum-0.1.0/docs/source/4_cli/gateway.md +74 -0
- unified_quantum-0.1.0/docs/source/4_cli/index.md +50 -0
- unified_quantum-0.1.0/docs/source/4_cli/installation.md +24 -0
- unified_quantum-0.1.0/docs/source/4_cli/result.md +39 -0
- unified_quantum-0.1.0/docs/source/4_cli/simulate.md +49 -0
- unified_quantum-0.1.0/docs/source/4_cli/submit.md +128 -0
- unified_quantum-0.1.0/docs/source/4_cli/sync.md +209 -0
- unified_quantum-0.1.0/docs/source/4_cli/task.md +61 -0
- unified_quantum-0.1.0/docs/source/4_cli/walkthrough.md +46 -0
- unified_quantum-0.1.0/docs/source/4_cli/workflow.md +113 -0
- unified_quantum-0.1.0/docs/source/5_webui/index.md +44 -0
- unified_quantum-0.1.0/docs/source/6_api/index.md +49 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.algorithms.core.ansatz.hea.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.algorithms.core.ansatz.hva.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.algorithms.core.ansatz.qaoa_ansatz.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.algorithms.core.ansatz.rst +21 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.algorithms.core.ansatz.uccsd.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.algorithms.core.circuits.amplitude_estimation.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.algorithms.core.circuits.deutsch_jozsa.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.algorithms.core.circuits.dicke_state.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.algorithms.core.circuits.entangled_states.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.algorithms.core.circuits.grover_oracle.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.algorithms.core.circuits.qft.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.algorithms.core.circuits.qpe.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.algorithms.core.circuits.rst +26 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.algorithms.core.circuits.thermal_state.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.algorithms.core.circuits.vqd.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.algorithms.core.measurement.basis_rotation.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.algorithms.core.measurement.classical_shadow.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.algorithms.core.measurement.pauli_expectation.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.algorithms.core.measurement.rst +21 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.algorithms.core.measurement.state_tomography.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.algorithms.core.rst +22 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.algorithms.core.state_preparation.basis_state.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.algorithms.core.state_preparation.dicke_state.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.algorithms.core.state_preparation.hadamard_superposition.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.algorithms.core.state_preparation.rotation_prepare.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.algorithms.core.state_preparation.rst +22 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.algorithms.core.state_preparation.thermal_state.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.algorithms.core.training.hybrid_model.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.algorithms.core.training.qaoa_torch.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.algorithms.core.training.qcnn.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.algorithms.core.training.qnn.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.algorithms.core.training.rst +22 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.algorithms.core.training.vqe_torch.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.algorithms.rst +19 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.algorithms.workflows.classical_shadow_workflow.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.algorithms.workflows.qaoa_workflow.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.algorithms.workflows.readout_em_workflow.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.algorithms.workflows.rst +22 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.algorithms.workflows.vqe_workflow.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.algorithms.workflows.xeb_workflow.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.backend_adapter.backend.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.backend_adapter.backend_cache.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.backend_adapter.backend_info.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.backend_adapter.backend_registry.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.backend_adapter.circuit_adapter.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.backend_adapter.config.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.backend_adapter.database_migration.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.backend_adapter.dummy_backend.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.backend_adapter.network_utils.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.backend_adapter.preflight.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.backend_adapter.region_selector.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.backend_adapter.rst +38 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.backend_adapter.task.adapters.base.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.backend_adapter.task.adapters.dummy_adapter.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.backend_adapter.task.adapters.ibm_adapter.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.backend_adapter.task.adapters.logicalqubit_adapter.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.backend_adapter.task.adapters.originq_adapter.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.backend_adapter.task.adapters.qiskit_adapter.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.backend_adapter.task.adapters.quark_adapter.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.backend_adapter.task.adapters.rst +25 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.backend_adapter.task.adapters.tianyan_adapter.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.backend_adapter.task.normalizers.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.backend_adapter.task.optional_deps.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.backend_adapter.task.options.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.backend_adapter.task.persistence.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.backend_adapter.task.result_types.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.backend_adapter.task.rst +31 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.backend_adapter.task.store.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.backend_adapter.task_manager.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.backend_adapter.virtual_machine.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.calibration.readout.calibrator.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.calibration.readout.rst +18 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.calibration.results.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.calibration.rst +27 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.calibration.xeb.benchmarker.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.calibration.xeb.circuits.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.calibration.xeb.fitter.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.calibration.xeb.parallel_cz.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.calibration.xeb.patterns.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.calibration.xeb.rst +23 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.calibration.xeb.topology.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.circuit_builder.classical_program.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.circuit_builder.matrix.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.circuit_builder.named_circuit.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.circuit_builder.normalize.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.circuit_builder.opcode.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.circuit_builder.originir_ext_spec.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.circuit_builder.originir_spec.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.circuit_builder.parameter.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.circuit_builder.qasm_spec.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.circuit_builder.qcircuit.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.circuit_builder.qram.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.circuit_builder.qubit.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.circuit_builder.random_originir.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.circuit_builder.random_qasm.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.circuit_builder.rst +32 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.circuit_builder.translate_qasm2_oir.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.compile.compiler.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.compile.converter.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.compile.decompose.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.compile.draw.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.compile.originir.originir_base_parser.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.compile.originir.originir_line_parser.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.compile.originir.rst +19 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.compile.policy.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.compile.qasm.exceptions.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.compile.qasm.qasm_base_parser.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.compile.qasm.qasm_line_parser.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.compile.qasm.rst +20 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.compile.qiskit_transpiler.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.compile.rst +34 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.compile.timeline.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.compile.validation.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.config.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.exceptions.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.gateway.api.archive.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.gateway.api.backends.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.gateway.api.circuits.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.gateway.api.rst +21 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.gateway.api.tasks.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.gateway.cli.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.gateway.config.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.gateway.db.archive_store.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.gateway.db.rst +18 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.gateway.redaction.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.gateway.rst +31 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.gateway.server.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.gateway.ws.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.qem.m3.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.qem.readout_em.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.qem.rst +20 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.qem.zne.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.rst +37 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.simulator.base_simulator.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.simulator.error_model.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.simulator.get_backend.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.simulator.mps_simulator.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.simulator.opcode_simulator.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.simulator.originir_ext_simulator.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.simulator.qutip_sim_impl.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.simulator.rst +26 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.simulator.simulator.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.simulator.torchquantum_simulator.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.torch_adapter.batch_executor.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.torch_adapter.expectation.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.torch_adapter.gradient.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.torch_adapter.quantum_layer.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.torch_adapter.rst +22 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.torch_adapter.tq_quantum_layer.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.utils.expectation.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.utils.result_adapter.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.utils.rst +19 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.visualization.circuit.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.visualization.result.rst +7 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.visualization.rst +20 -0
- unified_quantum-0.1.0/docs/source/6_api/uniqc.visualization.timeline.rst +7 -0
- unified_quantum-0.1.0/docs/source/7_releases/_generated/strict_history.md +1411 -0
- unified_quantum-0.1.0/docs/source/7_releases/deprecation_policy.md +166 -0
- unified_quantum-0.1.0/docs/source/7_releases/index.md +240 -0
- unified_quantum-0.1.0/docs/source/7_releases/migration_0.1.0.md +135 -0
- unified_quantum-0.1.0/docs/source/7_releases/reports/0.0.16.md +167 -0
- unified_quantum-0.1.0/docs/source/7_releases/reports/0.0.17.md +94 -0
- unified_quantum-0.1.0/docs/source/7_releases/reports/0.0.17.post1.md +51 -0
- unified_quantum-0.1.0/docs/source/7_releases/reports/0.1.0.md +53 -0
- unified_quantum-0.1.0/docs/source/8_algorithms_examples/circuit_building_blocks.md +24 -0
- unified_quantum-0.1.0/docs/source/8_algorithms_examples/core_algorithms.md +18 -0
- unified_quantum-0.1.0/docs/source/8_algorithms_examples/index.md +19 -0
- unified_quantum-0.1.0/docs/source/8_algorithms_examples/measurement_tomography.md +12 -0
- unified_quantum-0.1.0/docs/source/8_algorithms_examples/real_hardware.md +13 -0
- unified_quantum-0.1.0/docs/source/8_algorithms_examples/state_preparation.md +12 -0
- unified_quantum-0.1.0/docs/source/8_algorithms_examples/variational_hybrid.md +50 -0
- unified_quantum-0.1.0/docs/source/_generated/examples/0_quickstart/01_quickstart.md +38 -0
- unified_quantum-0.1.0/docs/source/_generated/examples/1_basic_usage/01_circuit_basics.md +56 -0
- unified_quantum-0.1.0/docs/source/_generated/examples/1_basic_usage/02_local_simulation.md +30 -0
- unified_quantum-0.1.0/docs/source/_generated/examples/1_basic_usage/03_submit_and_postprocess.md +29 -0
- unified_quantum-0.1.0/docs/source/_generated/examples/1_basic_usage/04_config.md +35 -0
- unified_quantum-0.1.0/docs/source/_generated/examples/1_basic_usage/05_visualize.md +30 -0
- unified_quantum-0.1.0/docs/source/_generated/examples/1_basic_usage/figures/05_visualize/figure-01.svg +867 -0
- unified_quantum-0.1.0/docs/source/_generated/examples/2_advanced/01_compile_options.md +54 -0
- unified_quantum-0.1.0/docs/source/_generated/examples/2_advanced/02_region_selector.md +22 -0
- unified_quantum-0.1.0/docs/source/_generated/examples/2_advanced/03_variational_qaoa.md +30 -0
- unified_quantum-0.1.0/docs/source/_generated/examples/2_advanced/04_dummy_chip_noise.md +43 -0
- unified_quantum-0.1.0/docs/source/_generated/examples/2_advanced/05_calibration_xeb.md +25 -0
- unified_quantum-0.1.0/docs/source/_generated/examples/2_advanced/06_qem_m3.md +22 -0
- unified_quantum-0.1.0/docs/source/_generated/examples/2_advanced/07_mps_simulator.md +35 -0
- unified_quantum-0.1.0/docs/source/_generated/examples/2_advanced/08_mid_circuit_measurement.md +53 -0
- unified_quantum-0.1.0/docs/source/_generated/examples/2_advanced/algorithms__adapt_vqe.md +53 -0
- unified_quantum-0.1.0/docs/source/_generated/examples/2_advanced/algorithms__grover.md +44 -0
- unified_quantum-0.1.0/docs/source/_generated/examples/2_advanced/algorithms__hea_options.md +166 -0
- unified_quantum-0.1.0/docs/source/_generated/examples/2_advanced/algorithms__hva_example.md +103 -0
- unified_quantum-0.1.0/docs/source/_generated/examples/2_advanced/algorithms__hybrid_model.md +18 -0
- unified_quantum-0.1.0/docs/source/_generated/examples/2_advanced/algorithms__parameters_demo.md +119 -0
- unified_quantum-0.1.0/docs/source/_generated/examples/2_advanced/algorithms__parametric_originir_roundtrip.md +79 -0
- unified_quantum-0.1.0/docs/source/_generated/examples/2_advanced/algorithms__qaoa.md +39 -0
- unified_quantum-0.1.0/docs/source/_generated/examples/2_advanced/algorithms__qaoa_pytorch.md +38 -0
- unified_quantum-0.1.0/docs/source/_generated/examples/2_advanced/algorithms__qaoa_variants.md +119 -0
- unified_quantum-0.1.0/docs/source/_generated/examples/2_advanced/algorithms__qcnn_classifier.md +36 -0
- unified_quantum-0.1.0/docs/source/_generated/examples/2_advanced/algorithms__qnn_classifier.md +18 -0
- unified_quantum-0.1.0/docs/source/_generated/examples/2_advanced/algorithms__qpe.md +50 -0
- unified_quantum-0.1.0/docs/source/_generated/examples/2_advanced/algorithms__vqe.md +42 -0
- unified_quantum-0.1.0/docs/source/_generated/examples/2_advanced/algorithms__vqe_pytorch.md +39 -0
- unified_quantum-0.1.0/docs/source/_generated/examples/2_advanced/circuits__amplitude_estimation.md +46 -0
- unified_quantum-0.1.0/docs/source/_generated/examples/2_advanced/circuits__deutsch-jozsa.md +37 -0
- unified_quantum-0.1.0/docs/source/_generated/examples/2_advanced/circuits__dicke_state.md +37 -0
- unified_quantum-0.1.0/docs/source/_generated/examples/2_advanced/circuits__entangled_states.md +44 -0
- unified_quantum-0.1.0/docs/source/_generated/examples/2_advanced/circuits__grover_oracle.md +35 -0
- unified_quantum-0.1.0/docs/source/_generated/examples/2_advanced/circuits__qft.md +46 -0
- unified_quantum-0.1.0/docs/source/_generated/examples/2_advanced/circuits__thermal_state.md +36 -0
- unified_quantum-0.1.0/docs/source/_generated/examples/2_advanced/circuits__vqd.md +42 -0
- unified_quantum-0.1.0/docs/source/_generated/examples/2_advanced/measurement__shadow_tomography.md +46 -0
- unified_quantum-0.1.0/docs/source/_generated/examples/2_advanced/measurement__state_tomography.md +61 -0
- unified_quantum-0.1.0/docs/source/_generated/examples/2_advanced/state_preparation__hadamard_superposition.md +59 -0
- unified_quantum-0.1.0/docs/source/_generated/examples/2_advanced/state_preparation__rotation_prepare.md +51 -0
- unified_quantum-0.1.0/docs/source/_generated/examples/2_advanced/wk180__readout_em.md +25 -0
- unified_quantum-0.1.0/docs/source/_generated/examples/2_advanced/wk180__xeb.md +54 -0
- unified_quantum-0.1.0/docs/source/_generated/examples/3_best_practices/00_config_and_backend_cache.md +24 -0
- unified_quantum-0.1.0/docs/source/_generated/examples/3_best_practices/01_bare_circuit_simulation.md +39 -0
- unified_quantum-0.1.0/docs/source/_generated/examples/3_best_practices/02_named_circuit_and_reuse.md +36 -0
- unified_quantum-0.1.0/docs/source/_generated/examples/3_best_practices/03_compile_region_dummy_backend.md +41 -0
- unified_quantum-0.1.0/docs/source/_generated/examples/3_best_practices/04_api_submit_dummy_result.md +30 -0
- unified_quantum-0.1.0/docs/source/_generated/examples/3_best_practices/05_cli_workflow_dummy.md +45 -0
- unified_quantum-0.1.0/docs/source/_generated/examples/3_best_practices/06_cloud_backend_template.md +25 -0
- unified_quantum-0.1.0/docs/source/_generated/examples/3_best_practices/07_variational_circuit.md +29 -0
- unified_quantum-0.1.0/docs/source/_generated/examples/3_best_practices/08_torch_quantum_training.md +26 -0
- unified_quantum-0.1.0/docs/source/_generated/examples/3_best_practices/09_calibration_qem_dummy.md +27 -0
- unified_quantum-0.1.0/docs/source/_generated/examples/3_best_practices/10_xeb_workflow_dummy.md +28 -0
- unified_quantum-0.1.0/docs/source/_generated/examples/3_best_practices/11_native_torch_training.md +37 -0
- unified_quantum-0.1.0/docs/source/_generated/examples/3_best_practices/figures/01_bare_circuit_simulation/figure-01.svg +800 -0
- unified_quantum-0.1.0/docs/source/_generated/examples/3_best_practices/figures/02_named_circuit_and_reuse/figure-01.svg +928 -0
- unified_quantum-0.1.0/docs/source/_generated/examples/3_best_practices/figures/04_api_submit_dummy_result/figure-01.svg +893 -0
- unified_quantum-0.1.0/docs/source/_generated/examples/3_best_practices/figures/07_variational_circuit/figure-01.svg +921 -0
- unified_quantum-0.1.0/docs/source/_generated/examples/3_best_practices/figures/08_torch_quantum_training/figure-01.svg +1087 -0
- unified_quantum-0.1.0/docs/source/_generated/examples/3_best_practices/figures/09_calibration_qem_dummy/figure-01.svg +897 -0
- unified_quantum-0.1.0/docs/source/_generated/examples/3_best_practices/figures/10_xeb_workflow_dummy/figure-01.svg +1180 -0
- unified_quantum-0.1.0/docs/source/_generated/examples/3_best_practices/figures/11_native_torch_training/figure-01.svg +2433 -0
- unified_quantum-0.1.0/docs/source/_generated/examples/4_cli/01_cli_walkthrough.md +145 -0
- unified_quantum-0.1.0/docs/source/_generated/examples/5_webui/01_gateway_demo.md +37 -0
- unified_quantum-0.1.0/docs/source/platforms/dummy.md +71 -0
- unified_quantum-0.1.0/docs/source/platforms/ibm.md +68 -0
- unified_quantum-0.1.0/docs/source/platforms/index.md +34 -0
- unified_quantum-0.1.0/docs/source/platforms/logicalqubit.md +64 -0
- unified_quantum-0.1.0/docs/source/platforms/originq.md +65 -0
- unified_quantum-0.1.0/docs/source/platforms/quark.md +64 -0
- unified_quantum-0.1.0/docs/source/platforms/tianyan.md +72 -0
- unified_quantum-0.1.0/example-exec-logs/.matplotlib/fontlist-v3.11.0.json +6251 -0
- unified_quantum-0.1.0/example-exec-logs/0_quickstart/01_quickstart/run.json +19 -0
- unified_quantum-0.1.0/example-exec-logs/1_basic_usage/01_circuit_basics/run.json +19 -0
- unified_quantum-0.1.0/example-exec-logs/1_basic_usage/02_local_simulation/run.json +19 -0
- unified_quantum-0.1.0/example-exec-logs/1_basic_usage/03_submit_and_postprocess/run.json +19 -0
- unified_quantum-0.1.0/example-exec-logs/1_basic_usage/04_config/run.json +19 -0
- unified_quantum-0.1.0/example-exec-logs/1_basic_usage/05_visualize/figures/figure-01.svg +867 -0
- unified_quantum-0.1.0/example-exec-logs/1_basic_usage/05_visualize/run.json +23 -0
- unified_quantum-0.1.0/example-exec-logs/2_advanced/01_compile_options/run.json +19 -0
- unified_quantum-0.1.0/example-exec-logs/2_advanced/02_region_selector/run.json +21 -0
- unified_quantum-0.1.0/example-exec-logs/2_advanced/03_variational_qaoa/run.json +19 -0
- unified_quantum-0.1.0/example-exec-logs/2_advanced/04_dummy_chip_noise/run.json +19 -0
- unified_quantum-0.1.0/example-exec-logs/2_advanced/05_calibration_xeb/run.json +19 -0
- unified_quantum-0.1.0/example-exec-logs/2_advanced/06_qem_m3/run.json +19 -0
- unified_quantum-0.1.0/example-exec-logs/2_advanced/07_mps_simulator/run.json +19 -0
- unified_quantum-0.1.0/example-exec-logs/2_advanced/08_mid_circuit_measurement/run.json +19 -0
- unified_quantum-0.1.0/example-exec-logs/2_advanced/algorithms__adapt_vqe/run.json +19 -0
- unified_quantum-0.1.0/example-exec-logs/2_advanced/algorithms__grover/run.json +19 -0
- unified_quantum-0.1.0/example-exec-logs/2_advanced/algorithms__hea_options/run.json +19 -0
- unified_quantum-0.1.0/example-exec-logs/2_advanced/algorithms__hva_example/run.json +19 -0
- unified_quantum-0.1.0/example-exec-logs/2_advanced/algorithms__hybrid_model/run.json +22 -0
- unified_quantum-0.1.0/example-exec-logs/2_advanced/algorithms__parameters_demo/run.json +19 -0
- unified_quantum-0.1.0/example-exec-logs/2_advanced/algorithms__parametric_originir_roundtrip/run.json +19 -0
- unified_quantum-0.1.0/example-exec-logs/2_advanced/algorithms__qaoa/run.json +19 -0
- unified_quantum-0.1.0/example-exec-logs/2_advanced/algorithms__qaoa_pytorch/run.json +21 -0
- unified_quantum-0.1.0/example-exec-logs/2_advanced/algorithms__qaoa_variants/run.json +19 -0
- unified_quantum-0.1.0/example-exec-logs/2_advanced/algorithms__qcnn_classifier/run.json +21 -0
- unified_quantum-0.1.0/example-exec-logs/2_advanced/algorithms__qnn_classifier/run.json +22 -0
- unified_quantum-0.1.0/example-exec-logs/2_advanced/algorithms__qpe/run.json +19 -0
- unified_quantum-0.1.0/example-exec-logs/2_advanced/algorithms__vqe/run.json +19 -0
- unified_quantum-0.1.0/example-exec-logs/2_advanced/algorithms__vqe_pytorch/run.json +21 -0
- unified_quantum-0.1.0/example-exec-logs/2_advanced/circuits__amplitude_estimation/run.json +21 -0
- unified_quantum-0.1.0/example-exec-logs/2_advanced/circuits__deutsch-jozsa/run.json +19 -0
- unified_quantum-0.1.0/example-exec-logs/2_advanced/circuits__dicke_state/run.json +19 -0
- unified_quantum-0.1.0/example-exec-logs/2_advanced/circuits__entangled_states/run.json +19 -0
- unified_quantum-0.1.0/example-exec-logs/2_advanced/circuits__grover_oracle/run.json +19 -0
- unified_quantum-0.1.0/example-exec-logs/2_advanced/circuits__qft/run.json +19 -0
- unified_quantum-0.1.0/example-exec-logs/2_advanced/circuits__thermal_state/run.json +19 -0
- unified_quantum-0.1.0/example-exec-logs/2_advanced/circuits__vqd/run.json +21 -0
- unified_quantum-0.1.0/example-exec-logs/2_advanced/measurement__shadow_tomography/run.json +19 -0
- unified_quantum-0.1.0/example-exec-logs/2_advanced/measurement__state_tomography/run.json +19 -0
- unified_quantum-0.1.0/example-exec-logs/2_advanced/state_preparation__hadamard_superposition/run.json +19 -0
- unified_quantum-0.1.0/example-exec-logs/2_advanced/state_preparation__rotation_prepare/run.json +19 -0
- unified_quantum-0.1.0/example-exec-logs/2_advanced/wk180__readout_em/run.json +21 -0
- unified_quantum-0.1.0/example-exec-logs/2_advanced/wk180__xeb/run.json +21 -0
- unified_quantum-0.1.0/example-exec-logs/3_best_practices/00_config_and_backend_cache/run.json +19 -0
- unified_quantum-0.1.0/example-exec-logs/3_best_practices/01_bare_circuit_simulation/figures/figure-01.svg +800 -0
- unified_quantum-0.1.0/example-exec-logs/3_best_practices/01_bare_circuit_simulation/run.json +23 -0
- unified_quantum-0.1.0/example-exec-logs/3_best_practices/02_named_circuit_and_reuse/figures/figure-01.svg +928 -0
- unified_quantum-0.1.0/example-exec-logs/3_best_practices/02_named_circuit_and_reuse/run.json +23 -0
- unified_quantum-0.1.0/example-exec-logs/3_best_practices/03_compile_region_dummy_backend/run.json +19 -0
- unified_quantum-0.1.0/example-exec-logs/3_best_practices/04_api_submit_dummy_result/figures/figure-01.svg +893 -0
- unified_quantum-0.1.0/example-exec-logs/3_best_practices/04_api_submit_dummy_result/run.json +23 -0
- unified_quantum-0.1.0/example-exec-logs/3_best_practices/05_cli_workflow_dummy/run.json +19 -0
- unified_quantum-0.1.0/example-exec-logs/3_best_practices/06_cloud_backend_template/run.json +21 -0
- unified_quantum-0.1.0/example-exec-logs/3_best_practices/07_variational_circuit/figures/figure-01.svg +921 -0
- unified_quantum-0.1.0/example-exec-logs/3_best_practices/07_variational_circuit/run.json +23 -0
- unified_quantum-0.1.0/example-exec-logs/3_best_practices/08_torch_quantum_training/figures/figure-01.svg +1087 -0
- unified_quantum-0.1.0/example-exec-logs/3_best_practices/08_torch_quantum_training/run.json +24 -0
- unified_quantum-0.1.0/example-exec-logs/3_best_practices/09_calibration_qem_dummy/figures/figure-01.svg +897 -0
- unified_quantum-0.1.0/example-exec-logs/3_best_practices/09_calibration_qem_dummy/run.json +23 -0
- unified_quantum-0.1.0/example-exec-logs/3_best_practices/10_xeb_workflow_dummy/figures/figure-01.svg +1180 -0
- unified_quantum-0.1.0/example-exec-logs/3_best_practices/10_xeb_workflow_dummy/run.json +23 -0
- unified_quantum-0.1.0/example-exec-logs/3_best_practices/11_native_torch_training/figures/figure-01.svg +2433 -0
- unified_quantum-0.1.0/example-exec-logs/3_best_practices/11_native_torch_training/run.json +42 -0
- unified_quantum-0.1.0/example-exec-logs/4_cli/01_cli_walkthrough/run.json +19 -0
- unified_quantum-0.1.0/example-exec-logs/5_webui/01_gateway_demo/run.json +19 -0
- unified_quantum-0.1.0/example-exec-logs/index.json +695 -0
- unified_quantum-0.1.0/examples/0_quickstart/01_quickstart.py +45 -0
- unified_quantum-0.1.0/examples/1_basic_usage/01_circuit_basics.py +38 -0
- unified_quantum-0.1.0/examples/1_basic_usage/02_local_simulation.py +42 -0
- unified_quantum-0.1.0/examples/1_basic_usage/03_submit_and_postprocess.py +57 -0
- unified_quantum-0.1.0/examples/1_basic_usage/04_config.py +59 -0
- unified_quantum-0.1.0/examples/1_basic_usage/05_visualize.py +48 -0
- unified_quantum-0.1.0/examples/2_advanced/01_compile_options.py +48 -0
- unified_quantum-0.1.0/examples/2_advanced/02_region_selector.py +31 -0
- unified_quantum-0.1.0/examples/2_advanced/03_variational_qaoa.py +51 -0
- unified_quantum-0.1.0/examples/2_advanced/04_dummy_chip_noise.py +49 -0
- unified_quantum-0.1.0/examples/2_advanced/05_calibration_xeb.py +41 -0
- unified_quantum-0.1.0/examples/2_advanced/06_qem_m3.py +42 -0
- unified_quantum-0.1.0/examples/2_advanced/07_mps_simulator.py +59 -0
- unified_quantum-0.1.0/examples/2_advanced/08_mid_circuit_measurement.py +90 -0
- unified_quantum-0.1.0/examples/2_advanced/algorithms/README.md +62 -0
- unified_quantum-0.1.0/examples/2_advanced/algorithms/adapt_vqe.py +319 -0
- unified_quantum-0.1.0/examples/2_advanced/algorithms/grover.md +129 -0
- unified_quantum-0.1.0/examples/2_advanced/algorithms/grover.py +290 -0
- unified_quantum-0.1.0/examples/2_advanced/algorithms/hea_options.md +156 -0
- unified_quantum-0.1.0/examples/2_advanced/algorithms/hea_options.py +170 -0
- unified_quantum-0.1.0/examples/2_advanced/algorithms/hva_example.md +126 -0
- unified_quantum-0.1.0/examples/2_advanced/algorithms/hva_example.py +229 -0
- unified_quantum-0.1.0/examples/2_advanced/algorithms/hybrid_model.py +72 -0
- unified_quantum-0.1.0/examples/2_advanced/algorithms/parameters_demo.md +139 -0
- unified_quantum-0.1.0/examples/2_advanced/algorithms/parameters_demo.py +201 -0
- unified_quantum-0.1.0/examples/2_advanced/algorithms/parametric_originir_roundtrip.py +93 -0
- unified_quantum-0.1.0/examples/2_advanced/algorithms/qaoa.md +107 -0
- unified_quantum-0.1.0/examples/2_advanced/algorithms/qaoa.py +189 -0
- unified_quantum-0.1.0/examples/2_advanced/algorithms/qaoa_pytorch.py +51 -0
- unified_quantum-0.1.0/examples/2_advanced/algorithms/qaoa_variants.md +121 -0
- unified_quantum-0.1.0/examples/2_advanced/algorithms/qaoa_variants.py +210 -0
- unified_quantum-0.1.0/examples/2_advanced/algorithms/qcnn_classifier.py +98 -0
- unified_quantum-0.1.0/examples/2_advanced/algorithms/qnn_classifier.py +64 -0
- unified_quantum-0.1.0/examples/2_advanced/algorithms/qpe.md +116 -0
- unified_quantum-0.1.0/examples/2_advanced/algorithms/qpe.py +333 -0
- unified_quantum-0.1.0/examples/2_advanced/algorithms/vqe.md +117 -0
- unified_quantum-0.1.0/examples/2_advanced/algorithms/vqe.py +206 -0
- unified_quantum-0.1.0/examples/2_advanced/algorithms/vqe_pytorch.py +53 -0
- unified_quantum-0.1.0/examples/2_advanced/circuits/README.md +22 -0
- unified_quantum-0.1.0/examples/2_advanced/circuits/amplitude_estimation.py +154 -0
- unified_quantum-0.1.0/examples/2_advanced/circuits/deutsch-jozsa.py +98 -0
- unified_quantum-0.1.0/examples/2_advanced/circuits/dicke_state.py +80 -0
- unified_quantum-0.1.0/examples/2_advanced/circuits/entangled_states.py +107 -0
- unified_quantum-0.1.0/examples/2_advanced/circuits/grover_oracle.py +81 -0
- unified_quantum-0.1.0/examples/2_advanced/circuits/qft.py +104 -0
- unified_quantum-0.1.0/examples/2_advanced/circuits/thermal_state.py +71 -0
- unified_quantum-0.1.0/examples/2_advanced/circuits/vqd.py +189 -0
- unified_quantum-0.1.0/examples/2_advanced/measurement/README.md +24 -0
- unified_quantum-0.1.0/examples/2_advanced/measurement/shadow_tomography.py +87 -0
- unified_quantum-0.1.0/examples/2_advanced/measurement/state_tomography.py +78 -0
- unified_quantum-0.1.0/examples/2_advanced/state_preparation/README.md +19 -0
- unified_quantum-0.1.0/examples/2_advanced/state_preparation/hadamard_superposition.py +91 -0
- unified_quantum-0.1.0/examples/2_advanced/state_preparation/rotation_prepare.py +130 -0
- unified_quantum-0.1.0/examples/2_advanced/wk180/readout_em.py +197 -0
- unified_quantum-0.1.0/examples/2_advanced/wk180/xeb.py +456 -0
- unified_quantum-0.1.0/examples/3_best_practices/00_config_and_backend_cache.py +60 -0
- unified_quantum-0.1.0/examples/3_best_practices/01_bare_circuit_simulation.py +66 -0
- unified_quantum-0.1.0/examples/3_best_practices/02_named_circuit_and_reuse.py +94 -0
- unified_quantum-0.1.0/examples/3_best_practices/03_compile_region_dummy_backend.py +39 -0
- unified_quantum-0.1.0/examples/3_best_practices/04_api_submit_dummy_result.py +58 -0
- unified_quantum-0.1.0/examples/3_best_practices/05_cli_workflow_dummy.py +60 -0
- unified_quantum-0.1.0/examples/3_best_practices/06_cloud_backend_template.py +36 -0
- unified_quantum-0.1.0/examples/3_best_practices/07_variational_circuit.py +60 -0
- unified_quantum-0.1.0/examples/3_best_practices/08_torch_quantum_training.py +66 -0
- unified_quantum-0.1.0/examples/3_best_practices/09_calibration_qem_dummy.py +57 -0
- unified_quantum-0.1.0/examples/3_best_practices/10_xeb_workflow_dummy.py +60 -0
- unified_quantum-0.1.0/examples/3_best_practices/11_native_torch_training.py +107 -0
- unified_quantum-0.1.0/examples/3_best_practices/README.md +33 -0
- unified_quantum-0.1.0/examples/4_cli/01_cli_walkthrough.py +79 -0
- unified_quantum-0.1.0/examples/4_cli/cli_example/README.md +233 -0
- unified_quantum-0.1.0/examples/4_cli/cli_example/circuit.originir +10 -0
- unified_quantum-0.1.0/examples/4_cli/cli_example/circuit.qasm +17 -0
- unified_quantum-0.1.0/examples/5_webui/01_gateway_demo.py +48 -0
- unified_quantum-0.1.0/examples/README.md +38 -0
- unified_quantum-0.1.0/frontend/index.html +12 -0
- unified_quantum-0.1.0/frontend/package-lock.json +3618 -0
- unified_quantum-0.1.0/frontend/package.json +29 -0
- unified_quantum-0.1.0/frontend/src/App.tsx +127 -0
- unified_quantum-0.1.0/frontend/src/components/ChipTopology.tsx +638 -0
- unified_quantum-0.1.0/frontend/src/components/CircuitViewer.tsx +103 -0
- unified_quantum-0.1.0/frontend/src/components/StatusBadge.tsx +23 -0
- unified_quantum-0.1.0/frontend/src/components/TaskCard.tsx +157 -0
- unified_quantum-0.1.0/frontend/src/hooks/useApi.ts +140 -0
- unified_quantum-0.1.0/frontend/src/hooks/useWebSocket.ts +71 -0
- unified_quantum-0.1.0/frontend/src/main.tsx +28 -0
- unified_quantum-0.1.0/frontend/src/pages/ArchivePage.tsx +83 -0
- unified_quantum-0.1.0/frontend/src/pages/BackendsPage.tsx +311 -0
- unified_quantum-0.1.0/frontend/src/pages/Dashboard.tsx +166 -0
- unified_quantum-0.1.0/frontend/src/pages/TasksPage.tsx +245 -0
- unified_quantum-0.1.0/frontend/src/styles/globals.css +567 -0
- unified_quantum-0.1.0/frontend/tsconfig.json +24 -0
- unified_quantum-0.1.0/frontend/vite.config.ts +20 -0
- unified_quantum-0.1.0/pyproject.toml +184 -0
- unified_quantum-0.1.0/pytest.ini +28 -0
- unified_quantum-0.1.0/scripts/build_docs.py +789 -0
- unified_quantum-0.1.0/scripts/check_doc_logs.py +115 -0
- unified_quantum-0.1.0/scripts/check_local_links.py +159 -0
- unified_quantum-0.1.0/scripts/check_release.py +124 -0
- unified_quantum-0.1.0/scripts/generate_release_notes.py +332 -0
- unified_quantum-0.1.0/scripts/report_pytest_failures.py +46 -0
- unified_quantum-0.1.0/scripts/smoke_pytorch_extra.py +46 -0
- unified_quantum-0.1.0/setup.cfg +4 -0
- unified_quantum-0.1.0/site/assets/favicon.svg +16 -0
- unified_quantum-0.1.0/site/index.html +418 -0
- unified_quantum-0.1.0/site/script.js +200 -0
- unified_quantum-0.1.0/site/styles.css +982 -0
- unified_quantum-0.1.0/unified_quantum.egg-info/PKG-INFO +597 -0
- unified_quantum-0.1.0/unified_quantum.egg-info/SOURCES.txt +868 -0
- unified_quantum-0.1.0/unified_quantum.egg-info/dependency_links.txt +1 -0
- unified_quantum-0.1.0/unified_quantum.egg-info/entry_points.txt +2 -0
- unified_quantum-0.1.0/unified_quantum.egg-info/not-zip-safe +1 -0
- unified_quantum-0.1.0/unified_quantum.egg-info/requires.txt +64 -0
- unified_quantum-0.1.0/unified_quantum.egg-info/scm_file_list.json +862 -0
- unified_quantum-0.1.0/unified_quantum.egg-info/scm_version.json +8 -0
- unified_quantum-0.1.0/unified_quantum.egg-info/top_level.txt +1 -0
- unified_quantum-0.1.0/uniqc/__init__.py +455 -0
- unified_quantum-0.1.0/uniqc/_deprecation.py +75 -0
- unified_quantum-0.1.0/uniqc/_error_hints.py +272 -0
- unified_quantum-0.1.0/uniqc/_version.py +24 -0
- unified_quantum-0.1.0/uniqc/algorithms/__init__.py +5 -0
- unified_quantum-0.1.0/uniqc/algorithms/core/__init__.py +22 -0
- unified_quantum-0.1.0/uniqc/algorithms/core/ansatz/__init__.py +18 -0
- unified_quantum-0.1.0/uniqc/algorithms/core/ansatz/_hardware_aware.py +185 -0
- unified_quantum-0.1.0/uniqc/algorithms/core/ansatz/_operator_pool.py +214 -0
- unified_quantum-0.1.0/uniqc/algorithms/core/ansatz/_pauli_unitary.py +95 -0
- unified_quantum-0.1.0/uniqc/algorithms/core/ansatz/_topology.py +92 -0
- unified_quantum-0.1.0/uniqc/algorithms/core/ansatz/_types.py +64 -0
- unified_quantum-0.1.0/uniqc/algorithms/core/ansatz/hea.py +370 -0
- unified_quantum-0.1.0/uniqc/algorithms/core/ansatz/hva.py +133 -0
- unified_quantum-0.1.0/uniqc/algorithms/core/ansatz/qaoa_ansatz.py +207 -0
- unified_quantum-0.1.0/uniqc/algorithms/core/ansatz/uccsd.py +188 -0
- unified_quantum-0.1.0/uniqc/algorithms/core/circuits/__init__.py +31 -0
- unified_quantum-0.1.0/uniqc/algorithms/core/circuits/amplitude_estimation.py +319 -0
- unified_quantum-0.1.0/uniqc/algorithms/core/circuits/deutsch_jozsa.py +129 -0
- unified_quantum-0.1.0/uniqc/algorithms/core/circuits/dicke_state.py +121 -0
- unified_quantum-0.1.0/uniqc/algorithms/core/circuits/entangled_states.py +154 -0
- unified_quantum-0.1.0/uniqc/algorithms/core/circuits/grover_oracle.py +220 -0
- unified_quantum-0.1.0/uniqc/algorithms/core/circuits/qft.py +88 -0
- unified_quantum-0.1.0/uniqc/algorithms/core/circuits/qpe.py +162 -0
- unified_quantum-0.1.0/uniqc/algorithms/core/circuits/thermal_state.py +65 -0
- unified_quantum-0.1.0/uniqc/algorithms/core/circuits/vqd.py +209 -0
- unified_quantum-0.1.0/uniqc/algorithms/core/measurement/__init__.py +19 -0
- unified_quantum-0.1.0/uniqc/algorithms/core/measurement/basis_rotation.py +216 -0
- unified_quantum-0.1.0/uniqc/algorithms/core/measurement/classical_shadow.py +384 -0
- unified_quantum-0.1.0/uniqc/algorithms/core/measurement/pauli_expectation.py +346 -0
- unified_quantum-0.1.0/uniqc/algorithms/core/measurement/state_tomography.py +613 -0
- unified_quantum-0.1.0/uniqc/algorithms/core/state_preparation/__init__.py +15 -0
- unified_quantum-0.1.0/uniqc/algorithms/core/state_preparation/basis_state.py +46 -0
- unified_quantum-0.1.0/uniqc/algorithms/core/state_preparation/dicke_state.py +75 -0
- unified_quantum-0.1.0/uniqc/algorithms/core/state_preparation/hadamard_superposition.py +43 -0
- unified_quantum-0.1.0/uniqc/algorithms/core/state_preparation/rotation_prepare.py +112 -0
- unified_quantum-0.1.0/uniqc/algorithms/core/state_preparation/thermal_state.py +84 -0
- unified_quantum-0.1.0/uniqc/algorithms/core/training/__init__.py +30 -0
- unified_quantum-0.1.0/uniqc/algorithms/core/training/hybrid_model.py +141 -0
- unified_quantum-0.1.0/uniqc/algorithms/core/training/qaoa_torch.py +138 -0
- unified_quantum-0.1.0/uniqc/algorithms/core/training/qcnn.py +123 -0
- unified_quantum-0.1.0/uniqc/algorithms/core/training/qnn.py +113 -0
- unified_quantum-0.1.0/uniqc/algorithms/core/training/vqe_torch.py +158 -0
- unified_quantum-0.1.0/uniqc/algorithms/workflows/__init__.py +29 -0
- unified_quantum-0.1.0/uniqc/algorithms/workflows/classical_shadow_workflow.py +105 -0
- unified_quantum-0.1.0/uniqc/algorithms/workflows/qaoa_workflow.py +177 -0
- unified_quantum-0.1.0/uniqc/algorithms/workflows/readout_em_workflow.py +126 -0
- unified_quantum-0.1.0/uniqc/algorithms/workflows/vqe_workflow.py +207 -0
- unified_quantum-0.1.0/uniqc/algorithms/workflows/xeb_workflow.py +484 -0
- unified_quantum-0.1.0/uniqc/backend_adapter/__init__.py +83 -0
- unified_quantum-0.1.0/uniqc/backend_adapter/backend.py +934 -0
- unified_quantum-0.1.0/uniqc/backend_adapter/backend_cache.py +174 -0
- unified_quantum-0.1.0/uniqc/backend_adapter/backend_info.py +164 -0
- unified_quantum-0.1.0/uniqc/backend_adapter/backend_registry.py +649 -0
- unified_quantum-0.1.0/uniqc/backend_adapter/circuit_adapter.py +643 -0
- unified_quantum-0.1.0/uniqc/backend_adapter/config.py +21 -0
- unified_quantum-0.1.0/uniqc/backend_adapter/database_migration.py +54 -0
- unified_quantum-0.1.0/uniqc/backend_adapter/dummy_backend.py +443 -0
- unified_quantum-0.1.0/uniqc/backend_adapter/network_utils.py +305 -0
- unified_quantum-0.1.0/uniqc/backend_adapter/preflight.py +600 -0
- unified_quantum-0.1.0/uniqc/backend_adapter/region_selector.py +782 -0
- unified_quantum-0.1.0/uniqc/backend_adapter/task/__init__.py +41 -0
- unified_quantum-0.1.0/uniqc/backend_adapter/task/adapters/__init__.py +63 -0
- unified_quantum-0.1.0/uniqc/backend_adapter/task/adapters/base.py +260 -0
- unified_quantum-0.1.0/uniqc/backend_adapter/task/adapters/dummy_adapter.py +799 -0
- unified_quantum-0.1.0/uniqc/backend_adapter/task/adapters/ibm_adapter.py +491 -0
- unified_quantum-0.1.0/uniqc/backend_adapter/task/adapters/logicalqubit_adapter.py +421 -0
- unified_quantum-0.1.0/uniqc/backend_adapter/task/adapters/originq_adapter.py +1036 -0
- unified_quantum-0.1.0/uniqc/backend_adapter/task/adapters/qiskit_adapter.py +639 -0
- unified_quantum-0.1.0/uniqc/backend_adapter/task/adapters/quark_adapter.py +532 -0
- unified_quantum-0.1.0/uniqc/backend_adapter/task/adapters/tianyan_adapter.py +595 -0
- unified_quantum-0.1.0/uniqc/backend_adapter/task/normalizers.py +415 -0
- unified_quantum-0.1.0/uniqc/backend_adapter/task/optional_deps.py +204 -0
- unified_quantum-0.1.0/uniqc/backend_adapter/task/options.py +609 -0
- unified_quantum-0.1.0/uniqc/backend_adapter/task/persistence.py +245 -0
- unified_quantum-0.1.0/uniqc/backend_adapter/task/result_types.py +326 -0
- unified_quantum-0.1.0/uniqc/backend_adapter/task/store.py +889 -0
- unified_quantum-0.1.0/uniqc/backend_adapter/task_manager.py +2432 -0
- unified_quantum-0.1.0/uniqc/backend_adapter/virtual_machine.py +640 -0
- unified_quantum-0.1.0/uniqc/calibration/__init__.py +35 -0
- unified_quantum-0.1.0/uniqc/calibration/readout/__init__.py +5 -0
- unified_quantum-0.1.0/uniqc/calibration/readout/calibrator.py +313 -0
- unified_quantum-0.1.0/uniqc/calibration/results.py +217 -0
- unified_quantum-0.1.0/uniqc/calibration/xeb/__init__.py +63 -0
- unified_quantum-0.1.0/uniqc/calibration/xeb/benchmarker.py +482 -0
- unified_quantum-0.1.0/uniqc/calibration/xeb/circuits.py +219 -0
- unified_quantum-0.1.0/uniqc/calibration/xeb/fitter.py +299 -0
- unified_quantum-0.1.0/uniqc/calibration/xeb/parallel_cz.py +691 -0
- unified_quantum-0.1.0/uniqc/calibration/xeb/patterns.py +289 -0
- unified_quantum-0.1.0/uniqc/calibration/xeb/topology.py +436 -0
- unified_quantum-0.1.0/uniqc/circuit_builder/__init__.py +80 -0
- unified_quantum-0.1.0/uniqc/circuit_builder/classical_program.py +712 -0
- unified_quantum-0.1.0/uniqc/circuit_builder/matrix.py +356 -0
- unified_quantum-0.1.0/uniqc/circuit_builder/named_circuit.py +343 -0
- unified_quantum-0.1.0/uniqc/circuit_builder/normalize.py +186 -0
- unified_quantum-0.1.0/uniqc/circuit_builder/opcode.py +282 -0
- unified_quantum-0.1.0/uniqc/circuit_builder/originir_ext_spec.py +98 -0
- unified_quantum-0.1.0/uniqc/circuit_builder/originir_spec.py +194 -0
- unified_quantum-0.1.0/uniqc/circuit_builder/parameter.py +262 -0
- unified_quantum-0.1.0/uniqc/circuit_builder/qasm_spec.py +57 -0
- unified_quantum-0.1.0/uniqc/circuit_builder/qcircuit.py +2065 -0
- unified_quantum-0.1.0/uniqc/circuit_builder/qram.py +138 -0
- unified_quantum-0.1.0/uniqc/circuit_builder/qubit.py +193 -0
- unified_quantum-0.1.0/uniqc/circuit_builder/random_originir.py +232 -0
- unified_quantum-0.1.0/uniqc/circuit_builder/random_qasm.py +189 -0
- unified_quantum-0.1.0/uniqc/circuit_builder/translate_qasm2_oir.py +604 -0
- unified_quantum-0.1.0/uniqc/cli/__init__.py +11 -0
- unified_quantum-0.1.0/uniqc/cli/__main__.py +6 -0
- unified_quantum-0.1.0/uniqc/cli/backend.py +576 -0
- unified_quantum-0.1.0/uniqc/cli/backend_virtual.py +183 -0
- unified_quantum-0.1.0/uniqc/cli/calibrate.py +390 -0
- unified_quantum-0.1.0/uniqc/cli/chip_cache.py +231 -0
- unified_quantum-0.1.0/uniqc/cli/chip_info.py +170 -0
- unified_quantum-0.1.0/uniqc/cli/chip_service.py +230 -0
- unified_quantum-0.1.0/uniqc/cli/circuit.py +123 -0
- unified_quantum-0.1.0/uniqc/cli/config_cmd.py +317 -0
- unified_quantum-0.1.0/uniqc/cli/doctor.py +323 -0
- unified_quantum-0.1.0/uniqc/cli/main.py +95 -0
- unified_quantum-0.1.0/uniqc/cli/output.py +384 -0
- unified_quantum-0.1.0/uniqc/cli/refs.py +400 -0
- unified_quantum-0.1.0/uniqc/cli/result.py +118 -0
- unified_quantum-0.1.0/uniqc/cli/simulate.py +144 -0
- unified_quantum-0.1.0/uniqc/cli/submit.py +273 -0
- unified_quantum-0.1.0/uniqc/cli/sync.py +747 -0
- unified_quantum-0.1.0/uniqc/cli/sync_cmd.py +65 -0
- unified_quantum-0.1.0/uniqc/cli/task.py +230 -0
- unified_quantum-0.1.0/uniqc/compile/__init__.py +81 -0
- unified_quantum-0.1.0/uniqc/compile/_utils.py +10 -0
- unified_quantum-0.1.0/uniqc/compile/compiler.py +895 -0
- unified_quantum-0.1.0/uniqc/compile/converter.py +86 -0
- unified_quantum-0.1.0/uniqc/compile/decompose.py +523 -0
- unified_quantum-0.1.0/uniqc/compile/draw.py +5 -0
- unified_quantum-0.1.0/uniqc/compile/originir/__init__.py +2 -0
- unified_quantum-0.1.0/uniqc/compile/originir/originir_base_parser.py +655 -0
- unified_quantum-0.1.0/uniqc/compile/originir/originir_line_parser.py +1096 -0
- unified_quantum-0.1.0/uniqc/compile/policy.py +150 -0
- unified_quantum-0.1.0/uniqc/compile/qasm/__init__.py +5 -0
- unified_quantum-0.1.0/uniqc/compile/qasm/_safe_eval.py +177 -0
- unified_quantum-0.1.0/uniqc/compile/qasm/exceptions.py +13 -0
- unified_quantum-0.1.0/uniqc/compile/qasm/qasm_base_parser.py +502 -0
- unified_quantum-0.1.0/uniqc/compile/qasm/qasm_line_parser.py +711 -0
- unified_quantum-0.1.0/uniqc/compile/qiskit_transpiler.py +244 -0
- unified_quantum-0.1.0/uniqc/compile/timeline.py +25 -0
- unified_quantum-0.1.0/uniqc/compile/validation.py +466 -0
- unified_quantum-0.1.0/uniqc/config.py +576 -0
- unified_quantum-0.1.0/uniqc/exceptions.py +467 -0
- unified_quantum-0.1.0/uniqc/gateway/__init__.py +5 -0
- unified_quantum-0.1.0/uniqc/gateway/api/__init__.py +12 -0
- unified_quantum-0.1.0/uniqc/gateway/api/archive.py +117 -0
- unified_quantum-0.1.0/uniqc/gateway/api/backends.py +439 -0
- unified_quantum-0.1.0/uniqc/gateway/api/circuits.py +213 -0
- unified_quantum-0.1.0/uniqc/gateway/api/tasks.py +212 -0
- unified_quantum-0.1.0/uniqc/gateway/cli.py +221 -0
- unified_quantum-0.1.0/uniqc/gateway/config.py +61 -0
- unified_quantum-0.1.0/uniqc/gateway/db/__init__.py +5 -0
- unified_quantum-0.1.0/uniqc/gateway/db/archive_store.py +170 -0
- unified_quantum-0.1.0/uniqc/gateway/redaction.py +55 -0
- unified_quantum-0.1.0/uniqc/gateway/server.py +150 -0
- unified_quantum-0.1.0/uniqc/gateway/ws.py +112 -0
- unified_quantum-0.1.0/uniqc/qem/__init__.py +16 -0
- unified_quantum-0.1.0/uniqc/qem/m3.py +317 -0
- unified_quantum-0.1.0/uniqc/qem/readout_em.py +314 -0
- unified_quantum-0.1.0/uniqc/qem/zne.py +22 -0
- unified_quantum-0.1.0/uniqc/simulator/__init__.py +136 -0
- unified_quantum-0.1.0/uniqc/simulator/base_simulator.py +561 -0
- unified_quantum-0.1.0/uniqc/simulator/error_model.py +486 -0
- unified_quantum-0.1.0/uniqc/simulator/get_backend.py +73 -0
- unified_quantum-0.1.0/uniqc/simulator/mps_simulator.py +687 -0
- unified_quantum-0.1.0/uniqc/simulator/opcode_simulator.py +458 -0
- unified_quantum-0.1.0/uniqc/simulator/originir_ext_simulator.py +238 -0
- unified_quantum-0.1.0/uniqc/simulator/qutip_sim_impl.py +845 -0
- unified_quantum-0.1.0/uniqc/simulator/simulator.py +192 -0
- unified_quantum-0.1.0/uniqc/simulator/torchquantum_simulator.py +272 -0
- unified_quantum-0.1.0/uniqc/simulator/uniq_cpp.pyi +171 -0
- unified_quantum-0.1.0/uniqc/test/QASMBench.pkl +0 -0
- unified_quantum-0.1.0/uniqc/test/README.md +62 -0
- unified_quantum-0.1.0/uniqc/test/__init__.py +36 -0
- unified_quantum-0.1.0/uniqc/test/_utils.py +15 -0
- unified_quantum-0.1.0/uniqc/test/adapter/__init__.py +0 -0
- unified_quantum-0.1.0/uniqc/test/adapter/test_circuit_adapter.py +229 -0
- unified_quantum-0.1.0/uniqc/test/adapter/test_logicalqubit_adapter.py +588 -0
- unified_quantum-0.1.0/uniqc/test/adapter/test_optional_deps.py +144 -0
- unified_quantum-0.1.0/uniqc/test/adapter/test_pytorch.py +364 -0
- unified_quantum-0.1.0/uniqc/test/adapter/test_quark_adapter.py +263 -0
- unified_quantum-0.1.0/uniqc/test/adapter/test_quark_topology_details.py +106 -0
- unified_quantum-0.1.0/uniqc/test/adapter/test_tianyan_adapter.py +491 -0
- unified_quantum-0.1.0/uniqc/test/adapter/test_tq_algorithms.py +57 -0
- unified_quantum-0.1.0/uniqc/test/algorithmics/__init__.py +0 -0
- unified_quantum-0.1.0/uniqc/test/algorithmics/circuits/__init__.py +0 -0
- unified_quantum-0.1.0/uniqc/test/algorithmics/circuits/test_circuits_amplitude_estimation.py +104 -0
- unified_quantum-0.1.0/uniqc/test/algorithmics/circuits/test_circuits_deutsch_jozsa.py +90 -0
- unified_quantum-0.1.0/uniqc/test/algorithmics/circuits/test_circuits_dicke_state.py +106 -0
- unified_quantum-0.1.0/uniqc/test/algorithmics/circuits/test_circuits_entangled_states.py +122 -0
- unified_quantum-0.1.0/uniqc/test/algorithmics/circuits/test_circuits_grover_oracle.py +177 -0
- unified_quantum-0.1.0/uniqc/test/algorithmics/circuits/test_circuits_qft.py +103 -0
- unified_quantum-0.1.0/uniqc/test/algorithmics/circuits/test_circuits_qpe.py +153 -0
- unified_quantum-0.1.0/uniqc/test/algorithmics/circuits/test_circuits_thermal_state.py +71 -0
- unified_quantum-0.1.0/uniqc/test/algorithmics/circuits/test_circuits_vqd.py +145 -0
- unified_quantum-0.1.0/uniqc/test/algorithmics/measurement/__init__.py +0 -0
- unified_quantum-0.1.0/uniqc/test/algorithmics/measurement/test_measurement_basis_rotation.py +169 -0
- unified_quantum-0.1.0/uniqc/test/algorithmics/measurement/test_measurement_pauli.py +212 -0
- unified_quantum-0.1.0/uniqc/test/algorithmics/measurement/test_measurement_shadow.py +235 -0
- unified_quantum-0.1.0/uniqc/test/algorithmics/measurement/test_measurement_tomography.py +183 -0
- unified_quantum-0.1.0/uniqc/test/algorithmics/state_preparation/__init__.py +0 -0
- unified_quantum-0.1.0/uniqc/test/algorithmics/state_preparation/test_state_preparation.py +321 -0
- unified_quantum-0.1.0/uniqc/test/algorithms/__init__.py +0 -0
- unified_quantum-0.1.0/uniqc/test/algorithms/test_hardware_aware_ansatz.py +189 -0
- unified_quantum-0.1.0/uniqc/test/algorithms/test_operator_pool_gradient_coeff.py +51 -0
- unified_quantum-0.1.0/uniqc/test/algorithms/test_pauli_unitary_y_basis_regression.py +45 -0
- unified_quantum-0.1.0/uniqc/test/algorithms/workflows/__init__.py +0 -0
- unified_quantum-0.1.0/uniqc/test/algorithms/workflows/test_qaoa_maxcut_workflow.py +109 -0
- unified_quantum-0.1.0/uniqc/test/algorithms/workflows/test_vqe_h2_workflow.py +117 -0
- unified_quantum-0.1.0/uniqc/test/analyzer/__init__.py +0 -0
- unified_quantum-0.1.0/uniqc/test/analyzer/test_analyzer_draw.py +366 -0
- unified_quantum-0.1.0/uniqc/test/analyzer/test_analyzer_expectation.py +687 -0
- unified_quantum-0.1.0/uniqc/test/analyzer/test_analyzer_result_adapter.py +234 -0
- unified_quantum-0.1.0/uniqc/test/backend_adapter/__init__.py +0 -0
- unified_quantum-0.1.0/uniqc/test/backend_adapter/test_cache_migration.py +127 -0
- unified_quantum-0.1.0/uniqc/test/backend_adapter/test_normalizers_n_qubits.py +151 -0
- unified_quantum-0.1.0/uniqc/test/backend_adapter/test_persistence_shim.py +155 -0
- unified_quantum-0.1.0/uniqc/test/backend_adapter/test_task_lifecycle_regressions.py +558 -0
- unified_quantum-0.1.0/uniqc/test/backend_adapter/test_virtual_dummy_backend.py +170 -0
- unified_quantum-0.1.0/uniqc/test/backend_adapter/test_virtual_machine.py +281 -0
- unified_quantum-0.1.0/uniqc/test/benchmark/__init__.py +0 -0
- unified_quantum-0.1.0/uniqc/test/benchmark/test_QASMBench.py +184 -0
- unified_quantum-0.1.0/uniqc/test/calibration/test_backend_preflight.py +288 -0
- unified_quantum-0.1.0/uniqc/test/calibration/test_m3.py +155 -0
- unified_quantum-0.1.0/uniqc/test/calibration/test_parallel_cz_circuits.py +125 -0
- unified_quantum-0.1.0/uniqc/test/calibration/test_parallel_cz_per_pair.py +207 -0
- unified_quantum-0.1.0/uniqc/test/calibration/test_parallel_cz_topology.py +180 -0
- unified_quantum-0.1.0/uniqc/test/calibration/test_parallel_cz_workflow.py +110 -0
- unified_quantum-0.1.0/uniqc/test/calibration/test_patterns.py +130 -0
- unified_quantum-0.1.0/uniqc/test/calibration/test_readout.py +105 -0
- unified_quantum-0.1.0/uniqc/test/calibration/test_readout_em.py +30 -0
- unified_quantum-0.1.0/uniqc/test/calibration/test_xeb_circuits.py +71 -0
- unified_quantum-0.1.0/uniqc/test/calibration/test_xeb_fitter.py +96 -0
- unified_quantum-0.1.0/uniqc/test/calibration/test_xeb_workflow.py +25 -0
- unified_quantum-0.1.0/uniqc/test/circuit_builder/__init__.py +0 -0
- unified_quantum-0.1.0/uniqc/test/circuit_builder/test_ansatz.py +413 -0
- unified_quantum-0.1.0/uniqc/test/circuit_builder/test_circuit_builder_opcode_and_random.py +1291 -0
- unified_quantum-0.1.0/uniqc/test/circuit_builder/test_circuit_builder_qcircuit.py +1135 -0
- unified_quantum-0.1.0/uniqc/test/circuit_builder/test_circuit_builder_spec.py +1212 -0
- unified_quantum-0.1.0/uniqc/test/circuit_builder/test_circuit_param_map.py +379 -0
- unified_quantum-0.1.0/uniqc/test/circuit_builder/test_named_circuit.py +230 -0
- unified_quantum-0.1.0/uniqc/test/circuit_builder/test_originir_ext_parameters.py +297 -0
- unified_quantum-0.1.0/uniqc/test/circuit_builder/test_parameter.py +188 -0
- unified_quantum-0.1.0/uniqc/test/circuit_builder/test_qubit_qreg.py +209 -0
- unified_quantum-0.1.0/uniqc/test/cli/__init__.py +1 -0
- unified_quantum-0.1.0/uniqc/test/cli/conftest.py +43 -0
- unified_quantum-0.1.0/uniqc/test/cli/test_backend_cli.py +361 -0
- unified_quantum-0.1.0/uniqc/test/cli/test_backend_virtual_cli.py +80 -0
- unified_quantum-0.1.0/uniqc/test/cli/test_calibrate_cli.py +306 -0
- unified_quantum-0.1.0/uniqc/test/cli/test_chip_service_and_cache.py +296 -0
- unified_quantum-0.1.0/uniqc/test/cli/test_circuit.py +96 -0
- unified_quantum-0.1.0/uniqc/test/cli/test_cli_circuit_pytest.py +75 -0
- unified_quantum-0.1.0/uniqc/test/cli/test_doctor_cli.py +214 -0
- unified_quantum-0.1.0/uniqc/test/cli/test_main_cli.py +132 -0
- unified_quantum-0.1.0/uniqc/test/cli/test_main_cli_fixes.py +350 -0
- unified_quantum-0.1.0/uniqc/test/cli/test_output_helpers.py +149 -0
- unified_quantum-0.1.0/uniqc/test/cli/test_sync_cli.py +418 -0
- unified_quantum-0.1.0/uniqc/test/cloud/__init__.py +0 -0
- unified_quantum-0.1.0/uniqc/test/cloud/_config_helpers.py +29 -0
- unified_quantum-0.1.0/uniqc/test/cloud/platforms/__init__.py +0 -0
- unified_quantum-0.1.0/uniqc/test/cloud/test_adapter_integration.py +135 -0
- unified_quantum-0.1.0/uniqc/test/cloud/test_backend_audit.py +81 -0
- unified_quantum-0.1.0/uniqc/test/cloud/test_cloud_platforms.py +469 -0
- unified_quantum-0.1.0/uniqc/test/cloud/test_config.py +431 -0
- unified_quantum-0.1.0/uniqc/test/cloud/test_demos.py +64 -0
- unified_quantum-0.1.0/uniqc/test/cloud/test_doc_basic_usage.py +170 -0
- unified_quantum-0.1.0/uniqc/test/cloud/test_dummy_adapter.py +131 -0
- unified_quantum-0.1.0/uniqc/test/cloud/test_dummy_backend_design.py +194 -0
- unified_quantum-0.1.0/uniqc/test/cloud/test_ibm_calibration_details.py +141 -0
- unified_quantum-0.1.0/uniqc/test/cloud/test_network_utils.py +350 -0
- unified_quantum-0.1.0/uniqc/test/cloud/test_persistence.py +200 -0
- unified_quantum-0.1.0/uniqc/test/cloud/test_result_adapter.py +6 -0
- unified_quantum-0.1.0/uniqc/test/cloud/test_result_types.py +109 -0
- unified_quantum-0.1.0/uniqc/test/cloud/test_task_adapters.py +690 -0
- unified_quantum-0.1.0/uniqc/test/cloud/test_task_manager.py +465 -0
- unified_quantum-0.1.0/uniqc/test/compile/qasm/test_qasm_parsers_reject_rce.py +84 -0
- unified_quantum-0.1.0/uniqc/test/compile/qasm/test_safe_eval_rejects_rce.py +38 -0
- unified_quantum-0.1.0/uniqc/test/compile/test_route_with_fidelity_tiny_circuit.py +124 -0
- unified_quantum-0.1.0/uniqc/test/core/__init__.py +0 -0
- unified_quantum-0.1.0/uniqc/test/core/test_classical_program.py +242 -0
- unified_quantum-0.1.0/uniqc/test/core/test_general.py +20 -0
- unified_quantum-0.1.0/uniqc/test/core/test_originir_control_validation.py +29 -0
- unified_quantum-0.1.0/uniqc/test/core/test_originir_def.py +233 -0
- unified_quantum-0.1.0/uniqc/test/core/test_originir_ext.py +279 -0
- unified_quantum-0.1.0/uniqc/test/core/test_originir_ext_dynamic.py +346 -0
- unified_quantum-0.1.0/uniqc/test/core/test_originir_named_registers.py +183 -0
- unified_quantum-0.1.0/uniqc/test/core/test_originir_parser.py +64 -0
- unified_quantum-0.1.0/uniqc/test/core/test_qasm_parser.py +127 -0
- unified_quantum-0.1.0/uniqc/test/core/test_qram.py +591 -0
- unified_quantum-0.1.0/uniqc/test/gateway/conftest.py +37 -0
- unified_quantum-0.1.0/uniqc/test/gateway/test_backends_api.py +205 -0
- unified_quantum-0.1.0/uniqc/test/gateway/test_circuits_api.py +151 -0
- unified_quantum-0.1.0/uniqc/test/gateway/test_config.py +25 -0
- unified_quantum-0.1.0/uniqc/test/gateway/test_gateway_cli_and_server.py +327 -0
- unified_quantum-0.1.0/uniqc/test/gateway/test_spa_routing.py +69 -0
- unified_quantum-0.1.0/uniqc/test/gateway/test_tasks_and_archive_api.py +323 -0
- unified_quantum-0.1.0/uniqc/test/integration/test_parametric_circuits.py +187 -0
- unified_quantum-0.1.0/uniqc/test/qem/__init__.py +0 -0
- unified_quantum-0.1.0/uniqc/test/qem/test_m3_mitigate_counts_preserves_total.py +60 -0
- unified_quantum-0.1.0/uniqc/test/qem/test_readout_em.py +237 -0
- unified_quantum-0.1.0/uniqc/test/qem/test_zne_extrapolation.py +101 -0
- unified_quantum-0.1.0/uniqc/test/simulator/__init__.py +0 -0
- unified_quantum-0.1.0/uniqc/test/simulator/test_error_model.py +77 -0
- unified_quantum-0.1.0/uniqc/test/simulator/test_gate_oracles.py +263 -0
- unified_quantum-0.1.0/uniqc/test/simulator/test_mps_simulator.py +220 -0
- unified_quantum-0.1.0/uniqc/test/simulator/test_random_OriginIR.py +189 -0
- unified_quantum-0.1.0/uniqc/test/simulator/test_random_QASM.py +363 -0
- unified_quantum-0.1.0/uniqc/test/simulator/test_random_QASM_measure.py +190 -0
- unified_quantum-0.1.0/uniqc/test/simulator/test_readout_error_per_qubit_independent.py +50 -0
- unified_quantum-0.1.0/uniqc/test/simulator/test_simulator.py +138 -0
- unified_quantum-0.1.0/uniqc/test/simulator/test_simulator_factory.py +31 -0
- unified_quantum-0.1.0/uniqc/test/simulator/test_torchquantum_simulator.py +203 -0
- unified_quantum-0.1.0/uniqc/test/simulator/test_two_qubit_error_model.py +202 -0
- unified_quantum-0.1.0/uniqc/test/task_pipeline/__init__.py +0 -0
- unified_quantum-0.1.0/uniqc/test/task_pipeline/test_fake_backend.py +259 -0
- unified_quantum-0.1.0/uniqc/test/task_pipeline/test_ibm_fake.py +134 -0
- unified_quantum-0.1.0/uniqc/test/test_compile_validation.py +201 -0
- unified_quantum-0.1.0/uniqc/test/test_compiler.py +136 -0
- unified_quantum-0.1.0/uniqc/test/test_compiler_matrix.py +346 -0
- unified_quantum-0.1.0/uniqc/test/test_config_broad.py +342 -0
- unified_quantum-0.1.0/uniqc/test/test_config_file_perms.py +68 -0
- unified_quantum-0.1.0/uniqc/test/test_config_migration.py +81 -0
- unified_quantum-0.1.0/uniqc/test/test_decompose.py +218 -0
- unified_quantum-0.1.0/uniqc/test/test_dependency_policy.py +84 -0
- unified_quantum-0.1.0/uniqc/test/test_endianness_convention.py +181 -0
- unified_quantum-0.1.0/uniqc/test/test_exception_paths.py +101 -0
- unified_quantum-0.1.0/uniqc/test/test_integration.py +259 -0
- unified_quantum-0.1.0/uniqc/test/test_package_structure.py +73 -0
- unified_quantum-0.1.0/uniqc/test/test_region_selector.py +218 -0
- unified_quantum-0.1.0/uniqc/test/test_release_validation.py +64 -0
- unified_quantum-0.1.0/uniqc/test/test_sync_core.py +310 -0
- unified_quantum-0.1.0/uniqc/test/test_task_id_indirection.py +296 -0
- unified_quantum-0.1.0/uniqc/test/test_task_options.py +323 -0
- unified_quantum-0.1.0/uniqc/test/test_test_runner_pytest.py +18 -0
- unified_quantum-0.1.0/uniqc/test/torch_adapter/test_expectation.py +356 -0
- unified_quantum-0.1.0/uniqc/test/transpiler/__init__.py +0 -0
- unified_quantum-0.1.0/uniqc/test/transpiler/test_transpile.py +68 -0
- unified_quantum-0.1.0/uniqc/test/transpiler/test_transpiler_converter.py +107 -0
- unified_quantum-0.1.0/uniqc/test/transpiler/test_transpiler_pytest.py +34 -0
- unified_quantum-0.1.0/uniqc/test/transpiler/test_transpiler_qiskit.py +122 -0
- unified_quantum-0.1.0/uniqc/test/visualization/test_timeline_schedule.py +95 -0
- unified_quantum-0.1.0/uniqc/torch_adapter/__init__.py +34 -0
- unified_quantum-0.1.0/uniqc/torch_adapter/batch_executor.py +81 -0
- unified_quantum-0.1.0/uniqc/torch_adapter/expectation.py +450 -0
- unified_quantum-0.1.0/uniqc/torch_adapter/gradient.py +105 -0
- unified_quantum-0.1.0/uniqc/torch_adapter/quantum_layer.py +176 -0
- unified_quantum-0.1.0/uniqc/torch_adapter/tq_quantum_layer.py +103 -0
- unified_quantum-0.1.0/uniqc/utils/__init__.py +21 -0
- unified_quantum-0.1.0/uniqc/utils/expectation.py +293 -0
- unified_quantum-0.1.0/uniqc/utils/result_adapter.py +154 -0
- unified_quantum-0.1.0/uniqc/visualization/__init__.py +44 -0
- unified_quantum-0.1.0/uniqc/visualization/circuit.py +78 -0
- unified_quantum-0.1.0/uniqc/visualization/result.py +180 -0
- unified_quantum-0.1.0/uniqc/visualization/timeline.py +1057 -0
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: uniqc-build-docs
|
|
3
|
+
description: "Run the full UnifiedQuantum documentation build: execute all examples (pre-doc-execution), regenerate API reference via sphinx-apidoc, and build Sphinx HTML. Reports any warnings, errors, or diffs in example-exec-logs/."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# UnifiedQuantum Documentation Build Skill
|
|
7
|
+
|
|
8
|
+
Use this skill when a developer wants to build the documentation locally. The build has two stages:
|
|
9
|
+
|
|
10
|
+
1. **Pre-doc-execution** (`scripts/build_docs.py`): runs every `examples/<chapter>/*.py`, captures stdout/stderr and matplotlib figures, generates `docs/source/_generated/examples/` Markdown pages, and refreshes `example-exec-logs/`.
|
|
11
|
+
2. **Sphinx HTML** (`sphinx-build`): builds the final site, `{include}`-ing the generated example pages.
|
|
12
|
+
|
|
13
|
+
`make html` runs both. `make html-fast` skips step 1 and trusts committed logs.
|
|
14
|
+
|
|
15
|
+
## Steps
|
|
16
|
+
|
|
17
|
+
### Step 1: Ensure the environment is up to date
|
|
18
|
+
|
|
19
|
+
From the project root:
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
uv sync --all-extras --group dev --group docs
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
If `uv sync` fails because of an unresolvable optional extra, retry without `--all-extras`:
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
uv sync --group dev --group docs
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
### Step 2: Run the full doc build
|
|
32
|
+
|
|
33
|
+
From the project root:
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
cd docs && uv run make html 2>&1
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
This runs (in order):
|
|
40
|
+
1. `examples` target — executes `scripts/build_docs.py` and refreshes `example-exec-logs/`
|
|
41
|
+
2. `apidoc` target — runs `sphinx-apidoc` to regenerate API rst stubs under `source/6_api/`
|
|
42
|
+
3. `html` target — runs `sphinx-build -M html`
|
|
43
|
+
|
|
44
|
+
Capture the full output and look for:
|
|
45
|
+
- **`WARNING`** or **`ERROR`** lines from Sphinx
|
|
46
|
+
- **Traceback** or **Exception** lines from example execution
|
|
47
|
+
- **Non-zero exit code** from `make html`
|
|
48
|
+
|
|
49
|
+
### Step 3: Check for example-exec-logs diffs
|
|
50
|
+
|
|
51
|
+
After a successful build, check whether the committed example outputs changed:
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
git diff --stat -- example-exec-logs/
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
- **No diff**: examples produced identical output to what is committed. No action needed.
|
|
58
|
+
- **Diff present**: an example's behaviour changed. Review the diff to confirm it is intentional (due to your code changes), then stage and commit the updated logs:
|
|
59
|
+
```bash
|
|
60
|
+
git add example-exec-logs/
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
### Step 4: Check for generated-page diffs
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
git diff --stat -- docs/source/_generated/
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
Commit any intentional diffs:
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
git add docs/source/_generated/
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
### Step 5: Report results
|
|
76
|
+
|
|
77
|
+
Report to the user:
|
|
78
|
+
1. Whether the build succeeded (exit code 0) or failed.
|
|
79
|
+
2. Number and category of warnings (if any).
|
|
80
|
+
3. Whether `example-exec-logs/` has uncommitted diffs (and whether they were committed).
|
|
81
|
+
4. Path to the built HTML: `docs/_build/html/index.html`.
|
|
82
|
+
|
|
83
|
+
## Fast rebuild (skip example re-execution)
|
|
84
|
+
|
|
85
|
+
If examples have not changed and only prose or API docs were edited, use the fast path:
|
|
86
|
+
|
|
87
|
+
```bash
|
|
88
|
+
cd docs && uv run make html-fast 2>&1
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
This skips `scripts/build_docs.py` and uses the already-committed `example-exec-logs/`.
|
|
92
|
+
|
|
93
|
+
## Troubleshooting
|
|
94
|
+
|
|
95
|
+
| Symptom | Likely cause | Fix |
|
|
96
|
+
|---------|-------------|-----|
|
|
97
|
+
| `ModuleNotFoundError` during example execution | Missing optional dependency | `uv sync --all-extras --group docs` or install the specific package |
|
|
98
|
+
| `WARNING: unknown directive` in Sphinx output | Missing or renamed rst/md include path | Check `docs/source/<chapter>/index.md` for stale `{include}` paths |
|
|
99
|
+
| `example-exec-logs/` diff on CI but not locally | Stale committed logs | Run `make html` locally, commit updated `example-exec-logs/` |
|
|
100
|
+
| `sphinx-apidoc` produces unexpected entries | New module not excluded | Update `APIDOC_EXCLUDE` in `docs/Makefile` |
|
|
@@ -0,0 +1,221 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: uniqc-release
|
|
3
|
+
description: "Create a new UnifiedQuantum release: generates release notes, updates CHANGELOG.md, creates a release branch, and opens a PR to main. After merge, creates and pushes a git tag, creates a GitHub Release, and deletes the release branch."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# UnifiedQuantum Release Skill
|
|
7
|
+
|
|
8
|
+
Use this skill when a maintainer wants to create a new release. The release workflow has two phases: PR creation and post-merge publication.
|
|
9
|
+
|
|
10
|
+
**Note**: PyPI publishing is automatic via GitHub Actions when a `v*` tag is pushed. GitHub Release is created as part of the post-merge workflow.
|
|
11
|
+
|
|
12
|
+
## Version Number
|
|
13
|
+
|
|
14
|
+
**IMPORTANT**: If the user does NOT provide a version number, you MUST ask them for one before proceeding.
|
|
15
|
+
|
|
16
|
+
Valid version formats:
|
|
17
|
+
- `vx.y.z` (e.g., `v0.0.10`)
|
|
18
|
+
- `x.y.z` (e.g., `0.0.10`)
|
|
19
|
+
|
|
20
|
+
The version will be normalized to `vx.y.z` format.
|
|
21
|
+
|
|
22
|
+
## Phase 1: Pre-Merge (Release PR)
|
|
23
|
+
|
|
24
|
+
### Step 1: Check Preconditions
|
|
25
|
+
|
|
26
|
+
1. Confirm we're on `main` branch and worktree is clean:
|
|
27
|
+
```bash
|
|
28
|
+
git status
|
|
29
|
+
git branch
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
2. Check current version from `uniqc/_version.py`:
|
|
33
|
+
```bash
|
|
34
|
+
grep "__version__" uniqc/_version.py
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
3. Verify CHANGELOG.md has `[Unreleased]` section with content.
|
|
38
|
+
|
|
39
|
+
### Step 2: Generate Release Notes
|
|
40
|
+
|
|
41
|
+
Run the release notes generator (if available):
|
|
42
|
+
```bash
|
|
43
|
+
uv run python scripts/generate_release_notes.py <version> 2>/dev/null || echo "No release notes generator found"
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
If no generator exists, manually draft release notes from:
|
|
47
|
+
- `CHANGELOG.md` `[Unreleased]` section
|
|
48
|
+
- Recent commit messages: `git log --oneline --since="2 weeks ago"`
|
|
49
|
+
|
|
50
|
+
### Step 3: Update CHANGELOG.md
|
|
51
|
+
|
|
52
|
+
1. Read current `CHANGELOG.md` to find the `[Unreleased]` section
|
|
53
|
+
2. Add the new version section with today's date:
|
|
54
|
+
```
|
|
55
|
+
## [x.y.z] - YYYY-MM-DD
|
|
56
|
+
|
|
57
|
+
[Content from Unreleased section]
|
|
58
|
+
```
|
|
59
|
+
3. Update the `[Unreleased]` section to be empty (or add placeholder)
|
|
60
|
+
|
|
61
|
+
### Step 4: Update Documentation Release Notes
|
|
62
|
+
|
|
63
|
+
1. Read current `docs/source/7_releases/index.md`
|
|
64
|
+
2. Add a new version section under `## 版本解读` with:
|
|
65
|
+
- **Version heading**: `### v{x.y.z}`
|
|
66
|
+
- **Summary paragraph**: Brief description of the release theme
|
|
67
|
+
- **Changes list**: Key additions, changes, and fixes
|
|
68
|
+
- **Migration notes**: If breaking changes exist, add upgrade guidance
|
|
69
|
+
- **Known gaps**: Document any unverified features
|
|
70
|
+
- **Verification results**: Link to test report if available
|
|
71
|
+
3. Update the header section:
|
|
72
|
+
- Change "当前建议先看哪个版本" to point to the new version
|
|
73
|
+
- Update the version description to reflect the new release
|
|
74
|
+
|
|
75
|
+
Example structure:
|
|
76
|
+
```markdown
|
|
77
|
+
### `v{x.y.z}`
|
|
78
|
+
|
|
79
|
+
这是一个[X类]版本,核心主题是**主题描述**。
|
|
80
|
+
|
|
81
|
+
本版主要变更:
|
|
82
|
+
- **变更1**:描述
|
|
83
|
+
- **变更2**:描述
|
|
84
|
+
|
|
85
|
+
如果你正在从 `v{prev}` 迁移,主要变更对用户透明:
|
|
86
|
+
- 变更说明
|
|
87
|
+
|
|
88
|
+
已知缺口(不阻塞发布):
|
|
89
|
+
- 缺口描述
|
|
90
|
+
|
|
91
|
+
**发布验证结果**:验证结果摘要。
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
### Step 5: Create Release Branch
|
|
95
|
+
|
|
96
|
+
```bash
|
|
97
|
+
git checkout -b release/<version>
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
### Step 6: Commit Changes
|
|
101
|
+
|
|
102
|
+
```bash
|
|
103
|
+
git add CHANGELOG.md docs/source/7_releases/index.md
|
|
104
|
+
git commit -m "$(cat <<'EOF'
|
|
105
|
+
docs(release): prepare v{x.y.z} release
|
|
106
|
+
|
|
107
|
+
- Update CHANGELOG.md with release notes
|
|
108
|
+
- Move [Unreleased] changes to [{x.y.z}] section
|
|
109
|
+
- Add release notes to docs/source/7_releases/index.md
|
|
110
|
+
EOF
|
|
111
|
+
)"
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
### Step 7: Push and Create PR
|
|
115
|
+
|
|
116
|
+
```bash
|
|
117
|
+
git push -u origin release/<version>
|
|
118
|
+
gh pr create --title "Release v{x.y.z}" --body "$(cat <<'EOF'
|
|
119
|
+
## Release v{x.y.z}
|
|
120
|
+
|
|
121
|
+
### Changes
|
|
122
|
+
[Summary of changes from CHANGELOG.md]
|
|
123
|
+
|
|
124
|
+
### Pre-release Testing
|
|
125
|
+
- [x] `uniqc-test-before-release` skill completed
|
|
126
|
+
- [x] Test report reviewed and approved
|
|
127
|
+
- [x] All blocking issues resolved
|
|
128
|
+
|
|
129
|
+
### Release Checklist
|
|
130
|
+
- [ ] PR merged to main
|
|
131
|
+
- [ ] GitHub Actions CI passes
|
|
132
|
+
- [ ] Tag created and pushed
|
|
133
|
+
- [ ] PyPI publication confirmed
|
|
134
|
+
EOF
|
|
135
|
+
)"
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
## Phase 2: Post-Merge (Publication)
|
|
139
|
+
|
|
140
|
+
**IMPORTANT**: After the PR is merged, ask the user to confirm before proceeding.
|
|
141
|
+
|
|
142
|
+
### Step 1: Confirm User Intent
|
|
143
|
+
|
|
144
|
+
Ask the user: "The PR has been merged. Do you want me to proceed with creating the tag, GitHub Release, and cleaning up?"
|
|
145
|
+
|
|
146
|
+
### Step 2: Fetch and Checkout Main
|
|
147
|
+
|
|
148
|
+
```bash
|
|
149
|
+
git fetch origin main
|
|
150
|
+
git checkout main
|
|
151
|
+
git pull origin main
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
### Step 3: Create and Push Tag
|
|
155
|
+
|
|
156
|
+
```bash
|
|
157
|
+
git tag -a v{x.y.z} -m "Release v{x.y.z}"
|
|
158
|
+
git push origin v{x.y.z}
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
GitHub Actions will automatically:
|
|
162
|
+
1. Build wheels for Ubuntu and Windows
|
|
163
|
+
2. Validate wheel ABI
|
|
164
|
+
3. Publish to PyPI
|
|
165
|
+
|
|
166
|
+
### Step 4: Create GitHub Release
|
|
167
|
+
|
|
168
|
+
```bash
|
|
169
|
+
gh release create v{x.y.z} \
|
|
170
|
+
--title "v{x.y.z}" \
|
|
171
|
+
--notes-file <(cat <<'EOF'
|
|
172
|
+
## Changes
|
|
173
|
+
|
|
174
|
+
See CHANGELOG.md for details.
|
|
175
|
+
|
|
176
|
+
## What's Changed
|
|
177
|
+
|
|
178
|
+
[Summary from release notes]
|
|
179
|
+
EOF
|
|
180
|
+
)
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
Or use the GitHub web UI to create the release after the tag is pushed.
|
|
184
|
+
|
|
185
|
+
### Step 5: Delete Release Branch
|
|
186
|
+
|
|
187
|
+
```bash
|
|
188
|
+
git branch -D release/v{x.y.z}
|
|
189
|
+
git push origin --delete release/v{x.y.z}
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
### Step 6: Verify
|
|
193
|
+
|
|
194
|
+
```bash
|
|
195
|
+
# Check the tag exists
|
|
196
|
+
git fetch --tags
|
|
197
|
+
git tag -l "v{x.y.z}*"
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
Monitor the release at:
|
|
201
|
+
- GitHub Actions: https://github.com/IAI-USTC-Quantum/UnifiedQuantum/actions
|
|
202
|
+
- GitHub Releases: https://github.com/IAI-USTC-Quantum/UnifiedQuantum/releases
|
|
203
|
+
- PyPI: https://pypi.org/project/unified-quantum/
|
|
204
|
+
|
|
205
|
+
## Error Handling
|
|
206
|
+
|
|
207
|
+
- If CHANGELOG.md is missing or malformed, create a minimal release note
|
|
208
|
+
- If the branch already exists, offer to delete and recreate or use existing
|
|
209
|
+
- If tag push fails, retry or inform the user
|
|
210
|
+
- If GitHub Release creation fails, inform user to create it manually at the releases page
|
|
211
|
+
|
|
212
|
+
## Example Conversation Flow
|
|
213
|
+
|
|
214
|
+
1. User: "Run the uniqc-release skill" (or otherwise asks to create a release)
|
|
215
|
+
2. Assistant: "What version would you like to release? (Current: 0.0.9)"
|
|
216
|
+
3. User: "0.0.10"
|
|
217
|
+
4. Assistant: Creates release PR...
|
|
218
|
+
5. User merges PR
|
|
219
|
+
6. Assistant: "PR merged! Shall I create the tag, GitHub Release, and clean up?"
|
|
220
|
+
7. User: "Yes"
|
|
221
|
+
8. Assistant: Creates tag → GitHub Actions publishes to PyPI → Creates GitHub Release → Deletes release branch
|
|
@@ -0,0 +1,222 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: uniqc-test-before-release
|
|
3
|
+
description: "Use before every UnifiedQuantum release to create and execute a complete release-candidate test plan, including CLI, Gateway frontend, cloud/dummy/real-device workflows, best-practices notebooks, and programmatic documentation-to-software alignment. Produces a full test report and a release/no-release recommendation."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# UnifiedQuantum Pre-Release Test Skill
|
|
7
|
+
|
|
8
|
+
Use this skill when a maintainer asks for release-candidate validation. This is not a smoke test. The output must be a complete execution plan first, then a complete report with a clear release recommendation.
|
|
9
|
+
|
|
10
|
+
## Required Output
|
|
11
|
+
|
|
12
|
+
Produce two artifacts:
|
|
13
|
+
|
|
14
|
+
1. **Test execution plan**: exact commands, credentials/quotas needed, expected artifacts, and pass/fail criteria.
|
|
15
|
+
2. **Final release report**: what was tested, evidence, failures, doc/software mismatches, coverage gaps, and one of `RELEASE`, `RELEASE WITH KNOWN GAPS`, or `DO NOT RELEASE`.
|
|
16
|
+
|
|
17
|
+
Use [references/report-template.md](references/report-template.md) for the report shape. Use [references/coverage-matrix.md](references/coverage-matrix.md) to avoid missing functional areas.
|
|
18
|
+
|
|
19
|
+
## First Steps
|
|
20
|
+
|
|
21
|
+
1. Confirm the release candidate:
|
|
22
|
+
- Current branch, commit, tag candidate, and version from `uniqc/_version.py` or package metadata.
|
|
23
|
+
- `README.md`, `README_en.md`, `CHANGELOG.md`, `pyproject.toml`, and `docs/source/7_releases/`.
|
|
24
|
+
2. Check the worktree:
|
|
25
|
+
- `git status -sb`
|
|
26
|
+
- Do not mix unrelated local changes into the release report. Report them as environment risk if they affect execution.
|
|
27
|
+
- Scan the repository root for stale release artifacts: `RELEASE_REPORT_*.md` and `RELEASE_EXECUTION_PLAN_*.md` whose version does **not** match the release under validation (e.g. `RELEASE_REPORT_0.0.15.md` while validating `0.0.16`). Stale artifacts are a **blocking issue** — they must be removed (or the removal PR merged) before tagging. Only the current release's report and plan may sit in the root at tag time.
|
|
28
|
+
3. Build the test environment:
|
|
29
|
+
- `uv sync --extra all --group dev --group docs --upgrade`
|
|
30
|
+
- `cd frontend && npm ci`
|
|
31
|
+
- `[quark]` requires Python ≥ 3.12 and ships wheels for Linux/macOS/Windows; it is included in `[all]` on supported interpreters.
|
|
32
|
+
4. Identify real-platform readiness:
|
|
33
|
+
- Config file: `~/.uniqc/config.yaml`
|
|
34
|
+
- Required token sections: `originq`, `ibm`, `quark`, plus `tianyan` / `logicalqubit` when those platforms are in scope.
|
|
35
|
+
- Confirm quota/cost permission before any command that submits a real quantum task.
|
|
36
|
+
|
|
37
|
+
## Mandatory Test Phases
|
|
38
|
+
|
|
39
|
+
### 1. Automated Python Package Tests
|
|
40
|
+
|
|
41
|
+
Run and record:
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
uv run pytest uniqc/test -v
|
|
45
|
+
uv run pytest uniqc/test -v --real-cloud-test
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
Rules:
|
|
49
|
+
|
|
50
|
+
- Ordinary cloud discovery/status/token tests must run in the default test command.
|
|
51
|
+
- Only tests that submit real quantum circuits belong behind `--real-cloud-test`.
|
|
52
|
+
- Dependency failures for maintained extras such as Qiskit, Qutip, Torch, docs, or visualization are release blockers unless the maintainer explicitly scopes them out.
|
|
53
|
+
|
|
54
|
+
### 2. C++ Simulator Dependency Check
|
|
55
|
+
|
|
56
|
+
The C++ simulator extension lives in the separate [`uniqc-cppsimulator`](https://github.com/IAI-USTC-Quantum/uniqc-cppsimulator) package (import name `uniqc_cpp`), which ships its own wheels and type stubs; `scripts/stubgen.py` no longer exists in this repository. Verify the installed dependency imports and exposes the simulator classes:
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
uv run python -c "import uniqc_cpp; print(uniqc_cpp.StatevectorSimulator, uniqc_cpp.DensityOperatorSimulator)"
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
### 3. Best-Practices Documentation Execution
|
|
63
|
+
|
|
64
|
+
The best-practices section is a release gate.
|
|
65
|
+
|
|
66
|
+
Run:
|
|
67
|
+
|
|
68
|
+
```bash
|
|
69
|
+
uv run python scripts/build_docs.py --only 3_best_practices
|
|
70
|
+
cd docs
|
|
71
|
+
uv run make html
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
Then inspect:
|
|
75
|
+
|
|
76
|
+
- `docs/source/1_basic_usage/best_practices.md`
|
|
77
|
+
- `docs/source/3_best_practices/index.md`
|
|
78
|
+
- every generated chapter under `docs/source/_generated/examples/3_best_practices/*.md`
|
|
79
|
+
- generated HTML pages for broken rendering, stale outputs, or inconsistent command names.
|
|
80
|
+
|
|
81
|
+
Best-practices failures are blockers unless the affected feature is explicitly removed from the release.
|
|
82
|
+
|
|
83
|
+
### 4. CLI Help and CLI Behavior
|
|
84
|
+
|
|
85
|
+
Use CLI help as a progressive-disclosure source of truth. Capture help for the root command and every public subcommand:
|
|
86
|
+
|
|
87
|
+
```bash
|
|
88
|
+
uv run uniqc --help
|
|
89
|
+
uv run python -m uniqc.cli --help
|
|
90
|
+
uv run uniqc circuit --help
|
|
91
|
+
uv run uniqc simulate --help
|
|
92
|
+
uv run uniqc submit --help
|
|
93
|
+
uv run uniqc result --help
|
|
94
|
+
uv run uniqc config --help
|
|
95
|
+
uv run uniqc task --help
|
|
96
|
+
uv run uniqc backend --help
|
|
97
|
+
uv run uniqc backend list --help
|
|
98
|
+
uv run uniqc backend show --help
|
|
99
|
+
uv run uniqc backend update --help
|
|
100
|
+
uv run uniqc backend chip-display --help
|
|
101
|
+
uv run uniqc calibrate --help
|
|
102
|
+
uv run uniqc gateway --help
|
|
103
|
+
uv run uniqc sync --help
|
|
104
|
+
uv run uniqc doctor --help
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
Then execute representative CLI workflows:
|
|
108
|
+
|
|
109
|
+
- Build or write a Bell/GHZ OriginIR file. Prefer OriginIR in release-plan examples because it is the recommended normalized path:
|
|
110
|
+
|
|
111
|
+
```originir
|
|
112
|
+
QINIT 2
|
|
113
|
+
CREG 2
|
|
114
|
+
H q[0]
|
|
115
|
+
CNOT q[0], q[1]
|
|
116
|
+
MEASURE q[0], c[0]
|
|
117
|
+
MEASURE q[1], c[1]
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
- `uv run uniqc circuit <file> --info`
|
|
121
|
+
- `uv run uniqc simulate <file>`
|
|
122
|
+
- `uv run uniqc submit <file> --backend dummy:local:simulator --wait`
|
|
123
|
+
- `uv run uniqc submit <file> --backend dummy:local:virtual-line-3 --wait`
|
|
124
|
+
- `uv run uniqc submit <file> --backend dummy:originq:WK_C180 --dry-run`
|
|
125
|
+
- `uv run uniqc backend update --platform originq`
|
|
126
|
+
- `uv run uniqc backend list --platform originq`
|
|
127
|
+
- `uv run uniqc backend show originq:WK_C180`
|
|
128
|
+
- `uv run uniqc backend chip-display originq/WK_C180 --update`
|
|
129
|
+
|
|
130
|
+
Note: `uniqc submit` takes a single `--backend BACKEND_ID` flag (no
|
|
131
|
+
`--platform` option). `uniqc backend list/update`, `uniqc task list`, and
|
|
132
|
+
`uniqc result` *do* accept `--platform`.
|
|
133
|
+
|
|
134
|
+
Confirm the docs match the help output and actual behavior. Do not recommend `python -m uniqc`; the supported module fallback is `python -m uniqc.cli`. There is no `uniqc workflow` CLI subcommand; `docs/source/4_cli/workflow.md` is a workflow guide page, and interactive next-step guidance is exposed by `--ai-hints` / `--ai-hint`.
|
|
135
|
+
|
|
136
|
+
Also verify the AI-hint paths:
|
|
137
|
+
|
|
138
|
+
- `uv run uniqc config list --ai-hint` or an equivalent command-local hint check.
|
|
139
|
+
- `uv run uniqc config always-ai-hint on`
|
|
140
|
+
- A subsequent command without `--ai-hint` prints AI workflow hints.
|
|
141
|
+
- `uv run uniqc config always-ai-hint off`
|
|
142
|
+
- Error-path documentation recommends adding `--ai-hint` or enabling `always-ai-hint` when an agent is uncertain about the next command.
|
|
143
|
+
|
|
144
|
+
### 5. Gateway Frontend and API
|
|
145
|
+
|
|
146
|
+
Run frontend checks:
|
|
147
|
+
|
|
148
|
+
```bash
|
|
149
|
+
cd frontend
|
|
150
|
+
npm run build
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
Run gateway checks:
|
|
154
|
+
|
|
155
|
+
```bash
|
|
156
|
+
uv run uniqc gateway status
|
|
157
|
+
uv run uniqc gateway start --host 127.0.0.1 --port 18765
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
Then verify:
|
|
161
|
+
|
|
162
|
+
- `/api/health`
|
|
163
|
+
- `/api/version`
|
|
164
|
+
- `/api/backends`
|
|
165
|
+
- `/api/tasks`
|
|
166
|
+
- the React app renders built assets from `frontend/dist`.
|
|
167
|
+
- Backend cards do not list `dummy:<platform>:<backend>` as an enumerable backend.
|
|
168
|
+
- Task pages can show dummy tasks, dry-run metadata where applicable, and compiled/transpiled metadata for chip-backed dummy paths.
|
|
169
|
+
|
|
170
|
+
Use Playwright or an available browser automation tool if present. If no browser tool is available, use HTTP responses and built asset inspection, and mark visual coverage as a gap.
|
|
171
|
+
|
|
172
|
+
### 6. Real-Platform Validation
|
|
173
|
+
|
|
174
|
+
Separate real-platform tests into three buckets:
|
|
175
|
+
|
|
176
|
+
- **Discovery**: backend list, status, token validation, and cache update. This should run by default in a core-dev environment.
|
|
177
|
+
- **Dry-run**: compatibility checks without creating quantum tasks.
|
|
178
|
+
- **Execution**: small-shot real quantum tasks. Requires explicit maintainer permission, quota notes, task IDs, and result retrieval.
|
|
179
|
+
|
|
180
|
+
Minimum release-candidate evidence:
|
|
181
|
+
|
|
182
|
+
- At least one OriginQ discovery/cache/dry-run path.
|
|
183
|
+
- At least one IBM/Qiskit discovery or documented reason it is unavailable.
|
|
184
|
+
- At least one real quantum task if the maintainer has authorized quota use.
|
|
185
|
+
- For every unavailable platform, record the exact missing token, SDK, region, or network reason.
|
|
186
|
+
|
|
187
|
+
### 7. Programmatic Documentation Alignment
|
|
188
|
+
|
|
189
|
+
Compare docs to software, not just by reading prose.
|
|
190
|
+
|
|
191
|
+
Check at least:
|
|
192
|
+
|
|
193
|
+
- `pyproject.toml` `project.scripts` contains `uniqc = "uniqc.cli.main:app"` and docs use `uniqc` / `python -m uniqc.cli`.
|
|
194
|
+
- CLI docs under `docs/source/4_cli/` describe commands that exist in `uv run uniqc --help`.
|
|
195
|
+
- Best-practices code imports current top-level APIs from `uniqc` where expected.
|
|
196
|
+
- New docs do not encourage old entries for new code: `uniqc.transpiler`, `uniqc.task`, `uniqc.qasm`, `uniqc.originir`, `uniqc.pytorch`, `uniqc.analyzer`.
|
|
197
|
+
- Dummy backend semantics are consistent:
|
|
198
|
+
- `dummy`: unconstrained, noiseless local VM.
|
|
199
|
+
- `dummy:local:virtual-line-N` / `dummy:local:virtual-grid-RxC`: virtual topology, noiseless.
|
|
200
|
+
- `dummy:<platform>:<backend>`: rule-based chip-backed local noisy execution, not listed as an enumerable backend.
|
|
201
|
+
- Config path is `~/.uniqc/config.yaml`.
|
|
202
|
+
- AI workflow hints use `--ai-hints` / `--ai-hint`, environment variable `UNIQC_AI_HINTS=1`, or `uniqc config always-ai-hint on`.
|
|
203
|
+
- IBM proxy can be configured with nested config keys such as `uniqc config set ibm.proxy.https http://127.0.0.1:7890`.
|
|
204
|
+
- `[quark]` requires Python ≥ 3.12 and is included in `[all]` on supported interpreters.
|
|
205
|
+
|
|
206
|
+
When possible, write small one-off scripts for this comparison and include their output in the report. If a comparison is manual, label it manual.
|
|
207
|
+
|
|
208
|
+
## Release Recommendation Rules
|
|
209
|
+
|
|
210
|
+
Use `DO NOT RELEASE` when any of these are true:
|
|
211
|
+
|
|
212
|
+
- Best-practices notebooks or docs build fail for maintained paths.
|
|
213
|
+
- CLI public help and docs disagree on a command required by the recommended workflow.
|
|
214
|
+
- Gateway frontend cannot build or the Gateway API cannot start in the release environment.
|
|
215
|
+
- Default tests fail for maintained dependencies.
|
|
216
|
+
- Real-platform discovery or dry-run fails without a documented external cause.
|
|
217
|
+
- Documentation claims a workflow works, but execution proves it does not.
|
|
218
|
+
- Stale release artifacts from earlier releases (`RELEASE_REPORT_<older-version>.md`, `RELEASE_EXECUTION_PLAN_<older-version>.md`) remain in the repository root; only the current release's artifacts may be present.
|
|
219
|
+
|
|
220
|
+
Use `RELEASE WITH KNOWN GAPS` only when the gaps are external, explicitly documented, and not on the recommended path.
|
|
221
|
+
|
|
222
|
+
Use `RELEASE` only when the mandatory phases pass and any untested area is non-release-critical with maintainer approval.
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# Coverage Matrix
|
|
2
|
+
|
|
3
|
+
Use this checklist when generating the detailed execution plan and final report.
|
|
4
|
+
|
|
5
|
+
| Area | Minimum checks | Release blocker examples |
|
|
6
|
+
|---|---|---|
|
|
7
|
+
| Install | `uv sync --all-extras --group dev --group docs --upgrade`; package import; CLI entry present | maintained extra cannot resolve; `uniqc` command missing |
|
|
8
|
+
| Python API | `Circuit`, top-level imports, compile/transpile, simulator, task manager | recommended import path broken; compile produces invalid circuit |
|
|
9
|
+
| Dummy backends | `dummy`, `dummy:local:virtual-line-N`, `dummy:local:virtual-grid-RxC`, `dummy:<platform>:<backend>` | chip-backed dummy listed as enumerable backend; topology constraints ignored |
|
|
10
|
+
| CLI | root help, subcommand help, simulate, submit, result, config, task, backend, calibrate, gateway, `--ai-hint(s)`, `config always-ai-hint` | docs command missing from help; nonexistent `workflow` command tested as real CLI; `python -m uniqc.cli` broken |
|
|
11
|
+
| Best practices | regenerate notebooks; inspect all `docs/source/best_practices/*.ipynb`; build docs | notebook execution failure; stale outputs; docs contradict behavior |
|
|
12
|
+
| Docs alignment | CLI help vs docs; pyproject scripts vs docs; deprecated imports scan | docs recommend removed command/API; config path mismatch |
|
|
13
|
+
| Gateway backend | `uniqc gateway start/status`; `/api/health`; `/api/version`; `/api/backends`; `/api/tasks` | server cannot start; API schema incompatible with frontend |
|
|
14
|
+
| Gateway frontend | `npm ci`; `npm run build`; loaded built app; backend/task pages | TypeScript build failure; blank frontend; backend cards wrong |
|
|
15
|
+
| Cloud discovery | OriginQ/IBM/Quark token/status/list/cache update where configured; IBM proxy config path if needed | configured platform cannot list backends without external cause |
|
|
16
|
+
| Real execution | authorized small-shot real task; task ID; result retrieval; cache record | submitted task cannot be queried; result normalizer broken |
|
|
17
|
+
| Calibration/QEM/XEB | readout/XEB dummy path; calibration cache; QEM TTL behavior | calibration file unusable; QEM silently uses stale data |
|
|
18
|
+
| Persistence | task cache, backend cache, archive store, config profiles | cache corruption, wrong profile, task lost after restart |
|
|
19
|
+
|
|
20
|
+
Coverage labels:
|
|
21
|
+
|
|
22
|
+
- `PASS`: executed and matched expected behavior.
|
|
23
|
+
- `FAIL`: executed and failed.
|
|
24
|
+
- `BLOCKED`: external missing credential, quota, network, or SDK; include exact blocker.
|
|
25
|
+
- `NOT RUN`: not attempted; include why and who accepted the risk.
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
# Pre-Release Test Report Template
|
|
2
|
+
|
|
3
|
+
Use this exact top-level structure. Keep evidence concrete: command, commit, artifact path, task ID, or URL.
|
|
4
|
+
|
|
5
|
+
## Verdict
|
|
6
|
+
|
|
7
|
+
Recommendation: `RELEASE` / `RELEASE WITH KNOWN GAPS` / `DO NOT RELEASE`
|
|
8
|
+
|
|
9
|
+
One-paragraph rationale.
|
|
10
|
+
|
|
11
|
+
## Release Candidate
|
|
12
|
+
|
|
13
|
+
- Repository:
|
|
14
|
+
- Branch:
|
|
15
|
+
- Commit:
|
|
16
|
+
- Tag/version candidate:
|
|
17
|
+
- Test start/end time:
|
|
18
|
+
- Tester/agent:
|
|
19
|
+
- Machine/OS/Python/Node:
|
|
20
|
+
|
|
21
|
+
## Executive Summary
|
|
22
|
+
|
|
23
|
+
| Area | Status | Evidence | Notes |
|
|
24
|
+
|---|---|---|---|
|
|
25
|
+
| Python tests | | | |
|
|
26
|
+
| Best practices | | | |
|
|
27
|
+
| CLI | | | |
|
|
28
|
+
| AI hints | | | |
|
|
29
|
+
| Docs alignment | | | |
|
|
30
|
+
| Gateway frontend | | | |
|
|
31
|
+
| Gateway API | | | |
|
|
32
|
+
| Cloud discovery | | | |
|
|
33
|
+
| Real-device execution | | | |
|
|
34
|
+
| Calibration/QEM/XEB | | | |
|
|
35
|
+
|
|
36
|
+
## Blocking Issues
|
|
37
|
+
|
|
38
|
+
List release blockers first. For each item include:
|
|
39
|
+
|
|
40
|
+
- Severity:
|
|
41
|
+
- Affected area:
|
|
42
|
+
- Evidence:
|
|
43
|
+
- Reproduction:
|
|
44
|
+
- Expected:
|
|
45
|
+
- Actual:
|
|
46
|
+
- Suggested owner/fix:
|
|
47
|
+
|
|
48
|
+
## Non-Blocking Gaps
|
|
49
|
+
|
|
50
|
+
List accepted gaps. Include who accepted the risk and why it does not block release.
|
|
51
|
+
|
|
52
|
+
## Environment and Setup
|
|
53
|
+
|
|
54
|
+
Include dependency commands, package versions, `uv run uniqc --version` if available, `uv run uniqc --help` availability, and frontend dependency state.
|
|
55
|
+
|
|
56
|
+
## Best-Practices Validation
|
|
57
|
+
|
|
58
|
+
For each best-practices notebook:
|
|
59
|
+
|
|
60
|
+
- File:
|
|
61
|
+
- Execution status:
|
|
62
|
+
- Key output checked:
|
|
63
|
+
- Doc/software mismatch found:
|
|
64
|
+
|
|
65
|
+
End with a statement on whether the best-practices chapter is aligned with software behavior.
|
|
66
|
+
|
|
67
|
+
## CLI Validation
|
|
68
|
+
|
|
69
|
+
Include captured help commands and behavioral CLI workflows. Explicitly state whether the docs match the help output.
|
|
70
|
+
|
|
71
|
+
Also include whether `--ai-hints` / `--ai-hint`, `UNIQC_AI_HINTS=1`, and `uniqc config always-ai-hint on` were checked.
|
|
72
|
+
|
|
73
|
+
## Gateway Frontend/API Validation
|
|
74
|
+
|
|
75
|
+
Include build result, server command, API endpoints checked, frontend rendering method, and any visual testing gaps.
|
|
76
|
+
|
|
77
|
+
## Cloud and Real-Device Validation
|
|
78
|
+
|
|
79
|
+
Separate discovery, dry-run, and real execution. For real tasks include backend, shots, task ID, submission time, result retrieval time, and result summary.
|
|
80
|
+
|
|
81
|
+
## Programmatic Documentation Alignment
|
|
82
|
+
|
|
83
|
+
Describe every scripted or manual comparison:
|
|
84
|
+
|
|
85
|
+
- Comparison:
|
|
86
|
+
- Source files:
|
|
87
|
+
- Command/script:
|
|
88
|
+
- Result:
|
|
89
|
+
- Mismatches:
|
|
90
|
+
|
|
91
|
+
## Final Recommendation
|
|
92
|
+
|
|
93
|
+
Repeat the verdict and list the exact conditions that must change before release if the answer is not `RELEASE`.
|