-
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 'feature-Propagatable-ErrorGens' of https://github.com/p…
…yGSTio/pyGSTi into feature-Propagatable-ErrorGens
- Loading branch information
Showing
146 changed files
with
15,462 additions
and
5,778 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 |
---|---|---|
@@ -1,5 +1,93 @@ | ||
# This is a comment. | ||
# Each line is a file pattern followed by one or more owners. | ||
## 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/extras/rb.py @sandialabs/pygsti-rb @sandialabs/pygsti-gatekeepers # Should this just be deprecated and removed? | ||
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 | ||
|
||
|
||
# Global owners | ||
* @sserita @coreyostrove @rileyjmurray |
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
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
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,61 @@ | ||
# This workflow will install Python dependencies, run tests and lint with a variety of Python versions | ||
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions | ||
|
||
name: Build and run tests (MacOS only, all Python versions) | ||
|
||
on: | ||
push: | ||
# Mac runners are expensive and oversubscribed. Only run on beta and master | ||
branches: [ "beta", "master" ] | ||
# Allow running manually from Actions tab | ||
workflow_dispatch: | ||
|
||
env: | ||
SKIP_DEAP: 1 | ||
|
||
jobs: | ||
build: # Main build + unit test check | ||
|
||
runs-on: ${{ matrix.os }} | ||
strategy: | ||
matrix: | ||
os: [macos-latest] | ||
python-version: [3.8, 3.9, '3.10', '3.11'] | ||
|
||
steps: | ||
- uses: actions/checkout@v4 | ||
- name: Set up installation environment (MacOS) | ||
run: | | ||
./.github/ci-scripts/before_install_macos.sh | ||
- name: Set up Python ${{ matrix.python-version }} | ||
uses: actions/setup-python@v5 | ||
with: | ||
python-version: ${{ matrix.python-version }} | ||
- name: Cache pip packages | ||
uses: actions/cache@v4 | ||
with: | ||
path: ~/.cache/pip | ||
key: ${{ runner.os }}-pip-${{ hashFiles('setup.py') }}-${{ hashFiles('**/*requirements.txt') }} | ||
- name: Install package | ||
run: | | ||
python -m pip install --upgrade pip | ||
python -m pip install wheel | ||
python -m pip install flake8 | ||
python -m pip install -e .[testing] | ||
python setup.py build_ext --inplace | ||
# python -m pip freeze # this isn't relevant anymore since pip install builds a wheel separately | ||
- name: Lint with flake8 | ||
run: | | ||
# Critical errors, exit on failure | ||
flake8 . --count --show-source --statistics --config=.flake8-critical | ||
# Standard PEP8, allowed to fail since exit-zero treats all errors as warnings | ||
flake8 . --exit-zero --statistics | ||
- name: Run unit tests MacOS | ||
if: ${{matrix.os == 'macos-latest'}} | ||
run: | | ||
python -Ic "import pygsti; print(pygsti.__version__); print(pygsti.__path__)" | ||
python -m pytest -n auto --dist loadscope --cov=pygsti test/unit | ||
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,72 @@ | ||
# This workflow will install Python dependencies, run tests and lint with a variety of Python versions | ||
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions | ||
|
||
name: Build and run tests (no MacOS, low/high Python versions only) | ||
|
||
on: | ||
push: | ||
# Intended to be fast checks on non-main branches | ||
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: [ "**:**" ] | ||
# Allow running manually from Actions tab | ||
workflow_dispatch: | ||
|
||
env: | ||
SKIP_DEAP: 1 | ||
|
||
jobs: | ||
build: # Main build + unit test check | ||
|
||
runs-on: ${{ matrix.os }} | ||
strategy: | ||
matrix: | ||
os: [ubuntu-latest, windows-latest] | ||
python-version: [3.8,'3.11'] | ||
|
||
steps: | ||
- uses: actions/checkout@v4 | ||
- name: Set up installation environment (Ubuntu or Windows) | ||
if: ${{matrix.os == 'ubuntu-latest' || matrix.os == 'windows-latest'}} | ||
run: | | ||
./.github/ci-scripts/before_install.sh | ||
- name: Set up Python ${{ matrix.python-version }} | ||
uses: actions/setup-python@v5 | ||
with: | ||
python-version: ${{ matrix.python-version }} | ||
- name: Cache pip packages | ||
uses: actions/cache@v4 | ||
with: | ||
path: ~/.cache/pip | ||
key: ${{ runner.os }}-pip-${{ hashFiles('setup.py') }}-${{ hashFiles('**/*requirements.txt') }} | ||
- name: Install package | ||
run: | | ||
python -m pip install --upgrade pip | ||
python -m pip install wheel | ||
python -m pip install flake8 | ||
python -m pip install -e .[testing] | ||
python setup.py build_ext --inplace | ||
# python -m pip freeze # this isn't relevant anymore since pip install builds a wheel separately | ||
- name: Lint with flake8 | ||
if: ${{matrix.os != 'windows-latest'}} | ||
run: | | ||
# Critical errors, exit on failure | ||
flake8 . --count --show-source --statistics --config=.flake8-critical | ||
# Standard PEP8, allowed to fail since exit-zero treats all errors as warnings | ||
flake8 . --exit-zero --statistics | ||
- name: Run unit tests ubuntu | ||
if: ${{matrix.os == 'ubuntu-latest'}} | ||
run: | | ||
python -Ic "import pygsti; print(pygsti.__version__); print(pygsti.__path__)" | ||
python -m pytest -n auto --dist loadscope --cov=pygsti test/unit | ||
- name: Run unit tests windows | ||
if: ${{matrix.os == 'windows-latest'}} | ||
run: | | ||
python -Ic "import pygsti; print(pygsti.__version__); print(pygsti.__path__)" | ||
python -m pytest -n auto --dist loadscope --cov=pygsti test/unit | ||
Oops, something went wrong.