Skip to content

Commit

Permalink
CollectorClient returns the response as a dict
Browse files Browse the repository at this point in the history
  • Loading branch information
c0t0ber committed Mar 10, 2024
1 parent 045e48f commit ce6bd1e
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 8 deletions.
15 changes: 9 additions & 6 deletions src/evidently/collector/client.py
Original file line number Diff line number Diff line change
@@ -1,15 +1,18 @@
from typing import Any
from typing import Dict

import pandas as pd

from evidently.collector.config import CollectorConfig
from evidently.ui.utils import RemoteClientBase


class CollectorClient(RemoteClientBase):
def create_collector(self, id: str, collector: CollectorConfig):
self._request(f"/{id}", "POST", body=collector.dict())
def create_collector(self, id: str, collector: CollectorConfig) -> Dict[str, Any]:
return self._request(f"/{id}", "POST", body=collector.dict()).json()

def send_data(self, id: str, data: pd.DataFrame):
self._request(f"/{id}/data", "POST", body=data.to_dict())
def send_data(self, id: str, data: pd.DataFrame) -> Dict[str, Any]:
return self._request(f"/{id}/data", "POST", body=data.to_dict()).json()

def set_reference(self, id: str, reference: pd.DataFrame):
self._request(f"/{id}/reference", "POST", body=reference.to_dict())
def set_reference(self, id: str, reference: pd.DataFrame) -> Dict[str, Any]:
return self._request(f"/{id}/reference", "POST", body=reference.to_dict()).json()
9 changes: 7 additions & 2 deletions src/evidently/ui/utils.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
import json
import urllib.parse
from typing import Optional
from typing import Type
from typing import TypeVar
from typing import Union

import requests

Expand All @@ -9,6 +12,8 @@
from evidently.ui.storage.common import SECRET_HEADER_NAME
from evidently.utils import NumpyEncoder

T = TypeVar("T", bound=BaseModel)


class RemoteClientBase:
def __init__(self, base_url: str, secret: str = None):
Expand All @@ -21,8 +26,8 @@ def _request(
method: str,
query_params: Optional[dict] = None,
body: Optional[dict] = None,
response_model=None,
):
response_model: Optional[Type[T]] = None,
) -> Union[T, requests.Response]:
# todo: better encoding
headers = {SECRET_HEADER_NAME: self.secret}
data = None
Expand Down

0 comments on commit ce6bd1e

Please sign in to comment.