-
Notifications
You must be signed in to change notification settings - Fork 55
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'master' of https://github.com/sandialabs/pyGSTi into fe…
…ature-crosstalk-free-gst
- Loading branch information
Showing
380 changed files
with
26,990 additions
and
24,035 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,92 @@ | ||
## Global owners (default to pyGSTi maintainers) ## | ||
# These will also be owners for everything below | ||
# so they can approve minor PRs without adding | ||
# undue burden on volunteer code owners | ||
* @sandialabs/pygsti-maintainers @sandialabs/pygsti-gatekeepers | ||
|
||
|
||
## Drift analysis ## | ||
pygsti/protocols/stability.py @tjproct @sandialabs/pygsti-gatekeepers | ||
pygsti/report/section/drift.py @tjproct @sandialabs/pygsti-gatekeepers | ||
pygsti/report/templates/drift_html_report/ @tjproct @sandialabs/pygsti-gatekeepers | ||
|
||
## Forward simulators ## | ||
pygsti/forwardsims @rileyjmurray @sandialabs/pygsti-gatekeepers | ||
pygsti/forwardsims/termforwardsim* @adhumu @sandialabs/pygsti-gatekeepers | ||
|
||
## IBMQ interface ## | ||
pygsti/extras/devices @sandialabs/pygsti-ibmq @sandialabs/pygsti-gatekeepers | ||
pygsti/extras/ibmq @sandialabs/pygsti-ibmq @sandialabs/pygsti-gatekeepers | ||
|
||
## Interpygate ## | ||
pygsti/extras/interpygate/ @kevincyoung @sandialabs/pygsti-gatekeepers | ||
|
||
## Modelmembers ## | ||
pygsti/modelmembers/ @rileyjmurray @sandialabs/pygsti-gatekeepers | ||
pygsti/modelmembers/instruments/ @sandialabs/pygsti-mcm @sandialabs/pygsti-gatekeepers | ||
|
||
## Modelpack owners ## | ||
pygsti/modelpacks/ @kmrudin @sandialabs/pygsti-gatekeepers | ||
|
||
## Optimizer owners ## | ||
pygsti/objectivefns @rileyjmurray @sandialabs/pygsti-gatekeepers | ||
pygsti/optimize @rileyjmurray @sandialabs/pygsti-gatekeepers | ||
|
||
## RB owners ## | ||
pygsti/algorithms/compilers.py @sandialabs/pygsti-rb @sandialabs/pygsti-gatekeepers | ||
pygsti/algorithms/mirroring.py @sandialabs/pygsti-rb @sandialabs/pygsti-gatekeepers | ||
pygsti/algorithms/randomcircuit.py @sandialabs/pygsti-rb @sandialabs/pygsti-gatekeepers | ||
pygsti/algorithms/rbfit.py @sandialabs/pygsti-rb @sandialabs/pygsti-gatekeepers | ||
pygsti/protocols/rb.py @sandialabs/pygsti-rb @sandialabs/pygsti-gatekeepers | ||
pygsti/tools/rbtheory.py @sandialabs/pygsti-rb @sandialabs/pygsti-gatekeepers | ||
pygsti/tools/rbtools.py @sandialabs/pygsti-rb @sandialabs/pygsti-gatekeepers | ||
pygsti/tools/symplectic.py @sandialabs/pygsti-rb @sandialabs/pygsti-gatekeepers | ||
|
||
## RPE owners ## | ||
pygsti/extras/rpe @kmrudin @sandialabs/pygsti-gatekeepers | ||
pygsti/models/rpemodel.py @kmrudin @sandialabs/pygsti-gatekeepers | ||
pygsti/protocols/rpe.py @kmrudin @sandialabs/pygsti-gatekeepers | ||
|
||
## Reporting owners ## | ||
# Specifically just for workspace plots/tables | ||
pygsti/report/workspace*.py @pcwysoc @sandialabs/pygsti-gatekeepers | ||
|
||
|
||
|
||
## Tutorial owners ## | ||
# In addition to general tutorial owners, | ||
# we will also have specific tutorials be owned | ||
# by topics owners are responsible for above | ||
jupyter_notebooks/ @sandialabs/pygsti-tutorials @sandialabs/pygsti-gatekeepers | ||
jupyter_notebooks/**/*RB-*.ipynb @sandialabs/pygsti-rb @sandialabs/pygsti-gatekeepers | ||
jupyter_notebooks/Examples/1QGST-InterpolatedOps.ipynb @kevincyoung @sandialabs/pygsti-gatekeepers | ||
jupyter_notebooks/Tutorials/algorithms/DriftCharacterization.ipynb @tjproct @sandialabs/pygsti-gatekeepers | ||
jupyter_notebooks/Tutorials/algorithms/MirrorCircuitBenchmarks.ipynb @sandialabs/pygsti-rb @sandialabs/pygsti-gatekeepers | ||
jupyter_notebooks/Tutorials/algorithms/RobustPhaseEstimation.ipynb @kmrudin @sandialabs/pygsti-gatekeepers | ||
jupyter_notebooks/Tutorials/objects/advanced/IBMQExperiment.ipynb @sandialabs/pygsti-ibmq @sandialabs/pygsti-gatekeepers | ||
jupyter_notebooks/Tutorials/objects/advanced/Instruments.ipynb @sandialabs/pygsti-mcm @sandialabs/pygsti-gatekeepers | ||
jupyter_notebooks/Tutorials/objects/advanced/InterpolatedOperators.ipynb @kevincyoung @sandialabs/pygsti-gatekeepers | ||
jupyter_notebooks/Tutorials/objects/advanced/ModelPacks.ipynb @kmrudin @sandialabs/pygsti-gatekeepers | ||
jupyter_notebooks/Tutorials/reporting/ @pcwysoc @sandialabs/pygsti-gatekeepers | ||
|
||
## Test owners ## | ||
test/ @rileyjmurray @sandialabs/pygsti-gatekeepers | ||
test/test_packages/extras/test_drift.py @tjproct @sandialabs/pygsti-gatekeepers | ||
test/test_packages/extras/test_interpygate.py @kevincyoung @sandialabs/pygsti-gatekeepers | ||
test/test_packages/extras/test_rb.py @sandialabs/pygsti-rb @sandialabs/pygsti-gatekeepers | ||
test/test_packages/extras/test_rpe.py @kmrudin @sandialabs/pygsti-gatekeepers | ||
test/test_packages/extras/test_rpeobjects.py @kmrudin @sandialabs/pygsti-gatekeepers | ||
test/test_packages/objects/test_instruments.py @sandialabs/pygsti-mcm @sandialabs/pygsti-gatekeepers | ||
test/test_packages/report/ @pcwysoc @sandialabs/pygsti-gatekeepers | ||
test/test_packages/reportb/ @pcwysoc @sandialabs/pygsti-gatekeepers | ||
test/unit/algorithms/test_randomcircuit.py @sandialabs/pygsti-rb @sandialabs/pygsti-gatekeepers | ||
test/unit/extras/interpygate @kevincyoung @sandialabs/pygsti-gatekeepers | ||
test/unit/extras/rb/ @sandialabs/pygsti-rb @sandialabs/pygsti-gatekeepers | ||
test/unit/extras/rpe/ @kmrudin @sandialabs/pygsti-gatekeepers | ||
test/unit/modelpacks/ @kmrudin @sandialabs/pygsti-gatekeepers | ||
test/unit/objects/test_instrument.py @sandialabs/pygsti-mcm @sandialabs/pygsti-gatekeepers | ||
test/unit/protocols/test_rb.py @sandialabs/pygsti-rb @sandialabs/pygsti-gatekeepers | ||
test/unit/report/ @pcwysoc @sandialabs/pygsti-gatekeepers | ||
test/unit/tools/test_symplectic.py @sandialabs/pygsti-rb @sandialabs/pygsti-gatekeepers | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -4,43 +4,40 @@ | |
name: Deploy new version on pypi.org | ||
|
||
on: | ||
push: | ||
branches: [ "master" ] | ||
# Pattern matched against refs/tags | ||
tags: | ||
- 'v*' # Push events to every tag not containing '/' (use '**' for hierarchical tags) | ||
|
||
# Dont allow running manually from Actions tab -- use manualdeploy for this | ||
#workflow_dispatch: | ||
release: | ||
types: | ||
- published | ||
workflow_dispatch: | ||
|
||
jobs: | ||
build_wheels: | ||
name: Build wheels on ${{ matrix.os }} | ||
runs-on: ${{ matrix.os }} | ||
#if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v') # doesn't work -- try using tags: above | ||
|
||
strategy: | ||
matrix: | ||
os: [ubuntu-latest, macos-latest, windows-latest] | ||
os: [ubuntu-latest, macos-13, windows-latest] | ||
steps: | ||
- uses: actions/checkout@v2 | ||
- uses: actions/checkout@v4 | ||
with: | ||
fetch-depth: 0 # to fetch all branches and *tags* (needed to get version number correctly) | ||
|
||
- uses: actions/setup-python@v2 | ||
- uses: actions/setup-python@v5 | ||
name: Install Python | ||
with: | ||
python-version: '3.8' | ||
python-version: '3.10' | ||
|
||
- name: Build wheels | ||
uses: pypa/[email protected] | ||
env: | ||
CIBW_BUILD: cp37-* cp38-* cp39-* cp310-* | ||
CIBW_BUILD: cp38-* cp39-* cp310-* cp311-* | ||
CIBW_BUILD_VERBOSITY: 1 | ||
CIBW_BEFORE_ALL_LINUX: ./.github/ci-scripts/before_install.sh | ||
CIBW_BEFORE_ALL_MACOS: ./.github/ci-scripts/before_install_macos.sh | ||
|
||
- uses: actions/upload-artifact@v2 | ||
- uses: actions/upload-artifact@v4 | ||
with: | ||
name: cibw-wheels-${{ matrix.os }}-${{ strategy.job-index }} | ||
path: ./wheelhouse/*.whl | ||
|
||
build_sdist: | ||
|
@@ -49,38 +46,38 @@ jobs: | |
#if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v') # doesn't work -- try using tags: above | ||
|
||
steps: | ||
- uses: actions/checkout@v2 | ||
- uses: actions/checkout@v4 | ||
with: | ||
fetch-depth: 0 # to fetch all branches and *tags* (needed to get version number correctly) | ||
|
||
- uses: actions/setup-python@v2 | ||
- uses: actions/setup-python@v5 | ||
name: Install Python | ||
with: | ||
python-version: '3.8' | ||
python-version: '3.10' | ||
|
||
- name: Build sdist | ||
run: python setup.py sdist | ||
|
||
- uses: actions/upload-artifact@v2 | ||
- uses: actions/upload-artifact@v4 | ||
with: | ||
name: cibw-sdist | ||
path: dist/*.tar.gz | ||
|
||
upload_pypi: | ||
needs: [build_wheels, build_sdist] | ||
runs-on: ubuntu-latest | ||
# upload to PyPI on every tag starting with 'v' -- doesn't work -> try using tags: above | ||
#if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v') | ||
# alternatively, to publish when a GitHub Release is created, use the following rule: | ||
# if: github.event_name == 'release' && github.event.action == 'published' | ||
if: github.event_name == 'release' && github.event.action == 'published' | ||
permissions: | ||
# IMPORTANT: this permission is mandatory for trusted publishing | ||
id-token: write | ||
steps: | ||
- uses: actions/download-artifact@v2 | ||
- uses: actions/download-artifact@v4 | ||
with: | ||
name: artifact | ||
pattern: cibw-* | ||
path: dist | ||
merge-multiple: true | ||
|
||
- name: Publish package on PyPI | ||
uses: pypa/gh-action-pypi-publish@release/v1 | ||
with: | ||
user: __token__ | ||
password: ${{ secrets.PYPI_API_TOKEN }} | ||
verbose: true | ||
# With the use of OIDC, API tokens are no longer needed | ||
# See https://docs.pypi.org/trusted-publishers/using-a-publisher/ for more info |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
# This workflow runs a full test suite on beta and master | ||
# This includes all versions of supported Python, all OSes, and all test subsets | ||
|
||
name: Build and run tests (beta & master) | ||
|
||
on: | ||
push: | ||
branches: [ "beta", "master" ] | ||
workflow_dispatch: # Allow manual running from GitHub | ||
|
||
jobs: | ||
build: | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
os: [macos-13, ubuntu-latest, windows-latest] # TODO: Unpin mac version when cvxopt or Python 3.8 dropped | ||
python-version: [3.8, 3.9, '3.10', '3.11'] | ||
use-cython: ['true', 'false'] | ||
uses: ./.github/workflows/reuseable-main.yml | ||
name: Run pyGSTi tests | ||
with: | ||
os: ${{ matrix.os }} | ||
python-version: ${{ matrix.python-version }} | ||
use-cython: ${{ matrix.use-cython }} | ||
run-unit-tests: 'true' | ||
run-extra-tests: 'true' | ||
run-notebook-tests: 'false' # TODO: Turn off failing notebook tests for runner failures starting end of May 2024 | ||
|
||
|
||
|
||
|
||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,52 @@ | ||
# This workflow runs a moderate test suite on develop | ||
# This includes all versions of supported Python, no MacOS, only unit tests, | ||
# and only tests environments with Cython in them | ||
|
||
name: Build and run tests (develop) | ||
|
||
on: | ||
push: | ||
branches: [ "develop" ] | ||
workflow_dispatch: # Allow manual running from GitHub | ||
|
||
jobs: | ||
build: | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
os: [ubuntu-latest, windows-latest] # No Mac | ||
python-version: [3.8, 3.9, '3.10', '3.11'] | ||
use-cython: ['true', 'false'] | ||
uses: ./.github/workflows/reuseable-main.yml | ||
name: Run pyGSTi tests | ||
with: | ||
os: ${{ matrix.os }} | ||
python-version: ${{ matrix.python-version }} | ||
use-cython: 'true' # Cython only | ||
run-unit-tests: 'true' | ||
run-extra-tests: 'false' # No integration tests | ||
run-notebook-tests: 'false' # No notebook tests | ||
|
||
push: # Push to stable "beta" branch on successful build | ||
runs-on: ubuntu-latest | ||
|
||
# Only run on "develop" branch if tests pass | ||
needs: build | ||
if: github.ref == 'refs/heads/develop' && github.event_name == 'push' | ||
|
||
steps: | ||
- uses: actions/checkout@v4 | ||
with: | ||
fetch-depth: 0 | ||
token: ${{ secrets.PYGSTI_TOKEN }} | ||
- name: Merge changes to beta branch | ||
run: | | ||
git config --global user.name 'PyGSTi' | ||
git config --global user.email '[email protected]' | ||
git checkout beta | ||
git merge --ff-only ${GITHUB_SHA} && git push origin beta | ||
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
# This workflow runs a light test suite on all non-main branches | ||
# This includes only least/most supported Python version, no MacOS, only unit tests, | ||
# and only tests environments with Cython in them | ||
|
||
name: Build and run tests (feature branches) | ||
|
||
on: | ||
push: | ||
branches-ignore: [ "beta", "develop", "master" ] | ||
# Hacky way to only run pull requests from forked repositories (assumes : is not used in branch names unless forked) | ||
# https://github.community/t/how-to-trigger-an-action-on-push-or-pull-request-but-not-both/16662/10 | ||
pull_request: | ||
branches: [ "**:**" ] | ||
workflow_dispatch: # Allow manual running from GitHub | ||
|
||
jobs: | ||
build: | ||
strategy: | ||
# fail-fast: true is OK here | ||
matrix: | ||
os: [ubuntu-latest, windows-latest] # No Mac | ||
python-version: [3.8, '3.11'] # Only extremal Python versions | ||
uses: ./.github/workflows/reuseable-main.yml | ||
name: Run pyGSTi tests | ||
with: | ||
os: ${{ matrix.os }} | ||
python-version: ${{ matrix.python-version }} | ||
use-cython: 'true' # Only test environment with Cython | ||
run-unit-tests: 'true' | ||
run-extra-tests: 'false' # No integration tests | ||
run-notebook-tests: 'false' # No notebook tests | ||
|
||
|
||
|
||
|
||
|
||
|
Oops, something went wrong.