Skip to content

Commit 085188f

Browse files
accepted label code from develop, although I believe it is still causing issues for FOGI model construction
2 parents 482e86e + 91f4d79 commit 085188f

File tree

512 files changed

+21376
-12297
lines changed

Some content is hidden

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

512 files changed

+21376
-12297
lines changed

.flake8-critical

Lines changed: 14 additions & 11 deletions
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

.github/CODEOWNERS

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,6 @@ pygsti/algorithms/compilers.py @sandialabs/pygsti-rb @sandialabs/pygsti-gatekeep
3737
pygsti/algorithms/mirroring.py @sandialabs/pygsti-rb @sandialabs/pygsti-gatekeepers
3838
pygsti/algorithms/randomcircuit.py @sandialabs/pygsti-rb @sandialabs/pygsti-gatekeepers
3939
pygsti/algorithms/rbfit.py @sandialabs/pygsti-rb @sandialabs/pygsti-gatekeepers
40-
pygsti/extras/rb.py @sandialabs/pygsti-rb @sandialabs/pygsti-gatekeepers # Should this just be deprecated and removed?
4140
pygsti/protocols/rb.py @sandialabs/pygsti-rb @sandialabs/pygsti-gatekeepers
4241
pygsti/tools/rbtheory.py @sandialabs/pygsti-rb @sandialabs/pygsti-gatekeepers
4342
pygsti/tools/rbtools.py @sandialabs/pygsti-rb @sandialabs/pygsti-gatekeepers

.github/workflows/beta-master.yml

Lines changed: 2 additions & 2 deletions
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

.github/workflows/develop.yml

Lines changed: 1 addition & 1 deletion
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

.github/workflows/feature-branches.yml

Lines changed: 3 additions & 3 deletions
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

.github/workflows/reuseable-main.yml

Lines changed: 8 additions & 3 deletions
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:

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -145,3 +145,4 @@ scripts/profiling/data
145145
############################
146146
local
147147
pygsti/_version.py
148+
1_1.profile/0.prof

CHANGELOG

Lines changed: 62 additions & 0 deletions
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

CONTRIBUTING.md

Lines changed: 16 additions & 17 deletions
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-
[pygsti@sandia.gov][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+
[pygsti@sandia.gov][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 [pygsti@sandia.gov][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 [pygsti@sandia.gov][email] to
61+
request an invite to the [repository][pygsti].
6262

63-
[contributing]: https://github.com/pyGSTio/pyGSTi/wiki/Contributing
6463
[email]: mailto:pygsti@sandia.gov
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

MANIFEST.in

Lines changed: 1 addition & 1 deletion
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

NOTICE

Lines changed: 1 addition & 1 deletion
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.

README.md

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
11
********************************************************************************
2-
pyGSTi 0.9.12.1
2+
pyGSTi 0.9.13.1
33
********************************************************************************
44

5-
![master build](https://github.com/pyGSTio/pyGSTi/workflows/Build%20and%20run%20tests/badge.svg?branch=master)
6-
![develop build](https://github.com/pyGSTio/pyGSTi/workflows/Build%20and%20run%20tests/badge.svg?branch=develop)
7-
![beta build](https://github.com/pyGSTio/pyGSTi/workflows/Build%20and%20run%20test%20extras/badge.svg?branch=beta)
8-
![notebooks on beta](https://github.com/pyGSTio/pyGSTi/workflows/Build%20and%20run%20notebook%20regression/badge.svg?branch=beta)
5+
[![master build](https://img.shields.io/github/actions/workflow/status/sandialabs/pyGSTi/beta-master.yml?branch=master&label=master)](https://github.com/sandialabs/pyGSTi/actions/workflows/beta-master.yml)
6+
[![develop build](https://img.shields.io/github/actions/workflow/status/sandialabs/pyGSTi/develop.yml?branch=develop&label=develop)](https://github.com/sandialabs/pyGSTi/actions/workflows/develop.yml)
7+
[![beta build](https://img.shields.io/github/actions/workflow/status/sandialabs/pyGSTi/beta-master.yml?branch=beta&label=beta)](https://github.com/sandialabs/pyGSTi/actions/workflows/beta-master.yml)
98

109
pyGSTi
1110
------
@@ -37,7 +36,7 @@ In particular, there are a number of characterization protocols currently implem
3736

3837
PyGSTi is designed with a modular structure so as to be highly customizable
3938
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
39+
python 3.9 or higher. To faclilitate integration with software for running
4140
cloud-QIP experiments, pyGSTi `Circuit` objects can be converted to IBM's
4241
**OpenQASM** and Rigetti Quantum Computing's **Quil** circuit description languages.
4342

doc/NOTICE.rst

Lines changed: 1 addition & 1 deletion
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)