Skip to content
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

Replacing AWSBraketJob with AmazonBraketTask #105

Merged
merged 24 commits into from
Jun 14, 2023
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
1925c68
replacing AWSBraketJob with AmazonBraketTask
robotAstray Jun 8, 2023
0344ac0
run the notebooks containing AmazonBraketTask
robotAstray Jun 8, 2023
64c2456
deprecation warning added for AWSBraketJob class
robotAstray Jun 12, 2023
1e10283
formatting fixed
robotAstray Jun 12, 2023
9ba872a
re-add <JOB_ARN>
robotAstray Jun 12, 2023
abb7925
fix breaking changes on /provider/__init__.py and __init__.py
robotAstray Jun 12, 2023
c0450cc
rename job_id to task_id argument for AmazonBraketTask()
robotAstray Jun 12, 2023
ec061fd
rename braket_jobs_states to braket_tasks_states
robotAstray Jun 13, 2023
d4e6f0c
add task_id method to access the task_id similar to the one we have i…
robotAstray Jun 13, 2023
edaba8d
adding tests for new class 'AmazonBraketTask' and old class 'AWSBrake…
robotAstray Jun 13, 2023
abbd886
formatting test_braket_job.py
robotAstray Jun 13, 2023
2b47a25
correcting definition of AWSBraketJob
robotAstray Jun 13, 2023
5e05e45
rewriting line 184 in braket_job.py
robotAstray Jun 13, 2023
7352c30
adding class docstring to AWSBraketJob
robotAstray Jun 13, 2023
de911b9
standard import 'from warnings import warn' placed before 'from brak…
robotAstray Jun 13, 2023
f54b6f1
docstring fix in test_braket_job.py
robotAstray Jun 13, 2023
ee16a98
assert the job id in test_AWS_job() function in test_braket_job.py
robotAstray Jun 13, 2023
b75edb8
running how to notebook #0
robotAstray Jun 13, 2023
cc748ff
running how to notebook #1
robotAstray Jun 13, 2023
c67bf16
running how to notebook #2
robotAstray Jun 13, 2023
b8aa5c6
running how to notebook #3
robotAstray Jun 13, 2023
35f723f
running how to notebook number 5
robotAstray Jun 13, 2023
fc0617a
running tutorial notebook number 3
robotAstray Jun 13, 2023
8f4eee9
tutorial number 0
robotAstray Jun 13, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
128 changes: 64 additions & 64 deletions docs/how_tos/2_how_to_retrieve_results_from_backend.ipynb

Large diffs are not rendered by default.

357 changes: 208 additions & 149 deletions docs/tutorials/0_tutorial_qiskit-braket-provider_overview.ipynb

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion qiskit_braket_provider/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

from .providers import (
AWSBraketProvider,
AWSBraketJob,
robotAstray marked this conversation as resolved.
Show resolved Hide resolved
AmazonBraketTask,
AWSBraketBackend,
BraketLocalBackend,
)
4 changes: 2 additions & 2 deletions qiskit_braket_provider/providers/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,9 @@
AWSBraketBackend
BraketLocalBackend
AWSBraketProvider
AWSBraketJob
AmazonBraketTask
"""

from .braket_backend import AWSBraketBackend, BraketLocalBackend
from .braket_provider import AWSBraketProvider
from .braket_job import AWSBraketJob
robotAstray marked this conversation as resolved.
Show resolved Hide resolved
from .braket_job import AmazonBraketTask
12 changes: 6 additions & 6 deletions qiskit_braket_provider/providers/braket_backend.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
convert_qiskit_to_braket_circuits,
wrap_circuits_in_verbatim_box,
)
from .braket_job import AWSBraketJob
from .braket_job import AmazonBraketTask
from .. import version
from ..exception import QiskitBraketException

Expand Down Expand Up @@ -100,7 +100,7 @@ def control_channel(self, qubits: Iterable[int]):

def run(
self, run_input: Union[QuantumCircuit, List[QuantumCircuit]], **options
) -> AWSBraketJob:
) -> AmazonBraketTask:
convert_input = (
[run_input] if isinstance(run_input, QuantumCircuit) else list(run_input)
)
Expand All @@ -127,7 +127,7 @@ def run(

job_id = TASK_ID_DIVIDER.join(task.id for task in tasks)

return AWSBraketJob(
return AmazonBraketTask(
job_id=job_id,
tasks=tasks,
backend=self,
Expand Down Expand Up @@ -179,7 +179,7 @@ def __init__( # pylint: disable=too-many-arguments
self._device = device
self._target = aws_device_to_target(device=device)

def retrieve_job(self, job_id: str) -> AWSBraketJob:
def retrieve_job(self, job_id: str) -> AmazonBraketTask:
"""Return a single job submitted to AWS backend.

