Skip to content

Commit 747917c

Browse files
authored
Merge pull request #57 from simvue-io/metadata
Support retrieval of runs using the `Client` class
2 parents 0e66a93 + 19c98c9 commit 747917c

File tree

3 files changed

+46
-1
lines changed

3 files changed

+46
-1
lines changed

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
# Change log
22

3+
## v0.10.0
4+
5+
* The `client` class can now be used to retrieve runs.
6+
37
## v0.9.1
48

59
* (Bug fix) Retries in POST/PUTs to REST APIs didn't happen.

simvue/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@
22
from simvue.client import Client
33
from simvue.handler import Handler
44
from simvue.models import RunInput
5-
__version__ = '0.9.1'
5+
__version__ = '0.10.0'

simvue/client.py

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,47 @@ def __init__(self):
3636
self._url, self._token = get_auth()
3737
self._headers = {"Authorization": f"Bearer {self._token}"}
3838

39+
def get_run(self, run, system=False, tags=False, metadata=False):
40+
"""
41+
Get a single run
42+
"""
43+
params = {'name': run,
44+
'filter': None,
45+
'system': system,
46+
'tags': tags,
47+
'metadata': metadata}
48+
49+
try:
50+
response = requests.get(f"{self._url}/api/runs", headers=self._headers, params=params)
51+
except requests.exceptions.RequestException:
52+
return None
53+
54+
if response.status_code == 200:
55+
return response.json()
56+
57+
return None
58+
59+
60+
def get_runs(self, filters, system=False, tags=False, metadata=False):
61+
"""
62+
Get runs
63+
"""
64+
params = {'name': None,
65+
'filters': ','.join(filters),
66+
'system': system,
67+
'tags': tags,
68+
'metadata': metadata}
69+
70+
try:
71+
response = requests.get(f"{self._url}/api/runs", headers=self._headers, params=params)
72+
except requests.exceptions.RequestException:
73+
return None
74+
75+
if response.status_code == 200:
76+
return response.json()
77+
78+
return None
79+
3980
def list_artifacts(self, run, category=None):
4081
"""
4182
List artifacts associated with a run

0 commit comments

Comments
 (0)