Skip to content

Commit 0e24e2d

Browse files
accepted develop conflicts
2 parents 11e6ea0 + 4f2a270 commit 0e24e2d

File tree

482 files changed

+19448
-1706
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

482 files changed

+19448
-1706
lines changed

Diff for: .flake8-critical

+14-11
Original file line numberDiff line numberDiff line change
@@ -16,15 +16,18 @@
1616
# This list may be expanded in the future
1717
select=E9,F63,F7,F82
1818

19-
exclude=
19+
per-file-ignores=
2020
# Known issues with rb tests. Currently skipped, but technically have F821 errors
21-
test/unit/extras/rb/test_analysis.py
22-
test/unit/extras/rb/test_group.py
23-
test/unit/extras/rb/test_sample.py
24-
test/unit/extras/rb/test_theory.py
25-
test/unit/tools/test_internalgates.py
26-
test/test_packages/extras/test_rb.py
27-
# F821 error. Should nPossible be nLocal?
28-
test/test_packages/drivers/nqubitconstruction.py
29-
# F821 error. Likely results existed in a deleted cell
30-
scripts/profiling/gaugeopt/3Q_example.py
21+
test/unit/extras/rb/test_analysis.py:F821
22+
test/unit/extras/rb/test_group.py:F821
23+
test/unit/extras/rb/test_sample.py:F821
24+
test/unit/extras/rb/test_theory.py:F821
25+
test/unit/tools/test_internalgates.py:F821
26+
test/test_packages/extras/test_rb.py:F821
27+
# Should nPossible be nLocal?
28+
test/test_packages/drivers/nqubitconstruction.py:F821
29+
# Likely results existed in a deleted cell
30+
scripts/profiling/gaugeopt/3Q_example.py:F821
31+
# New with flake 7.2.0, should go back to these
32+
pygsti/forwardsims/termforwardsim_calc_generic.py:F824
33+
pygsti/baseobjs/basisconstructors.py:F824

Diff for: .github/workflows/beta-master.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@ jobs:
1313
strategy:
1414
fail-fast: false
1515
matrix:
16-
os: [macos-13, ubuntu-latest, windows-latest] # TODO: Unpin mac version when cvxopt or Python 3.8 dropped
17-
python-version: [3.8, 3.9, '3.10', '3.11']
16+
os: [macos-latest, ubuntu-latest, windows-latest]
17+
python-version: [3.9, '3.10', '3.11', '3.12']
1818
use-cython: ['true', 'false']
1919
uses: ./.github/workflows/reuseable-main.yml
2020
name: Run pyGSTi tests

Diff for: .github/workflows/develop.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ jobs:
1515
fail-fast: false
1616
matrix:
1717
os: [ubuntu-latest, windows-latest] # No Mac
18-
python-version: [3.8, 3.9, '3.10', '3.11']
18+
python-version: [3.9, '3.10', '3.11', '3.12']
1919
use-cython: ['true', 'false']
2020
uses: ./.github/workflows/reuseable-main.yml
2121
name: Run pyGSTi tests

Diff for: .github/workflows/feature-branches.yml

+3-3
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@ jobs:
1818
strategy:
1919
# fail-fast: true is OK here
2020
matrix:
21-
os: [ubuntu-latest, windows-latest] # No Mac
22-
python-version: [3.8, '3.11'] # Only extremal Python versions
21+
os: [ubuntu-latest, windows-latest]
22+
python-version: [3.9, '3.12'] # Only extremal Python versions
2323
uses: ./.github/workflows/reuseable-main.yml
2424
name: Run pyGSTi tests
2525
with:
@@ -28,7 +28,7 @@ jobs:
2828
use-cython: 'true' # Only test environment with Cython
2929
run-unit-tests: 'true'
3030
run-extra-tests: 'false' # No integration tests
31-
run-notebook-tests: 'false' # No notebook tests
31+
run-notebook-tests: 'false' # No notebook tests
3232

3333

3434

Diff for: .github/workflows/reuseable-main.yml

+8-3
Original file line numberDiff line numberDiff line change
@@ -34,14 +34,19 @@ jobs:
3434
runs-on: ${{ inputs.os }}
3535
steps:
3636
- uses: actions/checkout@v4
37-
- name: Set up installation environment (Linux and Windows)
38-
if: ${{ inputs.os != 'macos-13' }}
37+
- name: Set up installation environment (Linux)
38+
if: ${{ inputs.os == 'ubuntu-latest' }}
3939
run: |
4040
./.github/ci-scripts/before_install.sh
4141
- name: Set up installation environment (MacOS)
42-
if: ${{ inputs.os == 'macos-13' }}
42+
if: ${{ inputs.os == 'macos-latest' }}
4343
run: |
4444
./.github/ci-scripts/before_install_macos.sh
45+
- name: Set up MPI (Windows)
46+
if: ${{ inputs.os == 'windows-latest' }}
47+
uses: mpi4py/setup-mpi@v1
48+
with:
49+
mpi: intelmpi
4550
- name: Set up Python ${{ inputs.python-version }}
4651
uses: actions/setup-python@v5
4752
with:

