-
Notifications
You must be signed in to change notification settings - Fork 68
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Improve token-specified login flow. #169
Improve token-specified login flow. #169
Conversation
Codecov Report
@@ Coverage Diff @@
## master #169 +/- ##
=========================================
Coverage 100.00% 100.00%
=========================================
Files 7 7
Lines 318 305 -13
=========================================
- Hits 318 305 -13
Continue to review full report at Codecov.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi @TannerRogalsky, thank you so much for this change! 🙂 🎉
It might be worth adding one more test case just to make sure that all cases are covered.
It looks that the IBMQ token used in the device test suite is not exposed when making a PR from a forked PR. We have a mechanism in place to skip tests in such cases, it required a small addition.
As a result, CodeCov will likely not pass because the related tests are being skipped (I'll create an issue related to this).
# There is already an active account: | ||
# If the token is the same, do nothing. | ||
# If the token is different, authenticate with the new account. | ||
if active_account["token"] != token: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It might be good to add a test case for this branch too.
We could add @TannerRogalsky we also have a new changelog after the release, don't forget to add an item in there and add yourself as a contributor. 🙂 |
…f github.com:TannerRogalsky/pennylane-qiskit into sc-12387-ibmq-improve-logic-around-pl-qiskit-s-token
@antalszava I think I've got everything that you requested. Let me know if it's not how you envisioned. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me! 🎉 Thank you for this addition @TannerRogalsky 🙂
Co-authored-by: antalszava <[email protected]>
Co-authored-by: antalszava <[email protected]>
Thank YOU for the suggestions and guidance! |
* Test that we can create multiple IBMQ devices using an environment token. * Improve token-specified login flow. * Fix formatting. * extend skipping logic * Test token login elision. * Temporarily restrict code coverage analysis. * Update changelog. * Fix formatting. * more no cover for the IBMQ device * Update tests/test_ibmq.py Co-authored-by: antalszava <[email protected]> * Update tests/test_ibmq.py Co-authored-by: antalszava <[email protected]> * Update test_ibmq.py Co-authored-by: Antal Szava <[email protected]>
* Small change. * Update header.html * Add native support for the SX gate (#158) * Add SX support * changelog * SX inverse tests * Define the `QiskitDevice.batch_execute` method (#156) * first draft * license * apply; compile in the method * statevector & batch generate samples * docstrings * tests * batch_params check & check call count for batch_execute * IBMQ check * docstrings * batch execution pipeline test for gradient computation * IBMQ grad test * state * no single tape case; re-add basis state prep to the test * name and docstring * renames * comment * docstrings, names * remove unnecessary reset * Update pennylane_qiskit/qiskit_device.py Co-authored-by: Romain <[email protected]> * Update pennylane_qiskit/qiskit_device.py Co-authored-by: Romain <[email protected]> Co-authored-by: Romain <[email protected]> * Update the batch execution tests to use the new QNode (#159) * batch execute call counter * get PennyLane master * comment * flaky * Update test_expval.py * more flaky Co-authored-by: Romain <[email protected]> * Change token for IBMQ tests (#161) * Small change. * Change token. * Add env. * Not device test. * Batch execute twice * Add job_time (#160) * commit * black * test * checking coverage * reset test * qasm_simulator * test * test * change * update * record * Romain changes * Update ibmq.py * final change * Update test_ibmq.py * Update CHANGELOG.md Co-authored-by: Romain <[email protected]> * Add the `qml.Identity` operation to PennyLane-Qiskit (#162) * Add the qml.Identity gate to the Qiskit plugin * Add Identity to converter test * Fix pylint:f-string in qiskit_device.py * Changelog & additional test * Update CHANGELOG.md Co-authored-by: Romain <[email protected]> * Fix `batch_execute` output type for QNodes with multiple outputs (#163) * asarray * check type * changelog * Update the tracker used with batch execution (#167) * tracker test * changelog * Update tests/test_integration.py Co-authored-by: Romain <[email protected]> Co-authored-by: Romain <[email protected]> * Update header.html * Python 3.10 (#170) * changelog & tests * changelog * Version bump (#168) * Version bump s Please enter the commit message for your changes. Lines starting * add pl version Co-authored-by: Josh Izaac <[email protected]> * v0.21.0-dev version bump (#172) * inc version * add flaky * Improve token-specified login flow. (#169) * Test that we can create multiple IBMQ devices using an environment token. * Improve token-specified login flow. * Fix formatting. * extend skipping logic * Test token login elision. * Temporarily restrict code coverage analysis. * Update changelog. * Fix formatting. * more no cover for the IBMQ device * Update tests/test_ibmq.py Co-authored-by: antalszava <[email protected]> * Update tests/test_ibmq.py Co-authored-by: antalszava <[email protected]> * Update test_ibmq.py Co-authored-by: Antal Szava <[email protected]> * Change IBMQ login (#175) * Small change. * Change test. * Test. * Update. * Change tests. * Fix bugs for the trainable arguments update (#177) * Small change. * Tests * Exchange. * Update. * Update. * Add circuit-runner, sampler and custom VQE programs from Qiskit-Runtime (#157) * Small change. * First commit * Working circuit runner. * Sampler * Sampler * VQE is working. * Headers. * Update for batches. * Update docstrigs. * CodeFactor. * Add tests for runtime. * Tests. * Test. * Test circuit runner. * Test Sampler. * Correct generate_samples * Add entry points. * More shots. * Add token arg. * Change import * Change Sampler sample. * Circuit runner kwargs test. * Shots kwargs * Change import. * Add kwargs Sampler test. * Import. * Impport again. * Import change * Add test tracker. * Update track tests. * Update tracker runtime. * Update tracker. * Update. * Codfactor changes. * Update. * Update codefactor * More codefactor. * Add callback * Update * Move vqe * Update. * Add test VQE. * Update. * delete * Update VQE test. * Add shots. * Update test * Update delete * Unused import. * More iteration. * m * Change tol. * More VQE tests. * Black * Update. * Update. * Update * Update pennylane_qiskit/vqe/__init__.py Co-authored-by: antalszava <[email protected]> * Update from review. * Update tests. * Typo. * Update from tests. * Runtime updated. * Runtime updated. * Update vqe * Update * Update from Antal review. * Update * Black. * More test. * Update parameters * Codefactor update. * Update. * Update. * Change order jac. * Typo. * Params. * Update tests. * ValueError. * print * Update. * Tol. * Update review. * Add doc. * Unused variable. * Update tests. * Update params. * Update review. * Readd mthree * Typo. * Path. * Black * Change path. * Update runtime_programs/vqe_runtime_program.py * Update doc/devices/runtime.rst Co-authored-by: antalszava <[email protected]> * Update review. * coverarc * coverarc omit + skip IBMQ and Runtime tests * Changelog Co-authored-by: antalszava <[email protected]> * Add and change some docstrings for a better quality (#174) * Small change. * First check. * Typo. * Add link. * Change. * Change. * Update pennylane_qiskit/qiskit_device.py * Update from review. * Typo * Update docstring transpiler. * Update. Co-authored-by: antalszava <[email protected]> * Changes. * Review * Review * Wrong changelog number Co-authored-by: Josh Izaac <[email protected]> Co-authored-by: antalszava <[email protected]> Co-authored-by: Guillermo Alonso-Linaje <[email protected]> Co-authored-by: David Ittah <[email protected]> Co-authored-by: Jay Soni <[email protected]> Co-authored-by: Tanner Rogalsky <[email protected]>
* changelog and bump version * Change callback function for Sicpy intermediate results (#187) * Small change. * Update header.html * Add native support for the SX gate (#158) * Add SX support * changelog * SX inverse tests * Define the `QiskitDevice.batch_execute` method (#156) * first draft * license * apply; compile in the method * statevector & batch generate samples * docstrings * tests * batch_params check & check call count for batch_execute * IBMQ check * docstrings * batch execution pipeline test for gradient computation * IBMQ grad test * state * no single tape case; re-add basis state prep to the test * name and docstring * renames * comment * docstrings, names * remove unnecessary reset * Update pennylane_qiskit/qiskit_device.py Co-authored-by: Romain <[email protected]> * Update pennylane_qiskit/qiskit_device.py Co-authored-by: Romain <[email protected]> Co-authored-by: Romain <[email protected]> * Update the batch execution tests to use the new QNode (#159) * batch execute call counter * get PennyLane master * comment * flaky * Update test_expval.py * more flaky Co-authored-by: Romain <[email protected]> * Change token for IBMQ tests (#161) * Small change. * Change token. * Add env. * Not device test. * Batch execute twice * Add job_time (#160) * commit * black * test * checking coverage * reset test * qasm_simulator * test * test * change * update * record * Romain changes * Update ibmq.py * final change * Update test_ibmq.py * Update CHANGELOG.md Co-authored-by: Romain <[email protected]> * Add the `qml.Identity` operation to PennyLane-Qiskit (#162) * Add the qml.Identity gate to the Qiskit plugin * Add Identity to converter test * Fix pylint:f-string in qiskit_device.py * Changelog & additional test * Update CHANGELOG.md Co-authored-by: Romain <[email protected]> * Fix `batch_execute` output type for QNodes with multiple outputs (#163) * asarray * check type * changelog * Update the tracker used with batch execution (#167) * tracker test * changelog * Update tests/test_integration.py Co-authored-by: Romain <[email protected]> Co-authored-by: Romain <[email protected]> * Update header.html * Python 3.10 (#170) * changelog & tests * changelog * Version bump (#168) * Version bump s Please enter the commit message for your changes. Lines starting * add pl version Co-authored-by: Josh Izaac <[email protected]> * v0.21.0-dev version bump (#172) * inc version * add flaky * Improve token-specified login flow. (#169) * Test that we can create multiple IBMQ devices using an environment token. * Improve token-specified login flow. * Fix formatting. * extend skipping logic * Test token login elision. * Temporarily restrict code coverage analysis. * Update changelog. * Fix formatting. * more no cover for the IBMQ device * Update tests/test_ibmq.py Co-authored-by: antalszava <[email protected]> * Update tests/test_ibmq.py Co-authored-by: antalszava <[email protected]> * Update test_ibmq.py Co-authored-by: Antal Szava <[email protected]> * Change IBMQ login (#175) * Small change. * Change test. * Test. * Update. * Change tests. * Fix bugs for the trainable arguments update (#177) * Small change. * Tests * Exchange. * Update. * Update. * Add circuit-runner, sampler and custom VQE programs from Qiskit-Runtime (#157) * Small change. * First commit * Working circuit runner. * Sampler * Sampler * VQE is working. * Headers. * Update for batches. * Update docstrigs. * CodeFactor. * Add tests for runtime. * Tests. * Test. * Test circuit runner. * Test Sampler. * Correct generate_samples * Add entry points. * More shots. * Add token arg. * Change import * Change Sampler sample. * Circuit runner kwargs test. * Shots kwargs * Change import. * Add kwargs Sampler test. * Import. * Impport again. * Import change * Add test tracker. * Update track tests. * Update tracker runtime. * Update tracker. * Update. * Codfactor changes. * Update. * Update codefactor * More codefactor. * Add callback * Update * Move vqe * Update. * Add test VQE. * Update. * delete * Update VQE test. * Add shots. * Update test * Update delete * Unused import. * More iteration. * m * Change tol. * More VQE tests. * Black * Update. * Update. * Update * Update pennylane_qiskit/vqe/__init__.py Co-authored-by: antalszava <[email protected]> * Update from review. * Update tests. * Typo. * Update from tests. * Runtime updated. * Runtime updated. * Update vqe * Update * Update from Antal review. * Update * Black. * More test. * Update parameters * Codefactor update. * Update. * Update. * Change order jac. * Typo. * Params. * Update tests. * ValueError. * print * Update. * Tol. * Update review. * Add doc. * Unused variable. * Update tests. * Update params. * Update review. * Readd mthree * Typo. * Path. * Black * Change path. * Update runtime_programs/vqe_runtime_program.py * Update doc/devices/runtime.rst Co-authored-by: antalszava <[email protected]> * Update review. * coverarc * coverarc omit + skip IBMQ and Runtime tests * Changelog Co-authored-by: antalszava <[email protected]> * Add and change some docstrings for a better quality (#174) * Small change. * First check. * Typo. * Add link. * Change. * Change. * Update pennylane_qiskit/qiskit_device.py * Update from review. * Typo * Update docstring transpiler. * Update. Co-authored-by: antalszava <[email protected]> * Changes. * Review * Review * Wrong changelog number Co-authored-by: Josh Izaac <[email protected]> Co-authored-by: antalszava <[email protected]> Co-authored-by: Guillermo Alonso-Linaje <[email protected]> Co-authored-by: David Ittah <[email protected]> Co-authored-by: Jay Soni <[email protected]> Co-authored-by: Tanner Rogalsky <[email protected]> * Update CHANGELOG.md Co-authored-by: Romain <[email protected]> Co-authored-by: Josh Izaac <[email protected]> Co-authored-by: Guillermo Alonso-Linaje <[email protected]> Co-authored-by: David Ittah <[email protected]> Co-authored-by: Jay Soni <[email protected]> Co-authored-by: Tanner Rogalsky <[email protected]>
Creating multiple
IBMQDevice
s with credentials initialized from an environment variable tried toenable_account
while an account already active. This PR fixes that while still allowing new environment tokens to specify new accounts to authenticate against.