mqt.problemsolver 0.4__tar.gz → 0.5.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.
- mqt_problemsolver-0.5.0/.github/CONTRIBUTING.md +8 -0
- mqt_problemsolver-0.5.0/.github/ISSUE_TEMPLATE/bug-report.yml +53 -0
- mqt_problemsolver-0.5.0/.github/ISSUE_TEMPLATE/feature-request.yml +39 -0
- mqt_problemsolver-0.5.0/.github/SECURITY.md +22 -0
- mqt_problemsolver-0.5.0/.github/SUPPORT.md +22 -0
- {mqt_problemsolver-0.4 → mqt_problemsolver-0.5.0}/.github/codecov.yml +0 -1
- mqt_problemsolver-0.5.0/.github/pull_request_template.md +31 -0
- {mqt_problemsolver-0.4 → mqt_problemsolver-0.5.0}/.github/release-drafter.yml +16 -8
- mqt_problemsolver-0.5.0/.github/renovate.json5 +99 -0
- mqt_problemsolver-0.5.0/.github/workflows/cd.yml +45 -0
- mqt_problemsolver-0.5.0/.github/workflows/ci.yml +94 -0
- mqt_problemsolver-0.5.0/.github/workflows/nextjs.yml +75 -0
- mqt_problemsolver-0.5.0/.github/workflows/release-drafter.yml +17 -0
- mqt_problemsolver-0.5.0/.github/workflows/templating.yml +31 -0
- {mqt_problemsolver-0.4 → mqt_problemsolver-0.5.0}/.gitignore +18 -0
- mqt_problemsolver-0.5.0/.license-tools-config.json +46 -0
- mqt_problemsolver-0.5.0/.pre-commit-config.yaml +151 -0
- mqt_problemsolver-0.5.0/.readthedocs.yaml +19 -0
- mqt_problemsolver-0.5.0/.rumdl.toml +20 -0
- mqt_problemsolver-0.5.0/AGENTS.md +75 -0
- mqt_problemsolver-0.5.0/LICENSE +22 -0
- mqt_problemsolver-0.5.0/PKG-INFO +265 -0
- mqt_problemsolver-0.5.0/README.md +210 -0
- mqt_problemsolver-0.5.0/docs/_static/custom.css +54 -0
- mqt_problemsolver-0.5.0/docs/_static/error_budget_approach.svg +2188 -0
- mqt_problemsolver-0.5.0/docs/_static/mqt_dark.png +0 -0
- mqt_problemsolver-0.5.0/docs/_static/mqt_light.png +0 -0
- mqt_problemsolver-0.5.0/docs/_static/qubo_tools/encodings.png +0 -0
- mqt_problemsolver-0.5.0/docs/_static/qubo_tools/workflow.png +0 -0
- mqt_problemsolver-0.5.0/docs/_templates/page.html +89 -0
- mqt_problemsolver-0.5.0/docs/ai_usage.md +160 -0
- mqt_problemsolver-0.5.0/docs/conf.py +180 -0
- mqt_problemsolver-0.5.0/docs/contributing.md +400 -0
- mqt_problemsolver-0.5.0/docs/index.md +370 -0
- mqt_problemsolver-0.5.0/docs/installation.md +266 -0
- mqt_problemsolver-0.5.0/docs/lit_header.bib +344 -0
- mqt_problemsolver-0.5.0/docs/qubo_tools/QuboGenerator.md +52 -0
- mqt_problemsolver-0.5.0/docs/qubo_tools/index.md +36 -0
- mqt_problemsolver-0.5.0/docs/qubo_tools/pathfinder/Constraints.md +237 -0
- mqt_problemsolver-0.5.0/docs/qubo_tools/pathfinder/Encodings.md +79 -0
- mqt_problemsolver-0.5.0/docs/qubo_tools/pathfinder/GUI.md +16 -0
- mqt_problemsolver-0.5.0/docs/qubo_tools/pathfinder/JSON.md +34 -0
- mqt_problemsolver-0.5.0/docs/qubo_tools/pathfinder/TSPLib.md +18 -0
- mqt_problemsolver-0.5.0/docs/qubo_tools/pathfinder/index.md +127 -0
- mqt_problemsolver-0.5.0/docs/references.md +42 -0
- mqt_problemsolver-0.5.0/docs/refs.bib +82 -0
- mqt_problemsolver-0.5.0/docs/support.md +3 -0
- mqt_problemsolver-0.5.0/docs/tooling.md +51 -0
- {mqt_problemsolver-0.4 → mqt_problemsolver-0.5.0}/notebooks/equivalence_checking/equivalence_checking_example.ipynb +0 -5
- {mqt_problemsolver-0.4 → mqt_problemsolver-0.5.0}/notebooks/precompilation/evaluation.ipynb +10 -15
- {mqt_problemsolver-0.4 → mqt_problemsolver-0.5.0}/notebooks/precompilation/precompilation_example.ipynb +2 -2
- {mqt_problemsolver-0.4 → mqt_problemsolver-0.5.0}/notebooks/precompilation/precompilation_paper_figures.ipynb +0 -9
- mqt_problemsolver-0.5.0/notebooks/qubo_tools/input/gr17.tsp +21 -0
- mqt_problemsolver-0.5.0/notebooks/qubo_tools/input/gr24.tsp +33 -0
- mqt_problemsolver-0.5.0/notebooks/qubo_tools/input/graph.txt +4 -0
- mqt_problemsolver-0.5.0/notebooks/qubo_tools/input/tsp.json +19 -0
- mqt_problemsolver-0.5.0/notebooks/qubo_tools/input/u574.tsp +581 -0
- mqt_problemsolver-0.5.0/notebooks/qubo_tools/tsp.ipynb +316 -0
- mqt_problemsolver-0.5.0/notebooks/qubo_tools/tsplib.ipynb +73 -0
- mqt_problemsolver-0.5.0/notebooks/resource_estimation/error_budget_optimization/example.ipynb +135 -0
- mqt_problemsolver-0.5.0/notebooks/resource_estimation/error_budget_optimization/logical_counts.csv +1531 -0
- mqt_problemsolver-0.5.0/notebooks/resource_estimation/error_budget_optimization/mqt_bench.zip +0 -0
- mqt_problemsolver-0.5.0/notebooks/resource_estimation/experiments.ipynb +209 -0
- mqt_problemsolver-0.5.0/notebooks/resource_estimation/fault_tolerant_optimization/example.ipynb +172 -0
- mqt_problemsolver-0.5.0/notebooks/resource_estimation/fault_tolerant_optimization/mqt_bench/ae_indep_qiskit_10.qasm +112 -0
- mqt_problemsolver-0.5.0/notebooks/resource_estimation/fault_tolerant_optimization/mqt_bench/dj_indep_qiskit_10.qasm +47 -0
- mqt_problemsolver-0.5.0/notebooks/resource_estimation/fault_tolerant_optimization/mqt_bench/graphstate_indep_qiskit_10.qasm +40 -0
- mqt_problemsolver-0.5.0/notebooks/resource_estimation/fault_tolerant_optimization/mqt_bench/grover-noancilla_indep_qiskit_7.qasm +1213 -0
- mqt_problemsolver-0.5.0/notebooks/resource_estimation/fault_tolerant_optimization/mqt_bench/grover-v-chain_indep_qiskit_7.qasm +328 -0
- mqt_problemsolver-0.5.0/notebooks/resource_estimation/fault_tolerant_optimization/mqt_bench/qft_indep_qiskit_10.qasm +81 -0
- mqt_problemsolver-0.5.0/notebooks/resource_estimation/fault_tolerant_optimization/mqt_bench/qftentangled_indep_qiskit_10.qasm +90 -0
- mqt_problemsolver-0.5.0/notebooks/resource_estimation/fault_tolerant_optimization/mqt_bench/qpeexact_indep_qiskit_10.qasm +86 -0
- mqt_problemsolver-0.5.0/notebooks/resource_estimation/fault_tolerant_optimization/mqt_bench/qpeinexact_indep_qiskit_10.qasm +88 -0
- mqt_problemsolver-0.5.0/notebooks/resource_estimation/fault_tolerant_optimization/mqt_bench/qwalk-noancilla_indep_qiskit_7.qasm +1611 -0
- mqt_problemsolver-0.5.0/notebooks/resource_estimation/fault_tolerant_optimization/mqt_bench/qwalk-v-chain_indep_qiskit_5.qasm +66 -0
- mqt_problemsolver-0.5.0/notebooks/resource_estimation/fault_tolerant_optimization/mqt_bench/qwalk-v-chain_indep_qiskit_7.qasm +104 -0
- mqt_problemsolver-0.5.0/notebooks/resource_estimation/fault_tolerant_optimization/results_qiskit.xlsx +0 -0
- {mqt_problemsolver-0.4/notebooks/satellitesolver → mqt_problemsolver-0.5.0/notebooks/satellite_solver}/evaluation.ipynb +0 -14
- mqt_problemsolver-0.4/notebooks/satellitesolver/satellitesolver_example.ipynb → mqt_problemsolver-0.5.0/notebooks/satellite_solver/satellite_solver_example.ipynb +6 -2
- {mqt_problemsolver-0.4 → mqt_problemsolver-0.5.0}/notebooks/tsp_example.ipynb +0 -8
- mqt_problemsolver-0.5.0/noxfile.py +142 -0
- mqt_problemsolver-0.5.0/pyproject.toml +266 -0
- mqt_problemsolver-0.5.0/sitecustomize.py +23 -0
- mqt_problemsolver-0.5.0/src/mqt/problemsolver/__init__.py +14 -0
- mqt_problemsolver-0.5.0/src/mqt/problemsolver/_version.py +24 -0
- mqt_problemsolver-0.5.0/src/mqt/problemsolver/_version.pyi +12 -0
- {mqt_problemsolver-0.4 → mqt_problemsolver-0.5.0}/src/mqt/problemsolver/csp.py +38 -33
- {mqt_problemsolver-0.4 → mqt_problemsolver-0.5.0}/src/mqt/problemsolver/equivalence_checking/equivalence_checking.py +63 -44
- {mqt_problemsolver-0.4/src/mqt/problemsolver/partialcompiler → mqt_problemsolver-0.5.0/src/mqt/problemsolver/partial_compiler}/evaluator.py +42 -34
- {mqt_problemsolver-0.4/src/mqt/problemsolver/partialcompiler → mqt_problemsolver-0.5.0/src/mqt/problemsolver/partial_compiler}/qaoa.py +99 -55
- mqt_problemsolver-0.5.0/src/mqt/problemsolver/py.typed +2 -0
- mqt_problemsolver-0.5.0/src/mqt/problemsolver/qubo_tools/__init__.py +31 -0
- mqt_problemsolver-0.5.0/src/mqt/problemsolver/qubo_tools/device.py +203 -0
- mqt_problemsolver-0.5.0/src/mqt/problemsolver/qubo_tools/pathfinder/README.md +99 -0
- mqt_problemsolver-0.5.0/src/mqt/problemsolver/qubo_tools/pathfinder/__init__.py +86 -0
- mqt_problemsolver-0.5.0/src/mqt/problemsolver/qubo_tools/pathfinder/cost_functions.py +1409 -0
- mqt_problemsolver-0.5.0/src/mqt/problemsolver/qubo_tools/pathfinder/graph.py +158 -0
- mqt_problemsolver-0.5.0/src/mqt/problemsolver/qubo_tools/pathfinder/pathfinder.py +432 -0
- mqt_problemsolver-0.5.0/src/mqt/problemsolver/qubo_tools/pathfinder/resources/constraint.json +19 -0
- mqt_problemsolver-0.5.0/src/mqt/problemsolver/qubo_tools/pathfinder/resources/constraints/path_contains_edges_at_least_once.json +34 -0
- mqt_problemsolver-0.5.0/src/mqt/problemsolver/qubo_tools/pathfinder/resources/constraints/path_contains_edges_at_most_once.json +34 -0
- mqt_problemsolver-0.5.0/src/mqt/problemsolver/qubo_tools/pathfinder/resources/constraints/path_contains_edges_exactly_once.json +34 -0
- mqt_problemsolver-0.5.0/src/mqt/problemsolver/qubo_tools/pathfinder/resources/constraints/path_contains_vertices_at_least_once.json +29 -0
- mqt_problemsolver-0.5.0/src/mqt/problemsolver/qubo_tools/pathfinder/resources/constraints/path_contains_vertices_at_most_once.json +29 -0
- mqt_problemsolver-0.5.0/src/mqt/problemsolver/qubo_tools/pathfinder/resources/constraints/path_contains_vertices_exactly_once.json +29 -0
- mqt_problemsolver-0.5.0/src/mqt/problemsolver/qubo_tools/pathfinder/resources/constraints/path_ends_at.json +25 -0
- mqt_problemsolver-0.5.0/src/mqt/problemsolver/qubo_tools/pathfinder/resources/constraints/path_is_valid.json +22 -0
- mqt_problemsolver-0.5.0/src/mqt/problemsolver/qubo_tools/pathfinder/resources/constraints/path_maximize_length.json +18 -0
- mqt_problemsolver-0.5.0/src/mqt/problemsolver/qubo_tools/pathfinder/resources/constraints/path_minimize_length.json +18 -0
- mqt_problemsolver-0.5.0/src/mqt/problemsolver/qubo_tools/pathfinder/resources/constraints/path_position_is.json +26 -0
- mqt_problemsolver-0.5.0/src/mqt/problemsolver/qubo_tools/pathfinder/resources/constraints/path_starts_at.json +25 -0
- mqt_problemsolver-0.5.0/src/mqt/problemsolver/qubo_tools/pathfinder/resources/constraints/path_vertex_precedence.json +35 -0
- mqt_problemsolver-0.5.0/src/mqt/problemsolver/qubo_tools/pathfinder/resources/constraints/paths_share_no_edges.json +22 -0
- mqt_problemsolver-0.5.0/src/mqt/problemsolver/qubo_tools/pathfinder/resources/constraints/paths_share_no_vertices.json +22 -0
- mqt_problemsolver-0.5.0/src/mqt/problemsolver/qubo_tools/pathfinder/resources/input-format.json +26 -0
- mqt_problemsolver-0.5.0/src/mqt/problemsolver/qubo_tools/pathfinder/tsplib.py +158 -0
- mqt_problemsolver-0.5.0/src/mqt/problemsolver/qubo_tools/qubo_generator.py +883 -0
- mqt_problemsolver-0.5.0/src/mqt/problemsolver/resource_estimation/__init__.py +7 -0
- mqt_problemsolver-0.5.0/src/mqt/problemsolver/resource_estimation/error_budget_optimization/__init__.py +15 -0
- mqt_problemsolver-0.5.0/src/mqt/problemsolver/resource_estimation/error_budget_optimization/evaluate.py +152 -0
- mqt_problemsolver-0.5.0/src/mqt/problemsolver/resource_estimation/error_budget_optimization/generate_data.py +272 -0
- mqt_problemsolver-0.5.0/src/mqt/problemsolver/resource_estimation/error_budget_optimization/training.py +80 -0
- mqt_problemsolver-0.5.0/src/mqt/problemsolver/resource_estimation/fault_tolerant_optimization/__init__.py +23 -0
- mqt_problemsolver-0.5.0/src/mqt/problemsolver/resource_estimation/fault_tolerant_optimization/generate_data.py +320 -0
- mqt_problemsolver-0.5.0/src/mqt/problemsolver/satellite_solver/__init__.py +7 -0
- mqt_problemsolver-0.5.0/src/mqt/problemsolver/satellite_solver/algorithms.py +228 -0
- mqt_problemsolver-0.5.0/src/mqt/problemsolver/satellite_solver/evaluator.py +120 -0
- mqt_problemsolver-0.4/src/mqt/problemsolver/satellitesolver/ImagingLocation.py → mqt_problemsolver-0.5.0/src/mqt/problemsolver/satellite_solver/imaging_location.py +18 -7
- mqt_problemsolver-0.5.0/src/mqt/problemsolver/satellite_solver/utils.py +268 -0
- {mqt_problemsolver-0.4 → mqt_problemsolver-0.5.0}/src/mqt/problemsolver/tsp.py +78 -71
- mqt_problemsolver-0.5.0/stubs/sympy/__init__.pyi +55 -0
- mqt_problemsolver-0.5.0/tests/qubo_tools/__init__.py +9 -0
- mqt_problemsolver-0.5.0/tests/qubo_tools/pathfinder/__init__.py +9 -0
- mqt_problemsolver-0.5.0/tests/qubo_tools/pathfinder/resources/json/all.json +82 -0
- mqt_problemsolver-0.5.0/tests/qubo_tools/pathfinder/resources/json/alternative_options.json +34 -0
- mqt_problemsolver-0.5.0/tests/qubo_tools/pathfinder/resources/json/fail/excess_field.json +19 -0
- mqt_problemsolver-0.5.0/tests/qubo_tools/pathfinder/resources/json/fail/missing_field.json +17 -0
- mqt_problemsolver-0.5.0/tests/qubo_tools/pathfinder/resources/json/fail/too_few_elements.json +17 -0
- mqt_problemsolver-0.5.0/tests/qubo_tools/pathfinder/resources/json/fail/unknown_type.json +16 -0
- mqt_problemsolver-0.5.0/tests/qubo_tools/pathfinder/resources/json/with_weight.json +17 -0
- mqt_problemsolver-0.5.0/tests/qubo_tools/pathfinder/resources/tsplib/atsp-5.atsp +21 -0
- mqt_problemsolver-0.5.0/tests/qubo_tools/pathfinder/resources/tsplib/fail/cvrp-7.vrp +24 -0
- mqt_problemsolver-0.5.0/tests/qubo_tools/pathfinder/resources/tsplib/forced-edges.tsp +17 -0
- mqt_problemsolver-0.5.0/tests/qubo_tools/pathfinder/resources/tsplib/hcp-5.hcp +13 -0
- mqt_problemsolver-0.5.0/tests/qubo_tools/pathfinder/resources/tsplib/sop-5.sop +13 -0
- mqt_problemsolver-0.5.0/tests/qubo_tools/pathfinder/resources/tsplib/tsp-5.tsp +13 -0
- mqt_problemsolver-0.5.0/tests/qubo_tools/pathfinder/test_cost_functions.py +656 -0
- mqt_problemsolver-0.5.0/tests/qubo_tools/pathfinder/test_json_input.py +141 -0
- mqt_problemsolver-0.5.0/tests/qubo_tools/pathfinder/test_pathfinder.py +163 -0
- mqt_problemsolver-0.5.0/tests/qubo_tools/pathfinder/test_tsplib_input.py +156 -0
- mqt_problemsolver-0.5.0/tests/qubo_tools/pathfinder/utils_test.py +265 -0
- mqt_problemsolver-0.5.0/tests/qubo_tools/test_circuit_generation.py +160 -0
- mqt_problemsolver-0.5.0/tests/qubo_tools/test_device.py +176 -0
- mqt_problemsolver-0.5.0/tests/qubo_tools/test_graph.py +106 -0
- mqt_problemsolver-0.5.0/tests/resource_estimation/inputs/dj_indep_qiskit_10.qasm +47 -0
- mqt_problemsolver-0.5.0/tests/resource_estimation/test_error_budget_optimization.py +25 -0
- mqt_problemsolver-0.5.0/tests/resource_estimation/test_fault_tolerant_optimization.py +42 -0
- {mqt_problemsolver-0.4 → mqt_problemsolver-0.5.0}/tests/test_csp.py +8 -0
- mqt_problemsolver-0.5.0/tests/test_equivalence_checking.py +90 -0
- {mqt_problemsolver-0.4 → mqt_problemsolver-0.5.0}/tests/test_qaoa.py +10 -2
- mqt_problemsolver-0.5.0/tests/test_satellite_solver.py +57 -0
- {mqt_problemsolver-0.4 → mqt_problemsolver-0.5.0}/tests/test_tsp.py +8 -0
- mqt_problemsolver-0.5.0/uv.lock +5100 -0
- mqt_problemsolver-0.5.0/webpage/.eslintrc.json +3 -0
- mqt_problemsolver-0.5.0/webpage/.gitignore +46 -0
- mqt_problemsolver-0.5.0/webpage/app/edgeCollector.tsx +76 -0
- mqt_problemsolver-0.5.0/webpage/app/edgeDisplay.tsx +20 -0
- mqt_problemsolver-0.5.0/webpage/app/globals.css +55 -0
- mqt_problemsolver-0.5.0/webpage/app/graphView.tsx +127 -0
- mqt_problemsolver-0.5.0/webpage/app/infoScreen.tsx +15 -0
- mqt_problemsolver-0.5.0/webpage/app/layout.tsx +23 -0
- mqt_problemsolver-0.5.0/webpage/app/legal/page.tsx +90 -0
- mqt_problemsolver-0.5.0/webpage/app/page.tsx +123 -0
- mqt_problemsolver-0.5.0/webpage/app/pathPosIs.tsx +24 -0
- mqt_problemsolver-0.5.0/webpage/app/pathPosIsCollector.tsx +89 -0
- mqt_problemsolver-0.5.0/webpage/app/settings.ts +282 -0
- mqt_problemsolver-0.5.0/webpage/app/style.module.css +35 -0
- mqt_problemsolver-0.5.0/webpage/app/titledTextbox.tsx +18 -0
- mqt_problemsolver-0.5.0/webpage/app/toggle.tsx +30 -0
- mqt_problemsolver-0.5.0/webpage/app/toggleBag.tsx +60 -0
- mqt_problemsolver-0.5.0/webpage/next.config.js +19 -0
- mqt_problemsolver-0.5.0/webpage/package-lock.json +6834 -0
- mqt_problemsolver-0.5.0/webpage/package.json +29 -0
- mqt_problemsolver-0.5.0/webpage/postcss.config.js +15 -0
- mqt_problemsolver-0.5.0/webpage/public/info.png +0 -0
- mqt_problemsolver-0.5.0/webpage/public/tum_logo.svg +22 -0
- mqt_problemsolver-0.5.0/webpage/tsconfig.json +27 -0
- mqt_problemsolver-0.5.0/webpage/types/react-graph.vis.d.ts +13 -0
- mqt_problemsolver-0.4/.github/workflows/coverage.yml +0 -27
- mqt_problemsolver-0.4/.github/workflows/deploy.yml +0 -71
- mqt_problemsolver-0.4/.github/workflows/mypy.yml +0 -25
- mqt_problemsolver-0.4/.github/workflows/release-drafter.yml +0 -24
- mqt_problemsolver-0.4/.pre-commit-config.yaml +0 -92
- mqt_problemsolver-0.4/PKG-INFO +0 -298
- mqt_problemsolver-0.4/README.md +0 -250
- mqt_problemsolver-0.4/pyproject.toml +0 -152
- mqt_problemsolver-0.4/resource_estimation/RE_experiments.py +0 -125
- mqt_problemsolver-0.4/setup.cfg +0 -4
- mqt_problemsolver-0.4/src/mqt/problemsolver/__init__.py +0 -0
- mqt_problemsolver-0.4/src/mqt/problemsolver/satellitesolver/__init__.py +0 -0
- mqt_problemsolver-0.4/src/mqt/problemsolver/satellitesolver/algorithms.py +0 -136
- mqt_problemsolver-0.4/src/mqt/problemsolver/satellitesolver/evaluator.py +0 -146
- mqt_problemsolver-0.4/src/mqt/problemsolver/satellitesolver/utils.py +0 -190
- mqt_problemsolver-0.4/src/mqt.problemsolver.egg-info/PKG-INFO +0 -298
- mqt_problemsolver-0.4/src/mqt.problemsolver.egg-info/SOURCES.txt +0 -55
- mqt_problemsolver-0.4/src/mqt.problemsolver.egg-info/dependency_links.txt +0 -1
- mqt_problemsolver-0.4/src/mqt.problemsolver.egg-info/requires.txt +0 -25
- mqt_problemsolver-0.4/src/mqt.problemsolver.egg-info/top_level.txt +0 -1
- mqt_problemsolver-0.4/tests/test_equivalence_checking.py +0 -68
- mqt_problemsolver-0.4/tests/test_satellitesolver.py +0 -53
- {mqt_problemsolver-0.4 → mqt_problemsolver-0.5.0}/.git_archival.txt +0 -0
- {mqt_problemsolver-0.4 → mqt_problemsolver-0.5.0}/.gitattributes +0 -0
- {mqt_problemsolver-0.4/img → mqt_problemsolver-0.5.0/docs/_static}/framework.png +0 -0
- {mqt_problemsolver-0.4/img → mqt_problemsolver-0.5.0/docs/_static}/kakuro.png +0 -0
- {mqt_problemsolver-0.4/img → mqt_problemsolver-0.5.0/docs/_static}/miter_structure.png +0 -0
- {mqt_problemsolver-0.4/img → mqt_problemsolver-0.5.0/docs/_static}/satellite_mission_planning_problem.png +0 -0
- {mqt_problemsolver-0.4/img → mqt_problemsolver-0.5.0/docs/_static}/tsp.png +0 -0
- {mqt_problemsolver-0.4/img → mqt_problemsolver-0.5.0/docs/_static}/workflow_new.png +0 -0
- {mqt_problemsolver-0.4/img → mqt_problemsolver-0.5.0/docs/_static}/workflow_old.png +0 -0
- {mqt_problemsolver-0.4 → mqt_problemsolver-0.5.0}/notebooks/csp_example.ipynb +0 -0
- {mqt_problemsolver-0.4 → mqt_problemsolver-0.5.0}/notebooks/equivalence_checking/res_equivalence_checking.csv +0 -0
- {mqt_problemsolver-0.4 → mqt_problemsolver-0.5.0}/notebooks/precompilation/res_qaoa.csv +0 -0
- {mqt_problemsolver-0.4 → mqt_problemsolver-0.5.0}/notebooks/precompilation/res_satellite.csv +0 -0
- {mqt_problemsolver-0.4 → mqt_problemsolver-0.5.0}/notebooks/problemsolver_paper_figures.ipynb +0 -0
- {mqt_problemsolver-0.4/notebooks/satellitesolver → mqt_problemsolver-0.5.0/notebooks/satellite_solver}/res_satellite_solver.csv +0 -0
- {mqt_problemsolver-0.4/notebooks/satellitesolver → mqt_problemsolver-0.5.0/notebooks/satellite_solver}/res_satellite_solver_noisy.csv +0 -0
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
<!--- This file has been generated from an external template. Please do not modify it directly. -->
|
|
2
|
+
<!--- Changes should be contributed to https://github.com/munich-quantum-toolkit/templates. -->
|
|
3
|
+
|
|
4
|
+
# Contributing
|
|
5
|
+
|
|
6
|
+
Thank you for your interest in contributing to MQT ProblemSolver! An extensive
|
|
7
|
+
contribution guide is available in our
|
|
8
|
+
[documentation](https://mqt.readthedocs.io/projects/problemsolver/en/latest/contributing.html).
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# This file has been generated from an external template. Please do not modify it directly.
|
|
2
|
+
# Changes should be contributed to https://github.com/munich-quantum-toolkit/templates.
|
|
3
|
+
|
|
4
|
+
name: 🐛 Bug Report
|
|
5
|
+
description: Report a problem or unexpected behavior
|
|
6
|
+
title: "🐛 <brief description of the issue>"
|
|
7
|
+
body:
|
|
8
|
+
- type: markdown
|
|
9
|
+
attributes:
|
|
10
|
+
value: >-
|
|
11
|
+
**Thanks for taking the time to report an issue!**
|
|
12
|
+
|
|
13
|
+
⚠ Before submitting:
|
|
14
|
+
1. Search [existing issues](https://github.com/munich-quantum-toolkit/problemsolver/search?q=is%3Aissue&type=issues) to avoid duplicates
|
|
15
|
+
2. For questions or discussions, please use our [discussions forum](https://github.com/munich-quantum-toolkit/problemsolver/discussions)
|
|
16
|
+
|
|
17
|
+
- type: textarea
|
|
18
|
+
attributes:
|
|
19
|
+
label: System and Environment Information
|
|
20
|
+
description: Provide details about your environment.
|
|
21
|
+
placeholder: |
|
|
22
|
+
- Operating system and version:
|
|
23
|
+
- MQT ProblemSolver version:
|
|
24
|
+
- Language versions (e.g., C++, Python, Rust, ...):
|
|
25
|
+
- Compiler or build tool versions (e.g., Clang, GCC, rustc, ...):
|
|
26
|
+
- Any relevant dependencies and their versions:
|
|
27
|
+
validations:
|
|
28
|
+
required: true
|
|
29
|
+
|
|
30
|
+
- type: textarea
|
|
31
|
+
attributes:
|
|
32
|
+
label: Bug Description
|
|
33
|
+
description: Provide a clear and detailed explanation of the issue you are experiencing.
|
|
34
|
+
placeholder: |
|
|
35
|
+
What happened?
|
|
36
|
+
What did you expect to happen instead?
|
|
37
|
+
Include any error messages or unexpected behavior you observed.
|
|
38
|
+
validations:
|
|
39
|
+
required: true
|
|
40
|
+
|
|
41
|
+
- type: textarea
|
|
42
|
+
attributes:
|
|
43
|
+
label: Steps to Reproduce
|
|
44
|
+
description: Provide specific steps to reproduce this issue.
|
|
45
|
+
placeholder: |
|
|
46
|
+
1. Set up environment with '...'
|
|
47
|
+
2. Configure workflow using '...'
|
|
48
|
+
3. Execute command '...'
|
|
49
|
+
4. Observe error/issue: '...'
|
|
50
|
+
|
|
51
|
+
Include any relevant code snippets, workflow configurations, or input files that help demonstrate the problem.
|
|
52
|
+
validations:
|
|
53
|
+
required: true
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# This file has been generated from an external template. Please do not modify it directly.
|
|
2
|
+
# Changes should be contributed to https://github.com/munich-quantum-toolkit/templates.
|
|
3
|
+
|
|
4
|
+
name: ✨ Feature request
|
|
5
|
+
description: Suggest a new feature or improvement
|
|
6
|
+
title: "✨ <title>"
|
|
7
|
+
body:
|
|
8
|
+
- type: markdown
|
|
9
|
+
attributes:
|
|
10
|
+
value: >
|
|
11
|
+
**Thanks for helping improve this project by suggesting a feature!**
|
|
12
|
+
|
|
13
|
+
⚠ Before submitting:
|
|
14
|
+
- Search [existing feature requests](https://github.com/munich-quantum-toolkit/problemsolver/search?q=is%3Aissue&type=issues) to avoid duplicates
|
|
15
|
+
- One feature per issue helps us track and implement ideas effectively
|
|
16
|
+
|
|
17
|
+
- type: textarea
|
|
18
|
+
attributes:
|
|
19
|
+
label: Problem Statement
|
|
20
|
+
description: >-
|
|
21
|
+
Describe the problem you are facing and why it needs to be solved. What limitations are you encountering?
|
|
22
|
+
placeholder: >-
|
|
23
|
+
Currently, when I try to [action/task], I am unable to [blockers/limitations].
|
|
24
|
+
This creates problems because [impact/consequences].
|
|
25
|
+
validations:
|
|
26
|
+
required: true
|
|
27
|
+
|
|
28
|
+
- type: textarea
|
|
29
|
+
attributes:
|
|
30
|
+
label: Proposed Solution
|
|
31
|
+
description: >
|
|
32
|
+
Describe your ideal solution. What would the feature look like? How would it work?
|
|
33
|
+
placeholder: >-
|
|
34
|
+
I'd like to see [feature/change] that would:
|
|
35
|
+
- [benefit 1]
|
|
36
|
+
- [benefit 2]
|
|
37
|
+
- [example usage/scenario]
|
|
38
|
+
validations:
|
|
39
|
+
required: true
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
<!--- This file has been generated from an external template. Please do not modify it directly. -->
|
|
2
|
+
<!--- Changes should be contributed to https://github.com/munich-quantum-toolkit/templates. -->
|
|
3
|
+
|
|
4
|
+
# Security Policy
|
|
5
|
+
|
|
6
|
+
## Supported Versions
|
|
7
|
+
|
|
8
|
+
Security updates are applied only to the most recent releases.
|
|
9
|
+
|
|
10
|
+
## Reporting a Vulnerability
|
|
11
|
+
|
|
12
|
+
To report vulnerabilities, you can privately report a potential security issue
|
|
13
|
+
via the GitHub security vulnerabilities feature. This can be done here:
|
|
14
|
+
|
|
15
|
+
<https://github.com/munich-quantum-toolkit/problemsolver/security/advisories>
|
|
16
|
+
|
|
17
|
+
Please do **not** open a public issue about a potential security vulnerability.
|
|
18
|
+
|
|
19
|
+
You can find more details on the security vulnerability feature in the GitHub
|
|
20
|
+
documentation here:
|
|
21
|
+
|
|
22
|
+
<https://docs.github.com/en/code-security/security-advisories/guidance-on-reporting-and-writing/privately-reporting-a-security-vulnerability>
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
<!--- This file has been generated from an external template. Please do not modify it directly. -->
|
|
2
|
+
<!--- Changes should be contributed to https://github.com/munich-quantum-toolkit/templates. -->
|
|
3
|
+
|
|
4
|
+
# Support
|
|
5
|
+
|
|
6
|
+
If you are stuck with a problem using MQT ProblemSolver or have questions,
|
|
7
|
+
please get in touch at our [Issues] or [Discussions]. We'd love to help.
|
|
8
|
+
|
|
9
|
+
You can save time by following this procedure when reporting a problem:
|
|
10
|
+
|
|
11
|
+
- Do try to solve the problem on your own first.
|
|
12
|
+
- Search through past [Issues] and [Discussions] to see if someone else already
|
|
13
|
+
had the same problem.
|
|
14
|
+
- Before filing a bug report, try to create a minimal reproducible example (MRE)
|
|
15
|
+
that reproduces the problem. It is much easier to identify the cause for the
|
|
16
|
+
problem if a handful of lines suffice to show that something is not working.
|
|
17
|
+
|
|
18
|
+
You can also always reach us at
|
|
19
|
+
[quantum.cda@xcit.tum.de](mailto:quantum.cda@xcit.tum.de).
|
|
20
|
+
|
|
21
|
+
[Issues]: https://github.com/munich-quantum-toolkit/problemsolver/issues
|
|
22
|
+
[Discussions]: https://github.com/munich-quantum-toolkit/problemsolver/discussions
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
## Description
|
|
2
|
+
|
|
3
|
+
Please include a summary of the change and, if applicable, which issue is fixed.
|
|
4
|
+
Please also include relevant motivation and context.
|
|
5
|
+
List any dependencies that are required for this change.
|
|
6
|
+
|
|
7
|
+
<!---
|
|
8
|
+
Replace `(issue)` with the issue number fixed by this pull request.
|
|
9
|
+
If this PR does not fix an issue, please remove the line.
|
|
10
|
+
-->
|
|
11
|
+
|
|
12
|
+
Fixes #(issue)
|
|
13
|
+
|
|
14
|
+
## Checklist
|
|
15
|
+
|
|
16
|
+
<!---
|
|
17
|
+
This checklist serves as a reminder of a couple of things that ensure your pull request will be merged swiftly.
|
|
18
|
+
-->
|
|
19
|
+
|
|
20
|
+
- [ ] The pull request only contains commits that are focused and relevant to this change.
|
|
21
|
+
- [ ] I have added appropriate tests that cover the new/changed functionality.
|
|
22
|
+
- [ ] I have updated the documentation to reflect these changes.
|
|
23
|
+
- [ ] The changes follow the project's style guidelines and introduce no new warnings.
|
|
24
|
+
- [ ] The changes are fully tested and pass the CI checks.
|
|
25
|
+
- [ ] I have reviewed my own code changes.
|
|
26
|
+
|
|
27
|
+
**If PR contains AI-assisted content:**
|
|
28
|
+
|
|
29
|
+
- [ ] I have disclosed the use of AI tools in the PR description as per our [AI Usage Guidelines](https://github.com/munich-quantum-toolkit/problemsolver/blob/main/docs/ai_usage.md).
|
|
30
|
+
- [ ] AI-assisted commits include an `Assisted-by: [Model Name] via [Tool Name]` footer.
|
|
31
|
+
- [ ] I confirm that I have personally reviewed and understood all AI-generated content, and accept full responsibility for it.
|
|
@@ -1,13 +1,19 @@
|
|
|
1
|
+
# This file has been generated from an external template. Please do not modify it directly.
|
|
2
|
+
# Changes should be contributed to https://github.com/munich-quantum-toolkit/templates.
|
|
3
|
+
|
|
1
4
|
name-template: "MQT ProblemSolver $RESOLVED_VERSION Release"
|
|
2
5
|
tag-template: "v$RESOLVED_VERSION"
|
|
3
6
|
categories:
|
|
4
7
|
- title: "🚀 Features and Enhancements"
|
|
5
8
|
labels:
|
|
9
|
+
- "enhancement"
|
|
6
10
|
- "feature"
|
|
11
|
+
- "refactor"
|
|
7
12
|
- "usability"
|
|
8
13
|
- title: "🐛 Bug Fixes"
|
|
9
14
|
labels:
|
|
10
15
|
- "bug"
|
|
16
|
+
- "fix"
|
|
11
17
|
- title: "📄 Documentation"
|
|
12
18
|
labels:
|
|
13
19
|
- "documentation"
|
|
@@ -17,14 +23,22 @@ categories:
|
|
|
17
23
|
- title: "📦 Packaging"
|
|
18
24
|
labels:
|
|
19
25
|
- "packaging"
|
|
26
|
+
- title: "🧹 Code Quality"
|
|
27
|
+
labels:
|
|
28
|
+
- "code quality"
|
|
20
29
|
- title: "⬆️ Dependencies"
|
|
21
30
|
collapse-after: 5
|
|
22
31
|
labels:
|
|
23
32
|
- "dependencies"
|
|
33
|
+
- "github-actions"
|
|
34
|
+
- "pre-commit"
|
|
24
35
|
- "submodules"
|
|
25
|
-
|
|
26
|
-
change-template: "- $TITLE @$AUTHOR (#$NUMBER)"
|
|
36
|
+
change-template: "- $TITLE ([#$NUMBER]($URL)) (**@$AUTHOR**)"
|
|
27
37
|
change-title-escapes: '\<*_&'
|
|
38
|
+
exclude-labels:
|
|
39
|
+
- "skip-changelog"
|
|
40
|
+
- "backport"
|
|
41
|
+
- "release-prep"
|
|
28
42
|
version-resolver:
|
|
29
43
|
major:
|
|
30
44
|
labels:
|
|
@@ -36,14 +50,8 @@ version-resolver:
|
|
|
36
50
|
labels:
|
|
37
51
|
- "patch"
|
|
38
52
|
default: patch
|
|
39
|
-
autolabeler:
|
|
40
|
-
- label: "dependencies"
|
|
41
|
-
title:
|
|
42
|
-
- "/update pre-commit hooks/i"
|
|
43
53
|
|
|
44
54
|
template: |
|
|
45
|
-
## What Changed 👀
|
|
46
|
-
|
|
47
55
|
$CHANGES
|
|
48
56
|
|
|
49
57
|
**Full Changelog**: https://github.com/$OWNER/$REPOSITORY/compare/$PREVIOUS_TAG...v$RESOLVED_VERSION
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
{
|
|
2
|
+
$schema: "https://docs.renovatebot.com/renovate-schema.json",
|
|
3
|
+
suppressNotifications: ["prEditedNotification"],
|
|
4
|
+
minimumReleaseAge: "7 days",
|
|
5
|
+
extends: [
|
|
6
|
+
"config:recommended",
|
|
7
|
+
":gitSignOff",
|
|
8
|
+
"helpers:pinGitHubActionDigestsToSemver",
|
|
9
|
+
":automergeDigest",
|
|
10
|
+
":automergeStableNonMajor",
|
|
11
|
+
":combinePatchMinorReleases",
|
|
12
|
+
":configMigration",
|
|
13
|
+
":enablePreCommit",
|
|
14
|
+
":prConcurrentLimitNone",
|
|
15
|
+
":prHourlyLimitNone",
|
|
16
|
+
],
|
|
17
|
+
enabledManagers: [
|
|
18
|
+
"cargo",
|
|
19
|
+
"github-actions",
|
|
20
|
+
"npm",
|
|
21
|
+
"pep621",
|
|
22
|
+
"pip_requirements",
|
|
23
|
+
"pre-commit",
|
|
24
|
+
],
|
|
25
|
+
lockFileMaintenance: {
|
|
26
|
+
enabled: true,
|
|
27
|
+
automerge: true,
|
|
28
|
+
},
|
|
29
|
+
labels: ["dependencies"],
|
|
30
|
+
schedule: ["every weekend"],
|
|
31
|
+
packageRules: [
|
|
32
|
+
{
|
|
33
|
+
matchManagers: ["cargo"],
|
|
34
|
+
addLabels: ["rust"],
|
|
35
|
+
commitMessagePrefix: "⬆\uFE0F\uD83E\uDD80",
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
matchManagers: ["github-actions"],
|
|
39
|
+
addLabels: ["github-actions"],
|
|
40
|
+
commitMessagePrefix: "⬆\uFE0F\uD83D\uDC68\u200D\uD83D\uDCBB",
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
matchManagers: ["npm"],
|
|
44
|
+
addLabels: ["javascript"],
|
|
45
|
+
commitMessagePrefix: "⬆\uFE0F\uD83D\uDCDC",
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
matchManagers: ["pep621", "pip_requirements"],
|
|
49
|
+
addLabels: ["python"],
|
|
50
|
+
commitMessagePrefix: "⬆\uFE0F\uD83D\uDC0D",
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
matchManagers: ["pre-commit"],
|
|
54
|
+
addLabels: ["pre-commit"],
|
|
55
|
+
commitMessagePrefix: "⬆\uFE0F\uD83E\uDE9D",
|
|
56
|
+
versioning: "pep440",
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
matchUpdateTypes: ["lockFileMaintenance"],
|
|
60
|
+
commitMessagePrefix: "⬆\uFE0F\uD83D\uDD12\uFE0F",
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
description: "Group and auto-merge all patch updates",
|
|
64
|
+
groupName: "patch updates",
|
|
65
|
+
matchUpdateTypes: ["patch"],
|
|
66
|
+
matchCurrentVersion: "!/^0\.0/",
|
|
67
|
+
commitMessagePrefix: "⬆\uFE0F\uD83E\uDE79",
|
|
68
|
+
automerge: true,
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
description: "Group and auto-merge minor updates of stable dependencies",
|
|
72
|
+
groupName: "minor stable updates",
|
|
73
|
+
matchUpdateTypes: ["minor"],
|
|
74
|
+
matchCurrentVersion: "!/^0\./",
|
|
75
|
+
matchPackageNames: [
|
|
76
|
+
"!munich-quantum-toolkit/*",
|
|
77
|
+
"!munich-quantum-software/*",
|
|
78
|
+
"!nanobind",
|
|
79
|
+
],
|
|
80
|
+
commitMessagePrefix: "⬆\uFE0F\uD83E\uDE79",
|
|
81
|
+
automerge: true,
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
description: "Disable minimum release age checks for our own GitHub actions",
|
|
85
|
+
matchManagers: ["github-actions"],
|
|
86
|
+
matchPackageNames: [
|
|
87
|
+
"munich-quantum-toolkit/*",
|
|
88
|
+
"munich-quantum-software/*",
|
|
89
|
+
],
|
|
90
|
+
minimumReleaseAge: null,
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
description: "Disable minimum release age checks for our own Python packages",
|
|
94
|
+
matchDatasources: ["pypi"],
|
|
95
|
+
matchPackageNames: ["mqt*"],
|
|
96
|
+
minimumReleaseAge: null,
|
|
97
|
+
},
|
|
98
|
+
],
|
|
99
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
name: CD
|
|
2
|
+
on:
|
|
3
|
+
release:
|
|
4
|
+
types: [published]
|
|
5
|
+
workflow_dispatch:
|
|
6
|
+
pull_request:
|
|
7
|
+
paths:
|
|
8
|
+
- .github/workflows/cd.yml
|
|
9
|
+
|
|
10
|
+
permissions:
|
|
11
|
+
contents: read
|
|
12
|
+
id-token: write
|
|
13
|
+
|
|
14
|
+
jobs:
|
|
15
|
+
build-sdist:
|
|
16
|
+
name: 🐍 Packaging
|
|
17
|
+
uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-python-packaging-sdist.yml@e7f84f39ce2d3b6c5d1d04526b8f94f98e455143 # v2.2.0
|
|
18
|
+
|
|
19
|
+
build-wheel:
|
|
20
|
+
name: 🐍 Packaging
|
|
21
|
+
uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-python-packaging-wheel-build.yml@e7f84f39ce2d3b6c5d1d04526b8f94f98e455143 # v2.2.0
|
|
22
|
+
|
|
23
|
+
deploy:
|
|
24
|
+
if: github.event_name == 'release' && github.event.action == 'published'
|
|
25
|
+
name: 🚀 Deploy to PyPI
|
|
26
|
+
runs-on: ubuntu-latest
|
|
27
|
+
environment:
|
|
28
|
+
name: pypi
|
|
29
|
+
url: https://pypi.org/p/mqt.problemsolver
|
|
30
|
+
permissions:
|
|
31
|
+
id-token: write
|
|
32
|
+
attestations: write
|
|
33
|
+
contents: read
|
|
34
|
+
needs: [build-sdist, build-wheel]
|
|
35
|
+
steps:
|
|
36
|
+
- uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
|
|
37
|
+
with:
|
|
38
|
+
pattern: cibw-*
|
|
39
|
+
path: dist
|
|
40
|
+
merge-multiple: true
|
|
41
|
+
- name: Generate artifact attestation for sdist and wheel(s)
|
|
42
|
+
uses: actions/attest@59d89421af93a897026c735860bf21b6eb4f7b26 # v4.1.0
|
|
43
|
+
with:
|
|
44
|
+
subject-path: "dist/*"
|
|
45
|
+
- uses: pypa/gh-action-pypi-publish@cef221092ed1bacb1cc03d23a2d87d1d172e277b # v1.14.0
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
name: CI
|
|
2
|
+
on:
|
|
3
|
+
push:
|
|
4
|
+
branches:
|
|
5
|
+
- main
|
|
6
|
+
pull_request:
|
|
7
|
+
merge_group:
|
|
8
|
+
workflow_dispatch:
|
|
9
|
+
|
|
10
|
+
concurrency:
|
|
11
|
+
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
|
|
12
|
+
cancel-in-progress: true
|
|
13
|
+
|
|
14
|
+
permissions:
|
|
15
|
+
contents: read
|
|
16
|
+
id-token: write
|
|
17
|
+
security-events: write
|
|
18
|
+
|
|
19
|
+
jobs:
|
|
20
|
+
change-detection:
|
|
21
|
+
name: 🔍 Change
|
|
22
|
+
uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-change-detection.yml@e7f84f39ce2d3b6c5d1d04526b8f94f98e455143 # v2.2.0
|
|
23
|
+
|
|
24
|
+
python-tests:
|
|
25
|
+
name: 🐍 Test
|
|
26
|
+
needs: change-detection
|
|
27
|
+
if: fromJSON(needs.change-detection.outputs.run-python-tests)
|
|
28
|
+
strategy:
|
|
29
|
+
fail-fast: false
|
|
30
|
+
matrix:
|
|
31
|
+
runs-on: [ubuntu-24.04, ubuntu-24.04-arm, macos-26, windows-2025]
|
|
32
|
+
uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-python-tests.yml@e7f84f39ce2d3b6c5d1d04526b8f94f98e455143 # v2.2.0
|
|
33
|
+
with:
|
|
34
|
+
runs-on: ${{ matrix.runs-on }}
|
|
35
|
+
|
|
36
|
+
python-coverage:
|
|
37
|
+
name: 🐍 Coverage
|
|
38
|
+
needs: [change-detection, python-tests]
|
|
39
|
+
if: fromJSON(needs.change-detection.outputs.run-python-tests)
|
|
40
|
+
uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-python-coverage.yml@e7f84f39ce2d3b6c5d1d04526b8f94f98e455143 # v2.2.0
|
|
41
|
+
permissions:
|
|
42
|
+
contents: read
|
|
43
|
+
id-token: write
|
|
44
|
+
|
|
45
|
+
python-linter:
|
|
46
|
+
name: 🐍 Lint
|
|
47
|
+
needs: change-detection
|
|
48
|
+
if: fromJSON(needs.change-detection.outputs.run-python-linter)
|
|
49
|
+
uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-python-linter.yml@e7f84f39ce2d3b6c5d1d04526b8f94f98e455143 # v2.2.0
|
|
50
|
+
with:
|
|
51
|
+
enable-ty: true
|
|
52
|
+
enable-mypy: false
|
|
53
|
+
|
|
54
|
+
build-sdist:
|
|
55
|
+
name: 🚀 CD
|
|
56
|
+
needs: change-detection
|
|
57
|
+
if: fromJSON(needs.change-detection.outputs.run-cd)
|
|
58
|
+
uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-python-packaging-sdist.yml@e7f84f39ce2d3b6c5d1d04526b8f94f98e455143 # v2.2.0
|
|
59
|
+
|
|
60
|
+
build-wheel:
|
|
61
|
+
name: 🚀 CD
|
|
62
|
+
needs: change-detection
|
|
63
|
+
if: fromJSON(needs.change-detection.outputs.run-cd)
|
|
64
|
+
uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-python-packaging-wheel-build.yml@e7f84f39ce2d3b6c5d1d04526b8f94f98e455143 # v2.2.0
|
|
65
|
+
|
|
66
|
+
required-checks-pass: # This job does nothing and is only used for branch protection
|
|
67
|
+
name: 🚦 Check
|
|
68
|
+
if: always()
|
|
69
|
+
needs:
|
|
70
|
+
- change-detection
|
|
71
|
+
- python-tests
|
|
72
|
+
- python-coverage
|
|
73
|
+
- python-linter
|
|
74
|
+
- build-sdist
|
|
75
|
+
- build-wheel
|
|
76
|
+
runs-on: ubuntu-slim
|
|
77
|
+
steps:
|
|
78
|
+
- name: Decide whether the needed jobs succeeded or failed
|
|
79
|
+
uses: re-actors/alls-green@05ac9388f0aebcb5727afa17fcccfecd6f8ec5fe # v1.2.2
|
|
80
|
+
with:
|
|
81
|
+
allowed-skips: >-
|
|
82
|
+
${{
|
|
83
|
+
!fromJSON(needs.change-detection.outputs.run-python-tests)
|
|
84
|
+
&& 'python-tests,python-coverage,' || ''
|
|
85
|
+
}}
|
|
86
|
+
${{
|
|
87
|
+
!fromJSON(needs.change-detection.outputs.run-python-linter)
|
|
88
|
+
&& 'python-linter,' || ''
|
|
89
|
+
}}
|
|
90
|
+
${{
|
|
91
|
+
!fromJSON(needs.change-detection.outputs.run-cd)
|
|
92
|
+
&& 'build-sdist,build-wheel' || ''
|
|
93
|
+
}}
|
|
94
|
+
jobs: ${{ toJSON(needs) }}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
# Sample workflow for building and deploying a Next.js site to GitHub Pages
|
|
2
|
+
#
|
|
3
|
+
# To get started with Next.js see: https://nextjs.org/docs/getting-started
|
|
4
|
+
#
|
|
5
|
+
name: Deploy Next.js site to Pages
|
|
6
|
+
|
|
7
|
+
on:
|
|
8
|
+
# Runs on pushes targeting the default branch
|
|
9
|
+
push:
|
|
10
|
+
branches: ["main"]
|
|
11
|
+
|
|
12
|
+
# Allows you to run this workflow manually from the Actions tab
|
|
13
|
+
workflow_dispatch:
|
|
14
|
+
|
|
15
|
+
# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
|
|
16
|
+
permissions:
|
|
17
|
+
contents: read
|
|
18
|
+
pages: write
|
|
19
|
+
id-token: write
|
|
20
|
+
|
|
21
|
+
# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
|
|
22
|
+
# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
|
|
23
|
+
concurrency:
|
|
24
|
+
group: "pages"
|
|
25
|
+
cancel-in-progress: false
|
|
26
|
+
|
|
27
|
+
jobs:
|
|
28
|
+
# Build job
|
|
29
|
+
build:
|
|
30
|
+
runs-on: ubuntu-latest
|
|
31
|
+
steps:
|
|
32
|
+
- name: Checkout
|
|
33
|
+
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
|
|
34
|
+
|
|
35
|
+
- name: Setup Pages
|
|
36
|
+
id: pages
|
|
37
|
+
uses: actions/configure-pages@45bfe0192ca1faeb007ade9deae92b16b8254a0d # v6.0.0
|
|
38
|
+
with:
|
|
39
|
+
static_site_generator: next
|
|
40
|
+
|
|
41
|
+
- name: Setup Node
|
|
42
|
+
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
|
|
43
|
+
with:
|
|
44
|
+
node-version: "24"
|
|
45
|
+
cache: "npm"
|
|
46
|
+
# Point cache to the package-lock.json in your subdirectory
|
|
47
|
+
cache-dependency-path: webpage/package-lock.json
|
|
48
|
+
|
|
49
|
+
- name: Install dependencies
|
|
50
|
+
# Run commands inside your subdirectory
|
|
51
|
+
working-directory: ./webpage
|
|
52
|
+
run: npm ci
|
|
53
|
+
|
|
54
|
+
- name: Build with Next.js
|
|
55
|
+
# Run commands inside your subdirectory
|
|
56
|
+
working-directory: ./webpage
|
|
57
|
+
run: npm run build
|
|
58
|
+
|
|
59
|
+
- name: Upload artifact
|
|
60
|
+
uses: actions/upload-pages-artifact@fc324d3547104276b827a68afc52ff2a11cc49c9 # v5.0.0
|
|
61
|
+
with:
|
|
62
|
+
# The build output is now located at webpage/out
|
|
63
|
+
path: ./webpage/out
|
|
64
|
+
|
|
65
|
+
# Deployment job
|
|
66
|
+
deploy:
|
|
67
|
+
environment:
|
|
68
|
+
name: github-pages
|
|
69
|
+
url: ${{ steps.deployment.outputs.page_url }}
|
|
70
|
+
runs-on: ubuntu-latest
|
|
71
|
+
needs: build
|
|
72
|
+
steps:
|
|
73
|
+
- name: Deploy to GitHub Pages
|
|
74
|
+
id: deployment
|
|
75
|
+
uses: actions/deploy-pages@cd2ce8fcbc39b97be8ca5fce6e763baed58fa128 # v5.0.0
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
name: Release Drafter
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches:
|
|
6
|
+
- main
|
|
7
|
+
|
|
8
|
+
permissions: {}
|
|
9
|
+
|
|
10
|
+
jobs:
|
|
11
|
+
update_release_draft:
|
|
12
|
+
name: Run
|
|
13
|
+
permissions:
|
|
14
|
+
contents: write
|
|
15
|
+
runs-on: ubuntu-slim
|
|
16
|
+
steps:
|
|
17
|
+
- uses: release-drafter/release-drafter@4d75298e00d9e34c483e5ff8c68d0ea1c1940c1e # v7.5.1
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
name: Templating
|
|
2
|
+
on:
|
|
3
|
+
push:
|
|
4
|
+
branches:
|
|
5
|
+
- main
|
|
6
|
+
pull_request:
|
|
7
|
+
paths:
|
|
8
|
+
- ".github/workflows/templating.yml"
|
|
9
|
+
workflow_dispatch: # Allow manual triggering
|
|
10
|
+
|
|
11
|
+
jobs:
|
|
12
|
+
render-template:
|
|
13
|
+
name: Render template
|
|
14
|
+
runs-on: ubuntu-slim
|
|
15
|
+
permissions:
|
|
16
|
+
contents: write
|
|
17
|
+
pull-requests: write
|
|
18
|
+
steps:
|
|
19
|
+
- id: create-token
|
|
20
|
+
uses: actions/create-github-app-token@bcd2ba49218906704ab6c1aa796996da409d3eb1 # v3.2.0
|
|
21
|
+
with:
|
|
22
|
+
client-id: ${{ secrets.APP_ID }}
|
|
23
|
+
private-key: ${{ secrets.APP_PRIVATE_KEY }}
|
|
24
|
+
- uses: munich-quantum-toolkit/templates@6b796f4c0404f74be469f32a3dcac05ef61d7b72 # v1.3.3
|
|
25
|
+
with:
|
|
26
|
+
token: ${{ steps.create-token.outputs.token }}
|
|
27
|
+
name: ProblemSolver
|
|
28
|
+
organization: ${{ github.repository_owner }}
|
|
29
|
+
project-type: pure-python
|
|
30
|
+
repository: ${{ github.event.repository.name }}
|
|
31
|
+
has-changelog-and-upgrade-guide: false
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
./idea
|
|
2
2
|
.DS_Store
|
|
3
|
+
.vscode
|
|
4
|
+
_version.py
|
|
3
5
|
|
|
4
6
|
# Created by https://www.toptal.com/developers/gitignore/api/pycharm+all,python,jupyternotebooks
|
|
5
7
|
# Edit at https://www.toptal.com/developers/gitignore?templates=pycharm+all,python,jupyternotebooks
|
|
@@ -179,6 +181,7 @@ instance/
|
|
|
179
181
|
|
|
180
182
|
# Sphinx documentation
|
|
181
183
|
docs/_build/
|
|
184
|
+
docs/api/
|
|
182
185
|
|
|
183
186
|
# PyBuilder
|
|
184
187
|
.pybuilder/
|
|
@@ -266,3 +269,18 @@ cython_debug/
|
|
|
266
269
|
#.idea/
|
|
267
270
|
|
|
268
271
|
# End of https://www.toptal.com/developers/gitignore/api/pycharm+all,python,jupyternotebooks
|
|
272
|
+
|
|
273
|
+
# Claude
|
|
274
|
+
CLAUDE.md
|
|
275
|
+
.claude/
|
|
276
|
+
|
|
277
|
+
# OS specific stuff
|
|
278
|
+
.DS_Store
|
|
279
|
+
.DS_Store?
|
|
280
|
+
.Spotlight-V100
|
|
281
|
+
.Trashes
|
|
282
|
+
._*
|
|
283
|
+
Thumbs.db
|
|
284
|
+
editor.swp
|
|
285
|
+
editor~
|
|
286
|
+
ehthumbs.db
|