Diff for: CHANGELOG

+62
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,67 @@
11
# CHANGELOG
22

3+
## [0.9.13.1] - 2025-03-18
4+
5+
### Added
6+
* Wildcard support for instruments (#463, 527)
7+
* Parity benchmarking protocol (#532)
8+
* RNG seeding for BinaryRBDesign (#546, #547)
9+
10+
### Fixed
11+
* Germ selection with ComposedOp (#481)
12+
* Basis cast in report error generator projection (#455)
13+
* Germ selection circuit line labels (#507, #540)
14+
* NumPy 2.2 deprecation fix (#514)
15+
* Various unit test fixes (#519, #530)
16+
* Plotly 0.6 API changes in reports (#533)
17+
* DataSet outcome label misordering with add_count_list (#535, #536)
18+
* Guard for fastcalc causing ImportError (#540, #541)
19+
* Per-germ global FPR simulator properly set (#545)
20+
21+
### Changed
22+
* Simplify the TimeIndependentMDCObjectiveFunction class (#515)
23+
* Package configuration updates (#530)
24+
* Name from pyGSTi to pygsti for PEP 625 compliance
25+
* Configuration migrated mostly from setup.py to pyproject.toml
26+
* Python versions bumped from 3.8 - 3.11 to 3.9 - 3.12
27+
* setuptools_scm updates more verbose version names for local/editable installs
28+
29+
## [0.9.13] - 2025-01-16
30+
31+
### Added
32+
* PyTorch-backed forward simulation (#390)
33+
* Support for ECR gates in QASM translation (#440, #457)
34+
* Interleaved RB (#296, #468)
35+
* Pared-down Levenberg-Marquardt for nonlinear least-squares (#500)
36+
* Fisher information for quantum instruments (#464, #503)
37+
* Wildcard and Hessians for non-ExplicitOpModels (#511)
38+
39+
### Fixed
40+
* Kraus operator decomposition with degenerate Choi matrix bugfix (#423)
41+
* NumPy improvements and fixes (#430, #431, #451, #458, #470, #518)
42+
* Model parameter desync bugfix (#456, #482)
43+
* FOGI parameter label accumulation bugfix (#486, #488)
44+
* Guarding `signal` to allow PyGSTi usage with Dask (#489)
45+
* Docstring escape and mismatch bugfixes (#502, #504)
46+
* CPTP deserialization sign flip bugfix (#341, #509)
47+
* LindbladErrorgen Hessian with dense representation bugfix (#512)
48+
* Test file updates (#510)
49+
* ProcessorSpec state space label bugfix (#474, #521)
50+
51+
### Changed
52+
* Circuit primitive performance upgrades (#445)
53+
* Refactors for matrixtools.py and the Basis class (#429, #442, #493)
54+
* Layout and MDCStore creation performance upgrades (#448)
55+
* Major 2Q GST performance improvements (#496, #517)
56+
57+
### Deprecated
58+
* We are deprecating the CVXOPT backend for CVXPY in favor of Clarabel (#437). Although pyGSTi will not warn you if you continue to use the CVXOPT backend, this change will occur with no additional warning in a future release.
59+
60+
### Removed
61+
* Removed explicit dependency on CVXOPT for wildcard optimization (#444)
62+
* Removed deprecated QIBO interface (#262, #490)
63+
* Large "spring cleaning" of unused/commented out code (#424, #452)
64+
365
## [0.9.12.3] - 2024-06-11
466

567
### Added

Diff for: CONTRIBUTING.md

+16-17
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ Thanks for taking the time to contribute to pyGSTi! Open-source
44
projects like ours couldn't exist without contributors like you.
55

66
This document contains a set of guidelines for contributing to pyGSTi
7-
and related packages hosted under the [pyGSTio group][pygstio]. We ask
7+
and related packages hosted under the SandiaLabs organization. We ask
88
that contributors make an earnest effort to follow these guidelines,
99
but no one's keeping score here -- just use your best judgement, and
1010
by all means, feel free to propose changes to these guidelines in a
@@ -15,7 +15,10 @@ pull request.
1515
Found a bug in pyGSTi? We'd appreciate letting us know!
1616

1717
* First, **see if the bug has already been reported** by searching on
18-
Github under [Issues][issues].
18+
Github under [Issues][issues]. Make sure to check for issues that
19+
are closed but have the *fixed-but-not-in-release* tag also - these
20+
mean they are fixed in our `develop` branch, so you can try that to
21+
see if it fixes your issue.
1922

2023
* If you can't find an open issue about the problem,
2124
[open a new one][issues:bug]! Be sure to include a **title**, a
@@ -46,24 +49,20 @@ contributors working at Sandia.
4649

4750
#### For non-Sandians
4851

49-
Unfortunately, **we can't currently accept pull requests from
50-
contributors outside of SNL.** We're working on setting up a
51-
contributor license agreement, so, someday, this may change. If you're
52-
interested in making contributions please let us know by email at
53-
[[email protected]][email] so we can make a strong case to our lawyers for
54-
getting this done!
52+
If you're interested in making contributions please let us know by email at
53+
[[email protected]][email] so we can get you a Contributor License Agreement
54+
(CLA). This needs to be signed and through our system before you can contribute.
5555

5656
#### For Sandians
5757

58-
* **Contact the authors** at [[email protected]][email] to
59-
request an invite to the [pyGSTio group][pygstio].
58+
* **Join the SandiaLabs organization**.
6059

61-
* **Follow the guidelines** [on the project wiki][contributing].
60+
* **Contact the authors** at [[email protected]][email] to
61+
request an invite to the [repository][pygsti].
6262

63-
[contributing]: https://github.com/pyGSTio/pyGSTi/wiki/Contributing
6463
[email]: mailto:[email protected]
65-
[issues:bug]: https://github.com/pyGSTio/pyGSTi/issues/new?labels=bug&template=bug_report.md
66-
[issues:feature]: https://github.com/pyGSTio/pyGSTi/issues/new?labels=enhancement&template=feature_request.md
67-
[issues:new]: https://github.com/pyGSTio/pyGSTi/issues/new
68-
[issues]: https://github.com/pyGSTio/pyGSTi/issues
69-
[pygstio]: https://github.com/pyGSTio
64+
[issues:bug]: https://github.com/sandialabs/pyGSTi/issues/new?labels=bug&template=bug_report.md
65+
[issues:feature]: https://github.com/sandialabs/pyGSTi/issues/new?labels=enhancement&template=feature_request.md
66+
[issues:new]: https://github.com/sandialabs/pyGSTi/issues/new
67+
[issues]: https://github.com/sandialabs/pyGSTi/issues
68+
[pygsti]: https://github.com/sandialabs/pyGSTi

Diff for: MANIFEST.in

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
include README.md CONTRIBUTING.md LICENSE
2-
include pyproject.toml pyproject.toml.no_cython
2+
include pyproject.toml
33
include install_locally.py
44
include requirements.txt
55
include optional-requirements.txt

Diff for: NOTICE

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
Python GST Implementation (PyGSTi) v. 0.9
2-
Copyright 2015, 2019 National Technology & Engineering Solutions of Sandia, LLC (NTESS).
2+
Copyright 2015, 2019, 2025 National Technology & Engineering Solutions of Sandia, LLC (NTESS).
33

44
Under the terms of Contract DE-NA0003525 with NTESS, the U.S. Government retains certain rights in this software.

Diff for: README.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
********************************************************************************
2-
pyGSTi 0.9.12.1
2+
pyGSTi 0.9.13.1
33
********************************************************************************
44

55
![master build](https://github.com/pyGSTio/pyGSTi/workflows/Build%20and%20run%20tests/badge.svg?branch=master)
@@ -37,7 +37,7 @@ In particular, there are a number of characterization protocols currently implem
3737

3838
PyGSTi is designed with a modular structure so as to be highly customizable
3939
and easily integrated to new or existing python software. It runs using
40-
python 3.8 or higher. To faclilitate integration with software for running
40+
python 3.9 or higher. To faclilitate integration with software for running
4141
cloud-QIP experiments, pyGSTi `Circuit` objects can be converted to IBM's
4242
**OpenQASM** and Rigetti Quantum Computing's **Quil** circuit description languages.
4343

Diff for: doc/NOTICE.rst

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,6 @@ Copyright Notice
33
================
44

55
Python GST Implementation (PyGSTi) v. 0.9
6-
Copyright 2015, 2019 National Technology & Engineering Solutions of Sandia, LLC (NTESS).
6+
Copyright 2015, 2019, 2025 National Technology & Engineering Solutions of Sandia, LLC (NTESS).
77

88
Under the terms of Contract DE-NA0003525 with NTESS, the U.S. Government retains certain rights in this software.

0 commit comments

Comments
 (0)