Skip to content

Commit

Permalink
Remove experiment provider related methods (#337)
Browse files Browse the repository at this point in the history
* Remove experiment provider related methods

* Fix lint

Co-authored-by: Kevin Tian <kt474@cornell.edu>
  • Loading branch information
rathishcholarajan and kt474 committed Apr 26, 2022
1 parent 5860a9d commit 2b09c80
Show file tree
Hide file tree
Showing 2 changed files with 1 addition and 175 deletions.
72 changes: 0 additions & 72 deletions qiskit_ibm_provider/api/rest/analysis_result.py

This file was deleted.

104 changes: 1 addition & 103 deletions qiskit_ibm_provider/api/rest/root.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,10 @@
"""Root REST adapter."""

import logging
from typing import Dict, List, Any, Union, Optional
from typing import Dict, List, Any, Union
import json

from .base import RestAdapterBase
from .analysis_result import AnalysisResult

logger = logging.getLogger(__name__)

Expand All @@ -31,22 +30,8 @@ class Api(RestAdapterBase):
"hubs": "/Network",
"version": "/version",
"bookings": "/Network/bookings/v2",
"experiment_devices": "/devices",
"analysis_results": "/analysis_results",
"device_components": "/device_components",
}

def analysis_result(self, analysis_result_id: str) -> AnalysisResult:
"""Return an adapter for the analysis result.
Args:
analysis_result_id: UUID of the analysis result.
Returns:
The analysis result adapter.
"""
return AnalysisResult(self.session, analysis_result_id)

# Client functions.

def hubs(self) -> List[Dict[str, Any]]:
Expand Down Expand Up @@ -113,90 +98,3 @@ def reservations(self) -> List:
"""
url = self.get_url("bookings")
return self.session.get(url).json()

def analysis_results(
self,
limit: Optional[int],
marker: Optional[str],
backend_name: Optional[str] = None,
device_components: Optional[Union[str, List[str]]] = None,
experiment_uuid: Optional[str] = None,
result_type: Optional[str] = None,
quality: Optional[List[str]] = None,
verified: Optional[bool] = None,
tags: Optional[List[str]] = None,
created_at: Optional[List] = None,
sort_by: Optional[str] = None,
) -> str:
"""Return all analysis results.
Args:
limit: Number of analysis results to retrieve.
marker: Marker used to indicate where to start the next query.
backend_name: Name of the backend.
device_components: A list of device components used for filtering.
experiment_uuid: Experiment UUID used for filtering.
result_type: Analysis result type used for filtering.
quality: Quality value used for filtering.
verified: Indicates whether this result has been verified.
tags: Filter by tags assigned to analysis results.
created_at: A list of timestamps used to filter by creation time.
sort_by: Indicates how the output should be sorted.
Returns:
Server response.
"""
url = self.get_url("analysis_results")
params = {} # type: Dict[str, Any]
if backend_name:
params["device_name"] = backend_name
if device_components:
params["device_components"] = device_components
if experiment_uuid:
params["experiment_uuid"] = experiment_uuid
if quality:
params["quality"] = quality
if result_type:
params["type"] = result_type
if limit:
params["limit"] = limit
if marker:
params["marker"] = marker
if verified is not None:
params["verified"] = "true" if verified else "false"
if tags:
params["tags"] = tags
if created_at:
params["created_at"] = created_at
if sort_by:
params["sort"] = sort_by
return self.session.get(url, params=params).text

def analysis_result_upload(self, result: str) -> Dict:
"""Upload an analysis result.
Args:
result: The analysis result to upload.
Returns:
JSON response.
"""
url = self.get_url("analysis_results")
return self.session.post(
url, data=result, headers=self._HEADER_JSON_CONTENT
).json()

def device_components(self, backend_name: Optional[str] = None) -> Dict:
"""Return a list of device components for the backend.
Args:
backend_name: Name of the backend.
Returns:
JSON response.
"""
params = {}
if backend_name:
params["device_name"] = backend_name
url = self.get_url("device_components")
return self.session.get(url, params=params).json()

0 comments on commit 2b09c80

Please sign in to comment.