Skip to content

Commit

Permalink
Fast forward experimental-0.2 to latest main branch (#1348)
Browse files Browse the repository at this point in the history
* Migrate fake backends from `qiskit.providers.fake_provider` (#1140)

* Migrate fake provider

* fix lint

* Only migrate backends and fake_provider file to minimize duplication

* Add reno

* Update snippet to use runtime service

---------

Co-authored-by: Kevin Tian <[email protected]>

* Fix BYOB job results bytes typing issue  (#1220)

* try/except raw result truncation

* catch typeError

* revert try/except, use response.text

* update unit test

* Fix fake backends integration test (#1225)

* Clean up/fix integration test

* Update test case

* Fix black

* Added deprecation warning when using qiskitrc file (#1219)

* Added deprecation warning when using qiskitrc file

* Fixed bug whereby deprecation warnings cause failure for all 'qiskit*' modules. Changed warning to deprecation warning.

* Release note

* Small grammer fix

* black

---------

Co-authored-by: Kevin Tian <[email protected]>

* Update session.from_id() (#1163)

* update session.from_id()

* add deprecation warning

* add reno

* Prepare release 0.15.0 (#1226)

* Update main branch 0.16.0 (#1227)

* Revert `Session.from_id 0.15.0` changes   (#1229)

* Revert "Update session.from_id() (#1163)"

This reverts commit 8fa0472.

* add reno

* Prepare release 0.15.1 (#1230)

* Update main branch to 0.16.0 again (#1232)

* Remove all code related to custom programs (#1192)

* initial removal

* cleanup more files

* move result_decoder

* fix lint

* update unit tests

* update integration tests

* more docs changes

* release note

* fix path

---------

Co-authored-by: Jessie Yu <[email protected]>

* Make sessions thread safe (#1196)

* Make sessions thread safe.

The lock prevents other threads from sending new jobs to the service
only if the session hasnot been setup yet. I.e.: when sending the
first "session starter job", or root job. After this happens, the code
is left unlocked to allow threads to access the service concurrently.

Error handling is needed to ensure the lock is always released.

* Allow multiple sessions to execute simultaneously

* Make session test more deterministic

---------

Co-authored-by: Kevin Tian <[email protected]>
Co-authored-by: Jessie Yu <[email protected]>

* Instance & channel_strategy validation  (#1233)

* compare cloud instance with channel strategy

* fix unit tests

* error wording

---------

Co-authored-by: Jessie Yu <[email protected]>

* Prepare release 0.16.1 (#1239)

* release notes

* fix release

* update to 0.17 (#1240)

* Stop referring to qiskit.org in API docs (#1242)

* Add job.properties() method (#1252)

* Add job.properties() method

* add reno

* Remove non-API docs and translations (#1256)

This is the same as Qiskit/qiskit#11352. Now that qiskit.org/ecosystem/ibm-runtime redirects to docs.quantum.ibm.com, we can simplify the docs. 

See the PR description in Qiskit/qiskit#11352 for details on the motivation for each change. The only difference from Qiskit is that we still keep the tutorials around because learning.quantum.ibm.com uses them.

I used a script with `ripgrep` to confirm that none of the images were in use.

* Raise error if backend retrieved not in current instance  (#1249)

* Error if backend not in instance

* add reno

* update reno

* docs build

* fix docs again

* docs formatting :/

* add integration test

* Update test/integration/test_backend.py

Co-authored-by: merav-aharoni <[email protected]>

* Update test/integration/test_backend.py

Co-authored-by: merav-aharoni <[email protected]>

---------

Co-authored-by: merav-aharoni <[email protected]>

* Fix backend_converter `faulty_qubit` name error (#1257)

* fix backend_converter

* add reno

* Update Tutorial section names (#1241)

* The transpilation tutorial has been updated to use the new runtime transpilation passes, and Batch

* Fix style checker

* Updated names

* Updated section names for transpiled tutorial

* Updated grover

* Fixed consistency

* Final updates

---------

Co-authored-by: Kevin Tian <[email protected]>

* make test_backend_wrong_instance IQP only (#1258)

* Add pointer to qiskit/documentation issues (#1260)

* add pointer to qiskit/documentation issues

* Update .github/ISSUE_TEMPLATE/config.yml

Co-authored-by: Eric Arellano <[email protected]>

* Update CONTRIBUTING.md

Co-authored-by: Eric Arellano <[email protected]>

---------

Co-authored-by: Kevin Tian <[email protected]>
Co-authored-by: Eric Arellano <[email protected]>

* Update `test_backend_wrong_instance` (#1259)

* wip debug wrong instance test

* enable integration test

* use backend names instead of obj

* Don't block for the first job in a session (#1170)

* don't block if backend not selected

* add reno

* add test

* Add `activated_at` field to session.details() (#1266)

* add activated_at to session.details()

* add reno

* Revert "Don't block for the first job in a session (#1170)" (#1267)

* Revert "Don't block for the first job in a session (#1170)"

This reverts commit f2e24e4.

* keep test

* Prepare release 0.17.0 (#1268)

* update main branch 0.17.1 (#1269)

* Remove test_session_no_backend (#1272)

* Added RuntimeJob.queue_info() method (#1210)

* Added support for RuntimeJob.queueinfo

* Moved methods for consistency with main

* Changed backend_status to job.status

* lint

* update test

---------

Co-authored-by: Kevin Tian <[email protected]>

* Replace programs with primitives in api docs  (#1281)

* programs -> primitives

* address comment

* Deprecate service.runtime (#1278)

* Deprecate service.runtime

* add reno

* Removed support for qiskitrc file (#1121)

* Removed support for qiskitrc file

* lint

---------

Co-authored-by: Kevin Tian <[email protected]>

* Add max_time parameter to IBMBackend.open_session() (#1274)

* Added max_time to IBMBackend.open_session.

* Release note

* Changed format of test

* Migrate fake backend base classes (#1270)

Co-authored-by: Kevin Tian <[email protected]>

* Add Q-CTRL integration tests  (#1173)

* add initial qctrl test file

* add test & decorator

* add tests from Mirko

* Added assertness for preciseness of results

* remove print statements

* move into e2e folder

* setup ci

* Update q-ctrl-tests.yml

* add account test

* add more account tests

* Update test/qctrl/test_qctrl.py

Co-authored-by: Rathish Cholarajan <[email protected]>

* address comments

* update date to 2023

* Update test/qctrl/test_qctrl.py

Co-authored-by: Blake Johnson <[email protected]>

* Update test/qctrl/test_qctrl.py

Co-authored-by: Blake Johnson <[email protected]>

---------

Co-authored-by: merav-aharoni <[email protected]>
Co-authored-by: Rathish Cholarajan <[email protected]>
Co-authored-by: Blake Johnson <[email protected]>

* update grover tutorial equation (#1293)

* Add dynamic circuits backend filter (#1291)

* Add dynamic circuits backend filter

* add reno

* switch docs from mathjax to katex (#1301)

Updates the sphinx documentation build to use KaTeX instead of MathJax because the final docs build uses KaTeX. The same change was made in Qiskit in Qiskit/qiskit#11435.

* Remove qiskit.org links (#1302)

* Update session_id docstring (#1304)

* Update provider and qiskit versions (#1305)

* Exclude params on job retrieval by default (#1308)

* exclude params on job retrieval by default

* add reno

* add test

* Reactive the viewcode extension for docs (#1312)

We got source links working in API docs on docs.quantum.ibm.com! See Qiskit/documentation#620. To do this, we need to active `sphinx.ext.viewcode`.

Note that we still plan to improve this implementation in the future to have more precise links by using `sphinx.ext.linkcode`, tracked by Qiskit/documentation#517. This PR is to unblock the first iteration of this source links mechanism.

* Add config files to manifest (#1319)

* Fix pip environment resolution (#1329)

Calling `pip install` multiple times can (deeply unfortunately) allow an
environment to become out-of-sync; `pip` doesn't "remember" the
constraints of previous installation commands.

One of the largest effects here is that doing `pip install -e .`
_followed_ by `pip install git+<qiskit>@main` installs `qiskit-terra`
from the initial installation (via `qiskit==0.45.2`), then installs
`qiskit==1.0.0.dev0` from Git, which is an incompatible environment.
Doing the whole environment resolution in a single `pip install` command
fixes this, as the `qiskit` dependency is correctly resolved to be
_only_ the `1.0.0.dev0` version.

Co-authored-by: Kevin Tian <[email protected]>

* Use IBM-Provider-vendored pub/sub mechanism (#1328)

This is being removed from Qiskit 1.0, and the IBM Provider is (until
deprecated) taking over brokering the IBM-Runtime-internal events.

Co-authored-by: Kevin Tian <[email protected]>

* Add transpiler tests (#1323)

* Add transpiler tests

* remove qiskittestcase

* Prepare release 0.18.0 (#1335)

* Update main branch 0.18.1 (#1336)

* Turn off qiskit.org docs deploy (#1340)

* Remove `qiskit.test` (#1292)

* replace qiskit.test.ReferenceCircuits

* replace BaseQiskitTest

* Update qiskit_ibm_runtime/qiskit_runtime_service.py

Co-authored-by: Jessie Yu <[email protected]>

* Update qiskit_ibm_runtime/sampler.py

Co-authored-by: Jessie Yu <[email protected]>

* Update qiskit_ibm_runtime/session.py

Co-authored-by: Jessie Yu <[email protected]>

* Update test/utils.py

Co-authored-by: Jessie Yu <[email protected]>

---------

Co-authored-by: Jessie Yu <[email protected]>

* lint

---------

Co-authored-by: Elena Peña Tapia <[email protected]>
Co-authored-by: merav-aharoni <[email protected]>
Co-authored-by: Jessie Yu <[email protected]>
Co-authored-by: Salvador de la Puente González <[email protected]>
Co-authored-by: Eric Arellano <[email protected]>
Co-authored-by: Sanket Panda <[email protected]>
Co-authored-by: abbycross <[email protected]>
Co-authored-by: Rathish Cholarajan <[email protected]>
Co-authored-by: Blake Johnson <[email protected]>
Co-authored-by: Kevin J. Sung <[email protected]>
Co-authored-by: Jake Lishman <[email protected]>
  • Loading branch information
12 people authored Jan 31, 2024
1 parent 4214f4f commit 1bae150
Show file tree
Hide file tree
Showing 206 changed files with 5,283 additions and 9,133 deletions.
5 changes: 5 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
blank_issues_enabled: true
contact_links:
- name: Non-API docs issues
url: https://github.com/Qiskit/documentation/issues/new/choose
about: Open an issue about documentation in the Start, Build, Transpile, Verify, Run, or Migration guides sections of docs.quantum.ibm.com (non-API documentation)
9 changes: 3 additions & 6 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,7 @@ jobs:
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -e .
pip install -c constraints.txt -r requirements-dev.txt
pip install -c constraints.txt -r requirements-dev.txt -e .
- name: Run black
run: make style
- name: Run lint
Expand Down Expand Up @@ -99,8 +98,7 @@ jobs:
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -e .
pip install -c constraints.txt -r requirements-dev.txt
pip install -c constraints.txt -r requirements-dev.txt -e .
- name: Run unit tests
run: make unit-test-coverage
- name: Report coverage to coveralls.io
Expand Down Expand Up @@ -142,8 +140,7 @@ jobs:
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -e .
pip install -c constraints.txt -r requirements-dev.txt
pip install -c constraints.txt -r requirements-dev.txt -e .
- name: Run integration tests
run: make integration-test
tests-finished:
Expand Down
36 changes: 7 additions & 29 deletions .github/workflows/docs.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
name: Docs Publish
name: Docs Upload
on:
push:
tags:
Expand All @@ -22,32 +22,10 @@ jobs:
python -m pip install --upgrade pip
pip install -U virtualenv setuptools wheel tox
sudo apt-get install -y graphviz pandoc
- name: Build and publish
env:
encrypted_rclone_key: ${{ secrets.encrypted_rclone_key }}
encrypted_rclone_iv: ${{ secrets.encrypted_rclone_iv }}
run: |
tools/deploy_documentation.sh
deploy-translatable-strings:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Set up Python
uses: actions/setup-python@v2
- name: Build docs
run: tox -e docs
- name: Upload artifact
uses: actions/upload-artifact@v2
with:
python-version: '3.9.12'
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install jupyter sphinx_rtd_theme qiskit-terra[visualization] 'torchvision<0.10.0' tox
sudo apt-get install -y graphviz pandoc
- name: Build and publish
env:
encrypted_deploy_po_branch_key: ${{ secrets.encrypted_deploy_po_branch_key }}
encrypted_deploy_po_branch_iv: ${{ secrets.encrypted_deploy_po_branch_iv }}
QISKIT_PARALLEL: False
QISKIT_DOCS_BUILD_TUTORIALS: 'always'
run: |
tools/deploy_translatable_strings.sh
name: html_docs
path: docs/_build/html
5 changes: 2 additions & 3 deletions .github/workflows/e2e-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,6 @@ jobs:
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -e .
pip install -c constraints.txt -r requirements-dev.txt
pip install -c constraints.txt -r requirements-dev.txt -e .
- name: Run e2e tests
run: make e2e-test
run: make e2e-test
3 changes: 1 addition & 2 deletions .github/workflows/integration-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,6 @@ jobs:
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -e .
pip install -c constraints.txt -r requirements-dev.txt
pip install -c constraints.txt -r requirements-dev.txt -e .
- name: Run integration tests
run: make integration-test
52 changes: 52 additions & 0 deletions .github/workflows/q-ctrl-tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
# This code is part of Qiskit.
#
# (C) Copyright IBM 2023.
#
# This code is licensed under the Apache License, Version 2.0. You may
# obtain a copy of this license in the LICENSE.txt file in the root directory
# of this source tree or at http://www.apache.org/licenses/LICENSE-2.0.
#
# Any modifications or derivative works of this code must retain this
# copyright notice, and modified files need to carry a notice indicating
# that they have been altered from the originals.

name: Q-CTRL Tests
on:
push:
tags:
- "*"
workflow_dispatch:
jobs:
integration-tests:
name: Run integration tests - ${{ matrix.environment }}
runs-on: ${{ matrix.os }}
strategy:
# avoid cancellation of in-progress jobs if any matrix job fails
fail-fast: false
matrix:
python-version: [ 3.9 ]
os: [ "ubuntu-latest" ]
environment: [ "ibm-cloud-staging" ]
environment: ${{ matrix.environment }}
env:
QISKIT_IBM_TOKEN: ${{ secrets.QISKIT_IBM_TOKEN_QCTRL }}
QISKIT_IBM_URL: ${{ secrets.QISKIT_IBM_URL }}
QISKIT_IBM_INSTANCE: ${{ secrets.QISKIT_IBM_INSTANCE_QCTRL }}
CHANNEL_STRATEGY: q-ctrl
LOG_LEVEL: DEBUG
STREAM_LOG: True
QISKIT_IN_PARALLEL: True
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -c constraints.txt -r requirements-dev.txt -e .
- name: Run q-ctrl tests
run: python -m unittest test/qctrl/test_qctrl.py
10 changes: 5 additions & 5 deletions .github/workflows/unit-tests-terra-main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ on:
jobs:
unit-tests-latest-qiskit-terra:
if: github.repository_owner == 'Qiskit'
name: Run unit tests with latest code of qiskit-terra
name: Run unit tests with latest code of Qiskit
runs-on: "ubuntu-latest"
env:
LOG_LEVEL: DEBUG
Expand All @@ -35,10 +35,10 @@ jobs:
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -e .
pip install -c constraints.txt -r requirements-dev.txt
pip install -U git+https://github.com/Qiskit/qiskit-terra.git
# Installing the complete environment should happen in one `pip install` step,
# or pip will generally allow broken combinations of packages to be installed.
pip install -c constraints.txt -r requirements-dev.txt -e . git+https://github.com/Qiskit/qiskit.git
- name: Run tests
# running unit tests against latest (non-released) code of qiskit-terra gives a basic level
# of confidence that the integration between qiskit-ibm-runtime and qiskit-terra works
run: make unit-test
run: make unit-test
6 changes: 5 additions & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ Contributing
First read the overall project contributing guidelines. These are all
included in the qiskit documentation:

https://qiskit.org/documentation/contributing_to_qiskit.html
https://github.com/Qiskit/qiskit/blob/main/CONTRIBUTING.md


## Contributing to qiskit-ibm-runtime
Expand All @@ -13,6 +13,10 @@ https://qiskit.org/documentation/contributing_to_qiskit.html
In addition to the general guidelines there are specific details for
contributing to qiskit-ibm-runtime, these are documented below.

### Open an issue

* For documentation issues relating to pages in the Start, Build, Transpile, Verify, Run, and Migration guides sections of https://docs.quantum.ibm.com, please open an issue in the [Qiskit/documentation repo](https://github.com/Qiskit/documentation/issues/new/choose) rather than the Qiskit/qiskit-ibm-runtime repo. In other words, any page that DOES NOT have `/api/` in the url should be addressed in the Qiskit/documentation repo. (Exception: the Migration guide urls contain `/api/` but are managed in the Qiskit/documentation repo.)
* For issues relating to API reference pages (any page that contains /api/ in the url), please open an issue in the repo specific to that API reference.

### Pull request checklist

Expand Down
1 change: 1 addition & 0 deletions MANIFEST.in
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
include LICENSE.txt README.md
include qiskit_ibm_runtime/VERSION.txt
recursive-include qiskit_ibm_runtime/fake_provider/backends *.json
recursive-include test *.py
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,7 @@ All quantum applications and algorithms level are fundamentally built using thre
2. Define the observable or the classical register to be measured.
4. Execute the quantum circuits by using a primitive (Estimator or Sampler).

**Primitives** are base-level functions that serve as building blocks for many quantum algorithms and applications. The [primitive interfaces](https://qiskit.org/documentation/apidoc/primitives.html) are defined in Qiskit.
**Primitives** are base-level functions that serve as building blocks for many quantum algorithms and applications. The [primitive interfaces](https://docs.quantum.ibm.com/api/qiskit/primitives) are defined in Qiskit.

The IBM Runtime service offers these primitives with additional features, such as built-in error suppression and mitigation.

Expand Down Expand Up @@ -319,7 +319,7 @@ By participating, you are expected to uphold to this code.

We use [GitHub issues] for tracking requests and bugs. Please use our [slack]
for discussion and simple questions. To join our Slack community use the
invite link at [Qiskit.org]. For questions that are more suited for a forum we
invite link at [ibm.com/quantum/qiskit]. For questions that are more suited for a forum we
use the `Qiskit` tag in [Stack Exchange].

## License
Expand All @@ -334,7 +334,7 @@ use the `Qiskit` tag in [Stack Exchange].
[code of conduct]: https://github.com/Qiskit/qiskit-ibm-runtime/blob/main/CODE_OF_CONDUCT.md
[GitHub issues]: https://github.com/Qiskit/qiskit-ibm-runtime/issues
[slack]: https://qiskit.slack.com
[Qiskit.org]: https://qiskit.org
[ibm.com/quantum/qiskit]: https://www.ibm.com/quantum/qiskit
[Stack Exchange]: https://quantumcomputing.stackexchange.com/questions/tagged/qiskit
[many people]: https://github.com/Qiskit/qiskit-ibm-runtime/graphs/contributors
[BibTeX file]: https://github.com/Qiskit/qiskit/blob/master/Qiskit.bib
Expand Down
26 changes: 0 additions & 26 deletions docs/_templates/theme_variables.jinja

This file was deleted.

15 changes: 0 additions & 15 deletions docs/cloud/architecture-workload-isolation.rst

This file was deleted.

38 changes: 0 additions & 38 deletions docs/cloud/at-events.rst

This file was deleted.

Loading

0 comments on commit 1bae150

Please sign in to comment.