ciocore 9.0.0b2__py2.py3-none-any.whl → 9.1.0__py2.py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of ciocore might be problematic. Click here for more details.
- ciocore/VERSION +1 -1
- ciocore/api_client.py +7 -4
- ciocore/data.py +4 -2
- ciocore/docsite/apidoc/api_client/index.html +14 -4
- ciocore/docsite/apidoc/data/index.html +11 -3
- ciocore/docsite/search/search_index.json +1 -1
- ciocore/docsite/sitemap.xml.gz +0 -0
- {ciocore-9.0.0b2.dist-info → ciocore-9.1.0.dist-info}/METADATA +12 -7
- {ciocore-9.0.0b2.dist-info → ciocore-9.1.0.dist-info}/RECORD +14 -16
- tests/test_config.py +15 -4
- tests/test_data.py +167 -154
- tests/extra_env_fixtures.py +0 -57
- tests/project_fixtures.py +0 -8
- {ciocore-9.0.0b2.dist-info → ciocore-9.1.0.dist-info}/WHEEL +0 -0
- {ciocore-9.0.0b2.dist-info → ciocore-9.1.0.dist-info}/entry_points.txt +0 -0
- {ciocore-9.0.0b2.dist-info → ciocore-9.1.0.dist-info}/top_level.txt +0 -0
ciocore/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
9.
|
|
1
|
+
9.1.0
|
ciocore/api_client.py
CHANGED
|
@@ -489,23 +489,26 @@ def account_name_from_jwt(token):
|
|
|
489
489
|
return None
|
|
490
490
|
|
|
491
491
|
|
|
492
|
-
def request_instance_types(as_dict=False):
|
|
492
|
+
def request_instance_types(as_dict=False, filter_param=""):
|
|
493
493
|
"""
|
|
494
494
|
Get the list of available instances types.
|
|
495
495
|
|
|
496
496
|
Args:
|
|
497
497
|
as_dict (bool): Whether or not to return the instance types as a dictionary.
|
|
498
|
+
filter_param (string): complex RHS string query ex:
|
|
499
|
+
"cpu=gte:8:int,operating_system=ne:windows,gpu.gpu_count=eq:1:int"
|
|
498
500
|
|
|
499
501
|
Returns:
|
|
500
502
|
list: The list of instance types.
|
|
501
503
|
"""
|
|
502
504
|
api = ApiClient()
|
|
503
505
|
response, response_code = api.make_request(
|
|
504
|
-
"api/v1/instance-types", use_api_key=True, raise_on_error=False
|
|
506
|
+
"api/v1/instance-types", use_api_key=True, raise_on_error=False,
|
|
507
|
+
params={"filter":filter_param}
|
|
505
508
|
)
|
|
506
509
|
if response_code not in (200,):
|
|
507
510
|
msg = "Failed to get instance types"
|
|
508
|
-
msg += "\
|
|
511
|
+
msg += "\nAPI responded with status code %s\n" % (response_code)
|
|
509
512
|
raise Exception(msg)
|
|
510
513
|
|
|
511
514
|
instance_types = json.loads(response).get("data", [])
|
|
@@ -555,7 +558,7 @@ def request_projects(statuses=("active",)):
|
|
|
555
558
|
def request_software_packages():
|
|
556
559
|
"""
|
|
557
560
|
Query Conductor for all software packages for the currently available sidecar.
|
|
558
|
-
|
|
561
|
+
|
|
559
562
|
Returns:
|
|
560
563
|
list: The list of software packages.
|
|
561
564
|
"""
|
ciocore/data.py
CHANGED
|
@@ -51,12 +51,14 @@ def init(*products, **kwargs):
|
|
|
51
51
|
|
|
52
52
|
__platforms__ = set(kwargs.get("platforms", ["windows", "linux"]))
|
|
53
53
|
|
|
54
|
-
def data(force=False):
|
|
54
|
+
def data(force=False, instances_filter=""):
|
|
55
55
|
"""
|
|
56
56
|
Provide projects, instance types, and software package data.
|
|
57
57
|
|
|
58
58
|
Keyword Args:
|
|
59
59
|
force: (bool) If `True`, then force the system to fetch fresh data -- Defaults to `False`.
|
|
60
|
+
instances_filter: (str) complex RHS string query ex:
|
|
61
|
+
"cpu=gte:8:int,operating_system=ne:windows,gpu.gpu_count=eq:1:int"
|
|
60
62
|
|
|
61
63
|
Raises:
|
|
62
64
|
ValueError: Module was not initialized with [init()](/data/#ciocore.data.init).
|
|
@@ -118,7 +120,7 @@ def data(force=False):
|
|
|
118
120
|
# PROJECTS
|
|
119
121
|
__data__["projects"] = sorted(api_client.request_projects())
|
|
120
122
|
# INST_TYPES
|
|
121
|
-
instance_types = api_client.request_instance_types()
|
|
123
|
+
instance_types = api_client.request_instance_types(filter_param=instances_filter)
|
|
122
124
|
# SOFTWARE
|
|
123
125
|
software = api_client.request_software_packages()
|
|
124
126
|
|
|
@@ -2394,7 +2394,7 @@ prompt the user to log in. </p>
|
|
|
2394
2394
|
|
|
2395
2395
|
|
|
2396
2396
|
<h2 id="ciocore.api_client.request_instance_types" class="doc doc-heading">
|
|
2397
|
-
<code class="highlight language-python"><span class="n">request_instance_types</span><span class="p">(</span><span class="n">as_dict</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span></code>
|
|
2397
|
+
<code class="highlight language-python"><span class="n">request_instance_types</span><span class="p">(</span><span class="n">as_dict</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">filter_param</span><span class="o">=</span><span class="s1">''</span><span class="p">)</span></code>
|
|
2398
2398
|
|
|
2399
2399
|
|
|
2400
2400
|
</h2>
|
|
@@ -2420,6 +2420,13 @@ prompt the user to log in. </p>
|
|
|
2420
2420
|
<td><p>Whether or not to return the instance types as a dictionary.</p></td>
|
|
2421
2421
|
<td><code>False</code></td>
|
|
2422
2422
|
</tr>
|
|
2423
|
+
<tr>
|
|
2424
|
+
<td><code>filter_param</code></td>
|
|
2425
|
+
<td><code>string</code></td>
|
|
2426
|
+
<td><p>complex RHS string query ex:
|
|
2427
|
+
"cpu=gte:8:int,operating_system=ne:windows,gpu.gpu_count=eq:1:int"</p></td>
|
|
2428
|
+
<td><code>''</code></td>
|
|
2429
|
+
</tr>
|
|
2423
2430
|
</tbody>
|
|
2424
2431
|
</table>
|
|
2425
2432
|
<p><strong>Returns:</strong></p>
|
|
@@ -2439,23 +2446,26 @@ prompt the user to log in. </p>
|
|
|
2439
2446
|
</table>
|
|
2440
2447
|
<details class="quote">
|
|
2441
2448
|
<summary>Source code in <code>ciocore/api_client.py</code></summary>
|
|
2442
|
-
<div class="highlight"><pre><span></span><code><span class="k">def</span> <span class="nf">request_instance_types</span><span class="p">(</span><span class="n">as_dict</span><span class="o">=</span><span class="kc">False</span><span class="p">):</span>
|
|
2449
|
+
<div class="highlight"><pre><span></span><code><span class="k">def</span> <span class="nf">request_instance_types</span><span class="p">(</span><span class="n">as_dict</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">filter_param</span><span class="o">=</span><span class="s2">""</span><span class="p">):</span>
|
|
2443
2450
|
<span class="w"> </span><span class="sd">"""</span>
|
|
2444
2451
|
<span class="sd"> Get the list of available instances types.</span>
|
|
2445
2452
|
|
|
2446
2453
|
<span class="sd"> Args:</span>
|
|
2447
2454
|
<span class="sd"> as_dict (bool): Whether or not to return the instance types as a dictionary.</span>
|
|
2455
|
+
<span class="sd"> filter_param (string): complex RHS string query ex:</span>
|
|
2456
|
+
<span class="sd"> "cpu=gte:8:int,operating_system=ne:windows,gpu.gpu_count=eq:1:int"</span>
|
|
2448
2457
|
|
|
2449
2458
|
<span class="sd"> Returns:</span>
|
|
2450
2459
|
<span class="sd"> list: The list of instance types.</span>
|
|
2451
2460
|
<span class="sd"> """</span>
|
|
2452
2461
|
<span class="n">api</span> <span class="o">=</span> <span class="n">ApiClient</span><span class="p">()</span>
|
|
2453
2462
|
<span class="n">response</span><span class="p">,</span> <span class="n">response_code</span> <span class="o">=</span> <span class="n">api</span><span class="o">.</span><span class="n">make_request</span><span class="p">(</span>
|
|
2454
|
-
<span class="s2">"api/v1/instance-types"</span><span class="p">,</span> <span class="n">use_api_key</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">raise_on_error</span><span class="o">=</span><span class="kc">False</span>
|
|
2463
|
+
<span class="s2">"api/v1/instance-types"</span><span class="p">,</span> <span class="n">use_api_key</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">raise_on_error</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
|
|
2464
|
+
<span class="n">params</span><span class="o">=</span><span class="p">{</span><span class="s2">"filter"</span><span class="p">:</span><span class="n">filter_param</span><span class="p">}</span>
|
|
2455
2465
|
<span class="p">)</span>
|
|
2456
2466
|
<span class="k">if</span> <span class="n">response_code</span> <span class="ow">not</span> <span class="ow">in</span> <span class="p">(</span><span class="mi">200</span><span class="p">,):</span>
|
|
2457
2467
|
<span class="n">msg</span> <span class="o">=</span> <span class="s2">"Failed to get instance types"</span>
|
|
2458
|
-
<span class="n">msg</span> <span class="o">+=</span> <span class="s2">"</span><span class="se">\n</span><span class="s2">
|
|
2468
|
+
<span class="n">msg</span> <span class="o">+=</span> <span class="s2">"</span><span class="se">\n</span><span class="s2">API responded with status code </span><span class="si">%s</span><span class="se">\n</span><span class="s2">"</span> <span class="o">%</span> <span class="p">(</span><span class="n">response_code</span><span class="p">)</span>
|
|
2459
2469
|
<span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="n">msg</span><span class="p">)</span>
|
|
2460
2470
|
|
|
2461
2471
|
<span class="n">instance_types</span> <span class="o">=</span> <span class="n">json</span><span class="o">.</span><span class="n">loads</span><span class="p">(</span><span class="n">response</span><span class="p">)</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">"data"</span><span class="p">,</span> <span class="p">[])</span>
|
|
@@ -984,7 +984,7 @@
|
|
|
984
984
|
|
|
985
985
|
|
|
986
986
|
<h2 id="ciocore.data.data" class="doc doc-heading">
|
|
987
|
-
<code class="highlight language-python"><span class="n">data</span><span class="p">(</span><span class="n">force</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span></code>
|
|
987
|
+
<code class="highlight language-python"><span class="n">data</span><span class="p">(</span><span class="n">force</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">instances_filter</span><span class="o">=</span><span class="s1">''</span><span class="p">)</span></code>
|
|
988
988
|
|
|
989
989
|
|
|
990
990
|
</h2>
|
|
@@ -1008,6 +1008,12 @@
|
|
|
1008
1008
|
<td></td>
|
|
1009
1009
|
<td><p>(bool) If <code>True</code>, then force the system to fetch fresh data -- Defaults to <code>False</code>.</p></td>
|
|
1010
1010
|
</tr>
|
|
1011
|
+
<tr>
|
|
1012
|
+
<td><code>instances_filter</code></td>
|
|
1013
|
+
<td></td>
|
|
1014
|
+
<td><p>(str) complex RHS string query ex:
|
|
1015
|
+
"cpu=gte:8:int,operating_system=ne:windows,gpu.gpu_count=eq:1:int"</p></td>
|
|
1016
|
+
</tr>
|
|
1011
1017
|
</tbody>
|
|
1012
1018
|
</table>
|
|
1013
1019
|
<p><strong>Exceptions:</strong></p>
|
|
@@ -1079,12 +1085,14 @@ the software available at Conductor, or a subset based on specified products.</p
|
|
|
1079
1085
|
|
|
1080
1086
|
<details class="quote">
|
|
1081
1087
|
<summary>Source code in <code>ciocore/data.py</code></summary>
|
|
1082
|
-
<div class="highlight"><pre><span></span><code><span class="k">def</span> <span class="nf">data</span><span class="p">(</span><span class="n">force</span><span class="o">=</span><span class="kc">False</span><span class="p">):</span>
|
|
1088
|
+
<div class="highlight"><pre><span></span><code><span class="k">def</span> <span class="nf">data</span><span class="p">(</span><span class="n">force</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">instances_filter</span><span class="o">=</span><span class="s2">""</span><span class="p">):</span>
|
|
1083
1089
|
<span class="w"> </span><span class="sd">"""</span>
|
|
1084
1090
|
<span class="sd"> Provide projects, instance types, and software package data.</span>
|
|
1085
1091
|
|
|
1086
1092
|
<span class="sd"> Keyword Args:</span>
|
|
1087
1093
|
<span class="sd"> force: (bool) If `True`, then force the system to fetch fresh data -- Defaults to `False`.</span>
|
|
1094
|
+
<span class="sd"> instances_filter: (str) complex RHS string query ex:</span>
|
|
1095
|
+
<span class="sd"> "cpu=gte:8:int,operating_system=ne:windows,gpu.gpu_count=eq:1:int"</span>
|
|
1088
1096
|
|
|
1089
1097
|
<span class="sd"> Raises:</span>
|
|
1090
1098
|
<span class="sd"> ValueError: Module was not initialized with [init()](/data/#ciocore.data.init).</span>
|
|
@@ -1146,7 +1154,7 @@ the software available at Conductor, or a subset based on specified products.</p
|
|
|
1146
1154
|
<span class="c1"># PROJECTS</span>
|
|
1147
1155
|
<span class="n">__data__</span><span class="p">[</span><span class="s2">"projects"</span><span class="p">]</span> <span class="o">=</span> <span class="nb">sorted</span><span class="p">(</span><span class="n">api_client</span><span class="o">.</span><span class="n">request_projects</span><span class="p">())</span>
|
|
1148
1156
|
<span class="c1"># INST_TYPES</span>
|
|
1149
|
-
<span class="n">instance_types</span> <span class="o">=</span> <span class="n">api_client</span><span class="o">.</span><span class="n">request_instance_types</span><span class="p">()</span>
|
|
1157
|
+
<span class="n">instance_types</span> <span class="o">=</span> <span class="n">api_client</span><span class="o">.</span><span class="n">request_instance_types</span><span class="p">(</span><span class="n">filter_param</span><span class="o">=</span><span class="n">instances_filter</span><span class="p">)</span>
|
|
1150
1158
|
<span class="c1"># SOFTWARE</span>
|
|
1151
1159
|
<span class="n">software</span> <span class="o">=</span> <span class="n">api_client</span><span class="o">.</span><span class="n">request_software_packages</span><span class="p">()</span>
|
|
1152
1160
|
|