Args:
Expand All @@ -190,7 +190,7 @@ def retrieve_job(self, job_id: str) -> AWSBraketJob:
"""
task_ids = job_id.split(TASK_ID_DIVIDER)

return AWSBraketJob(
return AmazonBraketTask(
job_id=job_id,
backend=self,
tasks=[AwsQuantumTask(arn=task_id) for task_id in task_ids],
Expand Down Expand Up @@ -255,6 +255,6 @@ def run(self, run_input, **options):
tasks: List[AwsQuantumTask] = batch_task.tasks
job_id = TASK_ID_DIVIDER.join(task.id for task in tasks)

return AWSBraketJob(
return AmazonBraketTask(
job_id=job_id, tasks=tasks, backend=self, shots=options.get("shots")
)
22 changes: 19 additions & 3 deletions qiskit_braket_provider/providers/braket_job.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,10 @@
from qiskit.result import Result
from qiskit.result.models import ExperimentResult, ExperimentResultData
from retrying import retry
from warnings import warn



def retry_if_result_none(result):
"""Retry on result function."""
return result is None
Expand Down Expand Up @@ -77,8 +79,8 @@ def _get_result_from_aws_tasks(
return experiment_results


class AWSBraketJob(JobV1):
"""AWSBraketJob."""
class AmazonBraketTask(JobV1):
"""AmazonBraketTask."""

def __init__(
self,
Expand All @@ -87,7 +89,7 @@ def __init__(
tasks: Union[List[LocalQuantumTask], List[AwsQuantumTask]],
**metadata: Optional[dict]
):
"""AWSBraketJob for local execution of circuits.
"""AmazonBraketTask for local execution of circuits.

Args:
job_id: id of the job
robotAstray marked this conversation as resolved.
Show resolved Hide resolved
Expand Down Expand Up @@ -147,3 +149,17 @@ def status(self):
status = JobStatus.RUNNING

return status



class AWSBraketJob(AmazonBraketTask):

def __init_subclass__(cls, **kwargs):
"""This throws a deprecation warning on subclassing."""
warn(f'{cls.__name__} is deprecated.', DeprecationWarning, stacklevel=2)
super().__init_subclass__(**kwargs)

def __init__(self, *args, **kwargs):
robotAstray marked this conversation as resolved.
Show resolved Hide resolved
"""This throws a deprecation warning on initialization."""
warn(f'{self.__class__.__name__} is deprecated.', DeprecationWarning, stacklevel=2)
super().__init__(*args, **kwargs)
10 changes: 5 additions & 5 deletions tests/providers/test_braket_job.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,15 @@

from qiskit.providers import JobStatus

from qiskit_braket_provider.providers import AWSBraketJob, BraketLocalBackend
from qiskit_braket_provider.providers import AmazonBraketTask, BraketLocalBackend
from tests.providers.mocks import MOCK_LOCAL_QUANTUM_TASK


class TestAWSBraketJob(TestCase):
"""Tests AWSBraketJob."""
class TestAmazonBraketTask(TestCase):
"""Tests AmazonBraketTask."""

def _get_job(self):
return AWSBraketJob(
return AmazonBraketTask(
backend=BraketLocalBackend(name="default"),
job_id="AwesomeId",
tasks=[MOCK_LOCAL_QUANTUM_TASK],
Expand All @@ -23,7 +23,7 @@ def test_job(self):
"""Tests job."""
job = self._get_job()
robotAstray marked this conversation as resolved.
Show resolved Hide resolved

self.assertTrue(isinstance(job, AWSBraketJob))
self.assertTrue(isinstance(job, AmazonBraketTask))
self.assertEqual(job.shots, 10)

self.assertEqual(job.status(), JobStatus.DONE)
Expand Down