iqm-benchmarks 2.7__tar.gz → 2.9__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.
Potentially problematic release.
This version of iqm-benchmarks might be problematic. Click here for more details.
- iqm_benchmarks-2.9/.github/workflows/main.yml +75 -0
- {iqm_benchmarks-2.7 → iqm_benchmarks-2.9}/.github/workflows/publish.yml +34 -18
- {iqm_benchmarks-2.7 → iqm_benchmarks-2.9}/CHANGELOG.rst +11 -3
- iqm_benchmarks-2.9/MANIFEST.in +1 -0
- {iqm_benchmarks-2.7/src/iqm_benchmarks.egg-info → iqm_benchmarks-2.9}/PKG-INFO +44 -31
- {iqm_benchmarks-2.7 → iqm_benchmarks-2.9}/README.md +37 -23
- iqm_benchmarks-2.9/docbuild +1 -0
- {iqm_benchmarks-2.7 → iqm_benchmarks-2.9}/docs/index.rst +1 -1
- iqm_benchmarks-2.9/format +2 -0
- {iqm_benchmarks-2.7 → iqm_benchmarks-2.9}/pyproject.toml +11 -7
- iqm_benchmarks-2.9/requirements.txt +2466 -0
- {iqm_benchmarks-2.7 → iqm_benchmarks-2.9}/src/iqm/benchmarks/__init__.py +9 -1
- {iqm_benchmarks-2.7 → iqm_benchmarks-2.9}/src/iqm/benchmarks/compressive_gst/compressive_gst.py +3 -5
- {iqm_benchmarks-2.7 → iqm_benchmarks-2.9}/src/iqm/benchmarks/compressive_gst/gst_analysis.py +12 -12
- {iqm_benchmarks-2.7 → iqm_benchmarks-2.9}/src/iqm/benchmarks/quantum_volume/quantum_volume.py +3 -3
- {iqm_benchmarks-2.7 → iqm_benchmarks-2.9}/src/iqm/benchmarks/randomized_benchmarking/mirror_rb/mirror_rb.py +2 -1
- {iqm_benchmarks-2.7 → iqm_benchmarks-2.9/src/iqm_benchmarks.egg-info}/PKG-INFO +44 -31
- {iqm_benchmarks-2.7 → iqm_benchmarks-2.9}/src/iqm_benchmarks.egg-info/SOURCES.txt +6 -1
- {iqm_benchmarks-2.7 → iqm_benchmarks-2.9}/src/iqm_benchmarks.egg-info/requires.txt +5 -6
- iqm_benchmarks-2.9/test +5 -0
- iqm_benchmarks-2.9/update-requirements.py +36 -0
- iqm_benchmarks-2.7/.github/workflows/main.yml +0 -62
- iqm_benchmarks-2.7/tox.ini +0 -92
- {iqm_benchmarks-2.7 → iqm_benchmarks-2.9}/.github/workflows/tag_and_release.yml +0 -0
- {iqm_benchmarks-2.7 → iqm_benchmarks-2.9}/.gitignore +0 -0
- {iqm_benchmarks-2.7 → iqm_benchmarks-2.9}/LICENSE +0 -0
- {iqm_benchmarks-2.7 → iqm_benchmarks-2.9}/benchmark_runner.py +0 -0
- {iqm_benchmarks-2.7 → iqm_benchmarks-2.9}/docs/API.rst +0 -0
- {iqm_benchmarks-2.7 → iqm_benchmarks-2.9}/docs/Makefile +0 -0
- {iqm_benchmarks-2.7 → iqm_benchmarks-2.9}/docs/_static/images/favicon.ico +0 -0
- {iqm_benchmarks-2.7 → iqm_benchmarks-2.9}/docs/_static/images/logo.png +0 -0
- {iqm_benchmarks-2.7 → iqm_benchmarks-2.9}/docs/_templates/autosummary-class-template.rst +0 -0
- {iqm_benchmarks-2.7 → iqm_benchmarks-2.9}/docs/_templates/autosummary-module-template.rst +0 -0
- {iqm_benchmarks-2.7 → iqm_benchmarks-2.9}/docs/changelog.rst +0 -0
- {iqm_benchmarks-2.7 → iqm_benchmarks-2.9}/docs/conf.py +0 -0
- {iqm_benchmarks-2.7 → iqm_benchmarks-2.9}/docs/example_clifford_rb.ipynb +0 -0
- {iqm_benchmarks-2.7 → iqm_benchmarks-2.9}/docs/examples.rst +0 -0
- {iqm_benchmarks-2.7 → iqm_benchmarks-2.9}/docs/license.rst +0 -0
- {iqm_benchmarks-2.7 → iqm_benchmarks-2.9}/docs/readme.md +0 -0
- {iqm_benchmarks-2.7 → iqm_benchmarks-2.9}/examples/example_clops.ipynb +0 -0
- {iqm_benchmarks-2.7 → iqm_benchmarks-2.9}/examples/example_experiment_all.ipynb +0 -0
- {iqm_benchmarks-2.7 → iqm_benchmarks-2.9}/examples/example_ghz.ipynb +0 -0
- {iqm_benchmarks-2.7 → iqm_benchmarks-2.9}/examples/example_gst.ipynb +0 -0
- {iqm_benchmarks-2.7 → iqm_benchmarks-2.9}/examples/example_interleaved_rb.ipynb +0 -0
- {iqm_benchmarks-2.7 → iqm_benchmarks-2.9}/examples/example_mirror_rb.ipynb +0 -0
- {iqm_benchmarks-2.7 → iqm_benchmarks-2.9}/examples/example_qscore.ipynb +0 -0
- {iqm_benchmarks-2.7 → iqm_benchmarks-2.9}/examples/example_quantum_volume.ipynb +0 -0
- {iqm_benchmarks-2.7 → iqm_benchmarks-2.9}/examples/generate_2qubit_cliffords.ipynb +0 -0
- {iqm_benchmarks-2.7 → iqm_benchmarks-2.9}/examples/how_to_make_your_own_benchmark.ipynb +0 -0
- {iqm_benchmarks-2.7 → iqm_benchmarks-2.9}/scheduled_experiments/adonis/__init__.py +0 -0
- {iqm_benchmarks-2.7 → iqm_benchmarks-2.9}/scheduled_experiments/adonis/weekly.py +0 -0
- {iqm_benchmarks-2.7 → iqm_benchmarks-2.9}/setup.cfg +0 -0
- {iqm_benchmarks-2.7 → iqm_benchmarks-2.9}/src/iqm/benchmarks/benchmark.py +0 -0
- {iqm_benchmarks-2.7 → iqm_benchmarks-2.9}/src/iqm/benchmarks/benchmark_definition.py +0 -0
- {iqm_benchmarks-2.7 → iqm_benchmarks-2.9}/src/iqm/benchmarks/circuit_containers.py +0 -0
- {iqm_benchmarks-2.7 → iqm_benchmarks-2.9}/src/iqm/benchmarks/compressive_gst/__init__.py +0 -0
- {iqm_benchmarks-2.7 → iqm_benchmarks-2.9}/src/iqm/benchmarks/entanglement/__init__.py +0 -0
- {iqm_benchmarks-2.7 → iqm_benchmarks-2.9}/src/iqm/benchmarks/entanglement/ghz.py +0 -0
- {iqm_benchmarks-2.7 → iqm_benchmarks-2.9}/src/iqm/benchmarks/logging_config.py +0 -0
- {iqm_benchmarks-2.7 → iqm_benchmarks-2.9}/src/iqm/benchmarks/optimization/__init__.py +0 -0
- {iqm_benchmarks-2.7 → iqm_benchmarks-2.9}/src/iqm/benchmarks/optimization/qscore.py +0 -0
- {iqm_benchmarks-2.7 → iqm_benchmarks-2.9}/src/iqm/benchmarks/quantum_volume/__init__.py +0 -0
- {iqm_benchmarks-2.7 → iqm_benchmarks-2.9}/src/iqm/benchmarks/quantum_volume/clops.py +0 -0
- {iqm_benchmarks-2.7 → iqm_benchmarks-2.9}/src/iqm/benchmarks/randomized_benchmarking/__init__.py +0 -0
- {iqm_benchmarks-2.7 → iqm_benchmarks-2.9}/src/iqm/benchmarks/randomized_benchmarking/clifford_1q.pkl +0 -0
- {iqm_benchmarks-2.7 → iqm_benchmarks-2.9}/src/iqm/benchmarks/randomized_benchmarking/clifford_2q.pkl +0 -0
- {iqm_benchmarks-2.7 → iqm_benchmarks-2.9}/src/iqm/benchmarks/randomized_benchmarking/clifford_rb/__init__.py +0 -0
- {iqm_benchmarks-2.7 → iqm_benchmarks-2.9}/src/iqm/benchmarks/randomized_benchmarking/clifford_rb/clifford_rb.py +0 -0
- {iqm_benchmarks-2.7 → iqm_benchmarks-2.9}/src/iqm/benchmarks/randomized_benchmarking/interleaved_rb/__init__.py +0 -0
- {iqm_benchmarks-2.7 → iqm_benchmarks-2.9}/src/iqm/benchmarks/randomized_benchmarking/interleaved_rb/interleaved_rb.py +0 -0
- {iqm_benchmarks-2.7 → iqm_benchmarks-2.9}/src/iqm/benchmarks/randomized_benchmarking/mirror_rb/__init__.py +0 -0
- {iqm_benchmarks-2.7 → iqm_benchmarks-2.9}/src/iqm/benchmarks/randomized_benchmarking/multi_lmfit.py +0 -0
- {iqm_benchmarks-2.7 → iqm_benchmarks-2.9}/src/iqm/benchmarks/randomized_benchmarking/randomized_benchmarking_common.py +0 -0
- {iqm_benchmarks-2.7 → iqm_benchmarks-2.9}/src/iqm/benchmarks/readout_mitigation.py +0 -0
- {iqm_benchmarks-2.7 → iqm_benchmarks-2.9}/src/iqm/benchmarks/utils.py +0 -0
- {iqm_benchmarks-2.7 → iqm_benchmarks-2.9}/src/iqm_benchmarks.egg-info/dependency_links.txt +0 -0
- {iqm_benchmarks-2.7 → iqm_benchmarks-2.9}/src/iqm_benchmarks.egg-info/top_level.txt +0 -0
- {iqm_benchmarks-2.7 → iqm_benchmarks-2.9}/src/mGST/LICENSE +0 -0
- {iqm_benchmarks-2.7 → iqm_benchmarks-2.9}/src/mGST/README.md +0 -0
- {iqm_benchmarks-2.7 → iqm_benchmarks-2.9}/src/mGST/additional_fns.py +0 -0
- {iqm_benchmarks-2.7 → iqm_benchmarks-2.9}/src/mGST/algorithm.py +0 -0
- {iqm_benchmarks-2.7 → iqm_benchmarks-2.9}/src/mGST/compatibility.py +0 -0
- {iqm_benchmarks-2.7 → iqm_benchmarks-2.9}/src/mGST/low_level_jit.py +0 -0
- {iqm_benchmarks-2.7 → iqm_benchmarks-2.9}/src/mGST/optimization.py +0 -0
- {iqm_benchmarks-2.7 → iqm_benchmarks-2.9}/src/mGST/qiskit_interface.py +0 -0
- {iqm_benchmarks-2.7 → iqm_benchmarks-2.9}/src/mGST/reporting/figure_gen.py +0 -0
- {iqm_benchmarks-2.7 → iqm_benchmarks-2.9}/src/mGST/reporting/reporting.py +0 -0
- {iqm_benchmarks-2.7 → iqm_benchmarks-2.9}/tag-from-pipeline.sh +0 -0
- {iqm_benchmarks-2.7 → iqm_benchmarks-2.9}/tests/test_ghz.py +0 -0
- {iqm_benchmarks-2.7 → iqm_benchmarks-2.9}/tests/test_gst.py +0 -0
- {iqm_benchmarks-2.7 → iqm_benchmarks-2.9}/tests/test_qscore.py +0 -0
- {iqm_benchmarks-2.7 → iqm_benchmarks-2.9}/tests/test_qv.py +0 -0
- {iqm_benchmarks-2.7 → iqm_benchmarks-2.9}/tests/test_rb.py +0 -0
- {iqm_benchmarks-2.7 → iqm_benchmarks-2.9}/tests/unit/test_benchmark_circuit.py +0 -0
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
name: Continuous Integration
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
pull_request:
|
|
5
|
+
branches:
|
|
6
|
+
- main
|
|
7
|
+
workflow_dispatch:
|
|
8
|
+
schedule:
|
|
9
|
+
- cron: '0 0 * * *'
|
|
10
|
+
|
|
11
|
+
jobs:
|
|
12
|
+
run_tests:
|
|
13
|
+
runs-on: ubuntu-latest
|
|
14
|
+
steps:
|
|
15
|
+
- uses: actions/checkout@v4
|
|
16
|
+
- name: Install uv and set the python version
|
|
17
|
+
uses: astral-sh/setup-uv@v5
|
|
18
|
+
with:
|
|
19
|
+
python-version: 3.11
|
|
20
|
+
- name: Install dependencies
|
|
21
|
+
run: uv pip install --constraint requirements.txt --editable .[test,mgst]
|
|
22
|
+
- name: Run tests
|
|
23
|
+
run: ./test
|
|
24
|
+
|
|
25
|
+
test_docs:
|
|
26
|
+
runs-on: ubuntu-latest
|
|
27
|
+
steps:
|
|
28
|
+
- uses: actions/checkout@v4
|
|
29
|
+
- name: Install uv and set the python version
|
|
30
|
+
uses: astral-sh/setup-uv@v5
|
|
31
|
+
with:
|
|
32
|
+
python-version: 3.11
|
|
33
|
+
- name: Install dependencies
|
|
34
|
+
run: |
|
|
35
|
+
uv pip install --constraint requirements.txt --editable .[docs,mgst]
|
|
36
|
+
sudo apt-get install graphviz
|
|
37
|
+
- name: Test if docs can be built
|
|
38
|
+
run: ./docbuild
|
|
39
|
+
|
|
40
|
+
test_requirements_lock:
|
|
41
|
+
runs-on: ubuntu-latest
|
|
42
|
+
steps:
|
|
43
|
+
- uses: actions/checkout@v4
|
|
44
|
+
- name: Install uv and set the python version
|
|
45
|
+
uses: astral-sh/setup-uv@v5
|
|
46
|
+
with:
|
|
47
|
+
python-version: 3.11
|
|
48
|
+
- name: Install dependencies
|
|
49
|
+
run: uv pip install --constraint requirements.txt --editable .[cicd]
|
|
50
|
+
- name: Regenerate requirements.txt
|
|
51
|
+
run: python update-requirements.py
|
|
52
|
+
- name: Check lockfile is up-to-date
|
|
53
|
+
run: git diff --exit-code HEAD requirements.txt
|
|
54
|
+
|
|
55
|
+
run_benchmark:
|
|
56
|
+
runs-on: ubuntu-latest
|
|
57
|
+
if: github.event_name == 'workflow_dispatch' || github.event_name == 'schedule'
|
|
58
|
+
steps:
|
|
59
|
+
- uses: actions/checkout@v4
|
|
60
|
+
- name: Set up Python
|
|
61
|
+
uses: actions/setup-python@v2
|
|
62
|
+
with:
|
|
63
|
+
python-version: 3.11
|
|
64
|
+
- name: Install dependencies
|
|
65
|
+
run: uv pip install --constraint requirements.txt --editable .
|
|
66
|
+
- name: Run benchmark
|
|
67
|
+
run: python benchmark_runner.py --backend=${BACKEND}
|
|
68
|
+
env:
|
|
69
|
+
BACKEND: ${{ github.event.inputs.backend || 'iqmfakeadonis' }}
|
|
70
|
+
- name: Upload benchmark results
|
|
71
|
+
uses: actions/upload-artifact@v2
|
|
72
|
+
with:
|
|
73
|
+
name: benchmark-results
|
|
74
|
+
path: Outputs
|
|
75
|
+
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
name: Upload package to PyPI
|
|
1
|
+
name: Upload package to PyPI and publish documentation
|
|
2
2
|
|
|
3
3
|
on:
|
|
4
4
|
release:
|
|
@@ -9,21 +9,18 @@ on:
|
|
|
9
9
|
jobs:
|
|
10
10
|
build:
|
|
11
11
|
runs-on: ubuntu-latest
|
|
12
|
-
|
|
13
12
|
steps:
|
|
14
13
|
- uses: actions/checkout@v4
|
|
15
14
|
- name: Fetch all history for all tags and branches
|
|
16
15
|
run: git fetch --prune --unshallow
|
|
17
|
-
- name:
|
|
18
|
-
uses:
|
|
16
|
+
- name: Install uv and set the python version
|
|
17
|
+
uses: astral-sh/setup-uv@v5
|
|
19
18
|
with:
|
|
20
|
-
python-version:
|
|
19
|
+
python-version: 3.11
|
|
21
20
|
- name: Install dependencies
|
|
22
|
-
run:
|
|
23
|
-
python -m pip install --upgrade pip
|
|
24
|
-
python -m pip install build==1.0.3
|
|
21
|
+
run: uv pip install --constraint requirements.txt --editable .[cicd]
|
|
25
22
|
- name: Build distribution
|
|
26
|
-
run:
|
|
23
|
+
run: uv build
|
|
27
24
|
- name: Store distribution packages
|
|
28
25
|
uses: actions/upload-artifact@v4
|
|
29
26
|
with:
|
|
@@ -39,7 +36,6 @@ jobs:
|
|
|
39
36
|
url: https://pypi.org/p/iqm-benchmarks
|
|
40
37
|
permissions:
|
|
41
38
|
id-token: write
|
|
42
|
-
|
|
43
39
|
steps:
|
|
44
40
|
- name: Download distribution packages
|
|
45
41
|
uses: actions/download-artifact@v4
|
|
@@ -50,26 +46,24 @@ jobs:
|
|
|
50
46
|
|
|
51
47
|
publish_docs:
|
|
52
48
|
runs-on: ubuntu-latest
|
|
53
|
-
|
|
54
49
|
steps:
|
|
55
50
|
- uses: actions/checkout@v4
|
|
56
51
|
with:
|
|
57
52
|
fetch-depth: 0
|
|
58
|
-
- name:
|
|
59
|
-
uses:
|
|
53
|
+
- name: Install uv and set the python version
|
|
54
|
+
uses: astral-sh/setup-uv@v5
|
|
60
55
|
with:
|
|
61
|
-
python-version:
|
|
56
|
+
python-version: 3.11
|
|
62
57
|
- name: Checkout latest tagged commit
|
|
63
58
|
run: |
|
|
64
59
|
git checkout $(git describe --tags --abbrev=0)
|
|
65
60
|
- name: Install dependencies
|
|
66
61
|
run: |
|
|
67
|
-
|
|
68
|
-
pip install -e ".[develop]"
|
|
62
|
+
uv pip install --constraint requirements.txt --editable .[cicd,docs]
|
|
69
63
|
sudo apt-get install graphviz
|
|
70
64
|
- name: Build docs
|
|
71
65
|
run: |
|
|
72
|
-
|
|
66
|
+
./docbuild
|
|
73
67
|
touch build/sphinx/html/.nojekyll # allow underscores in URL path
|
|
74
68
|
# remove unnecessary build files
|
|
75
69
|
sudo rm -rf build/sphinx/html/.doctrees
|
|
@@ -78,4 +72,26 @@ jobs:
|
|
|
78
72
|
with:
|
|
79
73
|
branch: gh-pages
|
|
80
74
|
folder: build/sphinx/html
|
|
81
|
-
force: false
|
|
75
|
+
force: false
|
|
76
|
+
|
|
77
|
+
gen_licenses_info:
|
|
78
|
+
runs-on: ubuntu-latest
|
|
79
|
+
steps:
|
|
80
|
+
- uses: actions/checkout@v4
|
|
81
|
+
with:
|
|
82
|
+
fetch-depth: 0
|
|
83
|
+
- name: Install uv and set the python version
|
|
84
|
+
uses: astral-sh/setup-uv@v5
|
|
85
|
+
with:
|
|
86
|
+
python-version: 3.11
|
|
87
|
+
- name: Install dependencies
|
|
88
|
+
run: uv pip install --constraint requirements.txt --editable . --requirement pyproject.toml --all-extras
|
|
89
|
+
- name: Generate license information for dependencies
|
|
90
|
+
run: |
|
|
91
|
+
pip-licenses --format=confluence --with-urls > licenses.txt
|
|
92
|
+
cat -n licenses.txt | sort -uk2 | sort -n | cut -f2- > tmp && mv tmp licenses.txt # remove duplicate lines
|
|
93
|
+
- name: Upload license information artifact
|
|
94
|
+
uses: actions/upload-artifact@v4
|
|
95
|
+
with:
|
|
96
|
+
name: dependencies-licenses
|
|
97
|
+
path: licenses.txt
|
|
@@ -2,6 +2,14 @@
|
|
|
2
2
|
Changelog
|
|
3
3
|
=========
|
|
4
4
|
|
|
5
|
+
Version 2.9
|
|
6
|
+
===========
|
|
7
|
+
* Add optional security-scanned lockfile.
|
|
8
|
+
|
|
9
|
+
Version 2.8
|
|
10
|
+
===========
|
|
11
|
+
* Fixed a bug where optional dependencies related to gst were imported with other benchmarks, leading to a ModuleNotFoundError.
|
|
12
|
+
|
|
5
13
|
Version 2.7
|
|
6
14
|
===========
|
|
7
15
|
* Fixed bugs in Qscore and enabled benchmark execution for pyrite.
|
|
@@ -40,15 +48,15 @@ Version 2.0
|
|
|
40
48
|
* Updates the usage of `qiskit.QuantumCircuit` to `iqm.qiskit_iqm.IQMCircuit` in many places.
|
|
41
49
|
|
|
42
50
|
Version 1.12
|
|
43
|
-
|
|
51
|
+
============
|
|
44
52
|
* Miscellaneous small bugs fixed.
|
|
45
53
|
|
|
46
54
|
Version 1.11
|
|
47
|
-
|
|
55
|
+
============
|
|
48
56
|
* Relaxes dependencies to allow for ranges.
|
|
49
57
|
|
|
50
58
|
Version 1.10
|
|
51
|
-
|
|
59
|
+
============
|
|
52
60
|
* Added API docs building and publishing.
|
|
53
61
|
|
|
54
62
|
Version 1.9
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
include requirements.txt
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
Metadata-Version: 2.2
|
|
2
2
|
Name: iqm-benchmarks
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.9
|
|
4
4
|
Summary: A package for implementation of Quantum Characterization, Verification and Validation (QCVV) techniques on IQM's hardware at gate level abstraction
|
|
5
|
-
Author-email: IQM Finland Oy <developers@meetiqm.com>, Aniket Rath <aniket.rath@meetiqm.com>, Jami Rönkkö <jami@meetiqm.com>, Pedro Figueroa Romero <pedro.romero@meetiqm.com>, Vicente Pina Canelles <vicente.pina@meetiqm.com>, Raphael Brieger <raphael.brieger@meetiqm.com>, Stefan Seegerer <stefan.seegerer@meetiqm.com>
|
|
5
|
+
Author-email: IQM Finland Oy <developers@meetiqm.com>, Aniket Rath <aniket.rath@meetiqm.com>, Jami Rönkkö <jami@meetiqm.com>, Pedro Figueroa Romero <pedro.romero@meetiqm.com>, Vicente Pina Canelles <vicente.pina@meetiqm.com>, Raphael Brieger <raphael.brieger@meetiqm.com>, Stefan Seegerer <stefan.seegerer@meetiqm.com>, Miikka Koistinen <miikka@meetiqm.com>
|
|
6
6
|
Project-URL: Homepage, https://github.com/iqm-finland/iqm-benchmarks
|
|
7
7
|
Classifier: Development Status :: 4 - Beta
|
|
8
8
|
Classifier: Programming Language :: Python :: 3 :: Only
|
|
@@ -26,16 +26,15 @@ Requires-Dist: pycurl<8.0,>=7.45.3
|
|
|
26
26
|
Requires-Dist: xarray<2025.0.0,>=2024.6.0
|
|
27
27
|
Requires-Dist: types-pycurl
|
|
28
28
|
Requires-Dist: myst-nb==1.1.0
|
|
29
|
-
Provides-Extra:
|
|
30
|
-
Requires-Dist:
|
|
29
|
+
Provides-Extra: cicd
|
|
30
|
+
Requires-Dist: build==1.0.3; extra == "cicd"
|
|
31
|
+
Requires-Dist: pip-licenses==5.0.0; extra == "cicd"
|
|
31
32
|
Provides-Extra: examples
|
|
32
33
|
Requires-Dist: notebook==7.2.1; extra == "examples"
|
|
33
34
|
Provides-Extra: mgst
|
|
34
|
-
Requires-Dist: numpy<2.0; extra == "mgst"
|
|
35
|
-
Requires-Dist: cvxpy==1.5.3; extra == "mgst"
|
|
36
|
-
Requires-Dist: pygsti==0.9.12.3; extra == "mgst"
|
|
37
|
-
Requires-Dist: tqdm==4.66.5; extra == "mgst"
|
|
38
35
|
Requires-Dist: numba==0.60.0; extra == "mgst"
|
|
36
|
+
Requires-Dist: pygsti[diamond_norm]==0.9.12.3; extra == "mgst"
|
|
37
|
+
Requires-Dist: tqdm==4.66.5; extra == "mgst"
|
|
39
38
|
Provides-Extra: test
|
|
40
39
|
Requires-Dist: black==24.4.2; extra == "test"
|
|
41
40
|
Requires-Dist: isort==5.13.2; extra == "test"
|
|
@@ -75,57 +74,71 @@ The project is split into different benchmarks, all sharing the `Benchmark` clas
|
|
|
75
74
|
|
|
76
75
|
## Installation _(latest release)_
|
|
77
76
|
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
Start a terminal in your machine, and type
|
|
77
|
+
[uv](https://docs.astral.sh/uv/) is highly recommended for practical Python environment and package management.
|
|
78
|
+
With uv installed in your system, start a terminal in your machine and create a new Python environment
|
|
81
79
|
|
|
80
|
+
```sh
|
|
81
|
+
uv venv --python=3.11
|
|
82
82
|
```
|
|
83
|
-
conda create -n iqm-benchmarks python=3.11.2
|
|
84
|
-
conda activate iqm-benchmarks
|
|
85
|
-
```
|
|
86
83
|
|
|
84
|
+
> Note: refer to uv's documentation if there are problems setting up a Python environment.
|
|
85
|
+
|
|
86
|
+
After the command has run, read the output and make sure to use the prompt to activate the environment.
|
|
87
87
|
Then, you can install the latest release of the IQM Benchmarks by running:
|
|
88
|
-
|
|
89
|
-
|
|
88
|
+
|
|
89
|
+
```sh
|
|
90
|
+
uv pip install iqm-benchmarks
|
|
90
91
|
```
|
|
91
92
|
|
|
92
|
-
|
|
93
|
+
Supplied within the Python package there is an additional `requirements.txt` file containing locked, security scanned
|
|
94
|
+
dependencies. The file can be used to constrain installed dependencies either directly from the repo or by
|
|
95
|
+
extracting it from the PyPI package.
|
|
93
96
|
|
|
94
|
-
```
|
|
95
|
-
pip install iqm-benchmarks
|
|
97
|
+
```sh
|
|
98
|
+
uv pip install --constraint requirements.txt iqm-benchmarks
|
|
96
99
|
```
|
|
97
100
|
|
|
98
101
|
## Optional dependencies
|
|
99
102
|
|
|
100
103
|
Optional dependencies like compressive gate set tomography and jupyter notebooks can be installed as follows:
|
|
101
|
-
```
|
|
102
|
-
pip install "iqm-benchmarks[mgst,
|
|
104
|
+
```sh
|
|
105
|
+
uv pip install "iqm-benchmarks[mgst,examples]"
|
|
103
106
|
```
|
|
104
107
|
Current optional dependencies are:
|
|
105
108
|
* `examples`: Jupyter notebooks
|
|
106
109
|
* `mgst`: Compressive gate set tomography
|
|
107
|
-
* `develop`: Development tools
|
|
108
110
|
* `test`: Code testing and Linting
|
|
109
|
-
* `docs`: Documentation building
|
|
111
|
+
* `docs`: Documentation building
|
|
112
|
+
* `cicd`: CICD tools
|
|
110
113
|
|
|
111
|
-
## Development
|
|
114
|
+
## Development installation _(latest changes)_
|
|
112
115
|
|
|
113
|
-
To install in development mode with all required dependencies, you can instead clone the
|
|
116
|
+
To install in development mode with all required dependencies, you can instead clone the
|
|
117
|
+
[repository](https://www.github.com/iqm-finland/iqm-benchmarks) and from the project directory run
|
|
114
118
|
|
|
115
|
-
```
|
|
116
|
-
|
|
119
|
+
```sh
|
|
120
|
+
uv pip install --constraint requirements.txt iqm-benchmarks
|
|
117
121
|
```
|
|
118
122
|
|
|
119
123
|
To run the tests, you can use the following command:
|
|
120
124
|
|
|
121
|
-
```
|
|
122
|
-
|
|
125
|
+
```sh
|
|
126
|
+
./test
|
|
123
127
|
```
|
|
124
128
|
|
|
125
129
|
To build the API documentation as HTML:
|
|
126
130
|
|
|
127
|
-
```
|
|
128
|
-
|
|
131
|
+
```sh
|
|
132
|
+
./docbuild
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
Update the requirements. This is necessary when you add a new dependency or update an existing one in `pyproject.toml`.
|
|
136
|
+
After this, any changes in the lockfile `requirements.txt` have to be committed.
|
|
137
|
+
The script upgrades locked dependencies defined in `pyproject.toml` within the given version ranges. However, transitive
|
|
138
|
+
dependencies are deliberately not upgraded automatically.
|
|
139
|
+
|
|
140
|
+
```sh
|
|
141
|
+
python update-requirements.py
|
|
129
142
|
```
|
|
130
143
|
|
|
131
144
|
## Characterize Physical Hardware
|
|
@@ -22,57 +22,71 @@ The project is split into different benchmarks, all sharing the `Benchmark` clas
|
|
|
22
22
|
|
|
23
23
|
## Installation _(latest release)_
|
|
24
24
|
|
|
25
|
-
|
|
25
|
+
[uv](https://docs.astral.sh/uv/) is highly recommended for practical Python environment and package management.
|
|
26
|
+
With uv installed in your system, start a terminal in your machine and create a new Python environment
|
|
26
27
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
```
|
|
30
|
-
conda create -n iqm-benchmarks python=3.11.2
|
|
31
|
-
conda activate iqm-benchmarks
|
|
28
|
+
```sh
|
|
29
|
+
uv venv --python=3.11
|
|
32
30
|
```
|
|
33
31
|
|
|
32
|
+
> Note: refer to uv's documentation if there are problems setting up a Python environment.
|
|
33
|
+
|
|
34
|
+
After the command has run, read the output and make sure to use the prompt to activate the environment.
|
|
34
35
|
Then, you can install the latest release of the IQM Benchmarks by running:
|
|
35
|
-
|
|
36
|
-
|
|
36
|
+
|
|
37
|
+
```sh
|
|
38
|
+
uv pip install iqm-benchmarks
|
|
37
39
|
```
|
|
38
40
|
|
|
39
|
-
|
|
41
|
+
Supplied within the Python package there is an additional `requirements.txt` file containing locked, security scanned
|
|
42
|
+
dependencies. The file can be used to constrain installed dependencies either directly from the repo or by
|
|
43
|
+
extracting it from the PyPI package.
|
|
40
44
|
|
|
41
|
-
```
|
|
42
|
-
pip install iqm-benchmarks
|
|
45
|
+
```sh
|
|
46
|
+
uv pip install --constraint requirements.txt iqm-benchmarks
|
|
43
47
|
```
|
|
44
48
|
|
|
45
49
|
## Optional dependencies
|
|
46
50
|
|
|
47
51
|
Optional dependencies like compressive gate set tomography and jupyter notebooks can be installed as follows:
|
|
48
|
-
```
|
|
49
|
-
pip install "iqm-benchmarks[mgst,
|
|
52
|
+
```sh
|
|
53
|
+
uv pip install "iqm-benchmarks[mgst,examples]"
|
|
50
54
|
```
|
|
51
55
|
Current optional dependencies are:
|
|
52
56
|
* `examples`: Jupyter notebooks
|
|
53
57
|
* `mgst`: Compressive gate set tomography
|
|
54
|
-
* `develop`: Development tools
|
|
55
58
|
* `test`: Code testing and Linting
|
|
56
|
-
* `docs`: Documentation building
|
|
59
|
+
* `docs`: Documentation building
|
|
60
|
+
* `cicd`: CICD tools
|
|
57
61
|
|
|
58
|
-
## Development
|
|
62
|
+
## Development installation _(latest changes)_
|
|
59
63
|
|
|
60
|
-
To install in development mode with all required dependencies, you can instead clone the
|
|
64
|
+
To install in development mode with all required dependencies, you can instead clone the
|
|
65
|
+
[repository](https://www.github.com/iqm-finland/iqm-benchmarks) and from the project directory run
|
|
61
66
|
|
|
62
|
-
```
|
|
63
|
-
|
|
67
|
+
```sh
|
|
68
|
+
uv pip install --constraint requirements.txt iqm-benchmarks
|
|
64
69
|
```
|
|
65
70
|
|
|
66
71
|
To run the tests, you can use the following command:
|
|
67
72
|
|
|
68
|
-
```
|
|
69
|
-
|
|
73
|
+
```sh
|
|
74
|
+
./test
|
|
70
75
|
```
|
|
71
76
|
|
|
72
77
|
To build the API documentation as HTML:
|
|
73
78
|
|
|
74
|
-
```
|
|
75
|
-
|
|
79
|
+
```sh
|
|
80
|
+
./docbuild
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
Update the requirements. This is necessary when you add a new dependency or update an existing one in `pyproject.toml`.
|
|
84
|
+
After this, any changes in the lockfile `requirements.txt` have to be committed.
|
|
85
|
+
The script upgrades locked dependencies defined in `pyproject.toml` within the given version ranges. However, transitive
|
|
86
|
+
dependencies are deliberately not upgraded automatically.
|
|
87
|
+
|
|
88
|
+
```sh
|
|
89
|
+
python update-requirements.py
|
|
76
90
|
```
|
|
77
91
|
|
|
78
92
|
## Characterize Physical Hardware
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
sphinx-build -b html docs/ build/sphinx/html -W
|
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
[build-system]
|
|
2
2
|
requires = [
|
|
3
|
+
# NOTE: including build deps in the lockfile not yet directly by uv. Working around this by duplicating build deps
|
|
4
|
+
# in project dependencies doesn't work either since using them via the lockfile requires
|
|
5
|
+
# `--no-build-isolation` while installing, which itself requires setuptools.
|
|
6
|
+
# See https://github.com/astral-sh/uv/issues/5190.
|
|
3
7
|
"setuptools>=70.0.0",
|
|
4
8
|
"setuptools_scm[toml]>=8.1.0",
|
|
5
9
|
]
|
|
@@ -16,7 +20,8 @@ authors = [
|
|
|
16
20
|
{name="Pedro Figueroa Romero", email="pedro.romero@meetiqm.com"},
|
|
17
21
|
{name="Vicente Pina Canelles", email="vicente.pina@meetiqm.com"},
|
|
18
22
|
{name="Raphael Brieger", email="raphael.brieger@meetiqm.com"},
|
|
19
|
-
{name="Stefan Seegerer", email="stefan.seegerer@meetiqm.com"}
|
|
23
|
+
{name="Stefan Seegerer", email="stefan.seegerer@meetiqm.com"},
|
|
24
|
+
{name="Miikka Koistinen", email="miikka@meetiqm.com"},
|
|
20
25
|
]
|
|
21
26
|
readme = "README.md"
|
|
22
27
|
classifiers = [
|
|
@@ -48,8 +53,9 @@ dependencies = [
|
|
|
48
53
|
"Homepage" = "https://github.com/iqm-finland/iqm-benchmarks"
|
|
49
54
|
|
|
50
55
|
[project.optional-dependencies]
|
|
51
|
-
|
|
52
|
-
"
|
|
56
|
+
cicd = [
|
|
57
|
+
"build == 1.0.3",
|
|
58
|
+
"pip-licenses == 5.0.0",
|
|
53
59
|
]
|
|
54
60
|
|
|
55
61
|
examples = [
|
|
@@ -57,11 +63,9 @@ examples = [
|
|
|
57
63
|
]
|
|
58
64
|
|
|
59
65
|
mgst = [
|
|
60
|
-
"numpy < 2.0",
|
|
61
|
-
"cvxpy == 1.5.3",
|
|
62
|
-
"pygsti == 0.9.12.3",
|
|
63
|
-
"tqdm == 4.66.5",
|
|
64
66
|
"numba == 0.60.0",
|
|
67
|
+
"pygsti[diamond_norm] == 0.9.12.3",
|
|
68
|
+
"tqdm == 4.66.5",
|
|
65
69
|
]
|
|
66
70
|
|
|
67
71
|
test = [
|