ciocore 8.3.1__py2.py3-none-any.whl → 8.3.3__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 CHANGED
@@ -1 +1 @@
1
- 8.3.1
1
+ 8.3.3
ciocore/api_client.py CHANGED
@@ -488,23 +488,26 @@ def account_name_from_jwt(token):
488
488
  return None
489
489
 
490
490
 
491
- def request_instance_types(as_dict=False):
491
+ def request_instance_types(as_dict=False, filter_param=""):
492
492
  """
493
493
  Get the list of available instances types.
494
494
 
495
495
  Args:
496
496
  as_dict (bool): Whether or not to return the instance types as a dictionary.
497
+ filter_param (string): complex RHS string query ex:
498
+ "cpu=gte:8:int,operating_system=ne:windows,gpu.gpu_count=eq:1:int"
497
499
 
498
500
  Returns:
499
501
  list: The list of instance types.
500
502
  """
501
503
  api = ApiClient()
502
504
  response, response_code = api.make_request(
503
- "api/v1/instance-types", use_api_key=True, raise_on_error=False
505
+ "api/v1/instance-types", use_api_key=True, raise_on_error=False,
506
+ params={"filter":filter_param}
504
507
  )
505
508
  if response_code not in (200,):
506
509
  msg = "Failed to get instance types"
507
- msg += "\nError %s ...\n%s" % (response_code, response)
510
+ msg += "\nAPI responded with status code %s\n" % (response_code)
508
511
  raise Exception(msg)
509
512
 
510
513
  instance_types = json.loads(response).get("data", [])
@@ -554,7 +557,7 @@ def request_projects(statuses=("active",)):
554
557
  def request_software_packages():
555
558
  """
556
559
  Query Conductor for all software packages for the currently available sidecar.
557
-
560
+
558
561
  Returns:
559
562
  list: The list of software packages.
560
563
  """
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
 
@@ -2393,7 +2393,7 @@ prompt the user to log in. </p>
2393
2393
 
2394
2394
 
2395
2395
  <h2 id="ciocore.api_client.request_instance_types" class="doc doc-heading">
2396
- <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>
2396
+ <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">&#39;&#39;</span><span class="p">)</span></code>
2397
2397
 
2398
2398
 
2399
2399
  </h2>
@@ -2419,6 +2419,13 @@ prompt the user to log in. </p>
2419
2419
  <td><p>Whether or not to return the instance types as a dictionary.</p></td>
2420
2420
  <td><code>False</code></td>
2421
2421
  </tr>
2422
+ <tr>
2423
+ <td><code>filter_param</code></td>
2424
+ <td><code>string</code></td>
2425
+ <td><p>complex RHS string query ex:
2426
+ "cpu=gte:8:int,operating_system=ne:windows,gpu.gpu_count=eq:1:int"</p></td>
2427
+ <td><code>&#39;&#39;</code></td>
2428
+ </tr>
2422
2429
  </tbody>
2423
2430
  </table>
2424
2431
  <p><strong>Returns:</strong></p>
@@ -2438,23 +2445,26 @@ prompt the user to log in. </p>
2438
2445
  </table>
2439
2446
  <details class="quote">
2440
2447
  <summary>Source code in <code>ciocore/api_client.py</code></summary>
2441
- <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>
2448
+ <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">&quot;&quot;</span><span class="p">):</span>
2442
2449
  <span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
2443
2450
  <span class="sd"> Get the list of available instances types.</span>
2444
2451
 
2445
2452
  <span class="sd"> Args:</span>
2446
2453
  <span class="sd"> as_dict (bool): Whether or not to return the instance types as a dictionary.</span>
2454
+ <span class="sd"> filter_param (string): complex RHS string query ex:</span>
2455
+ <span class="sd"> &quot;cpu=gte:8:int,operating_system=ne:windows,gpu.gpu_count=eq:1:int&quot;</span>
2447
2456
 
2448
2457
  <span class="sd"> Returns:</span>
2449
2458
  <span class="sd"> list: The list of instance types.</span>
2450
2459
  <span class="sd"> &quot;&quot;&quot;</span>
2451
2460
  <span class="n">api</span> <span class="o">=</span> <span class="n">ApiClient</span><span class="p">()</span>
2452
2461
  <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>
2453
- <span class="s2">&quot;api/v1/instance-types&quot;</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>
2462
+ <span class="s2">&quot;api/v1/instance-types&quot;</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>
2463
+ <span class="n">params</span><span class="o">=</span><span class="p">{</span><span class="s2">&quot;filter&quot;</span><span class="p">:</span><span class="n">filter_param</span><span class="p">}</span>
2454
2464
  <span class="p">)</span>
2455
2465
  <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>
2456
2466
  <span class="n">msg</span> <span class="o">=</span> <span class="s2">&quot;Failed to get instance types&quot;</span>
2457
- <span class="n">msg</span> <span class="o">+=</span> <span class="s2">&quot;</span><span class="se">\n</span><span class="s2">Error </span><span class="si">%s</span><span class="s2"> ...</span><span class="se">\n</span><span class="si">%s</span><span class="s2">&quot;</span> <span class="o">%</span> <span class="p">(</span><span class="n">response_code</span><span class="p">,</span> <span class="n">response</span><span class="p">)</span>
2467
+ <span class="n">msg</span> <span class="o">+=</span> <span class="s2">&quot;</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">&quot;</span> <span class="o">%</span> <span class="p">(</span><span class="n">response_code</span><span class="p">)</span>
2458
2468
  <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="n">msg</span><span class="p">)</span>
2459
2469
 
2460
2470
  <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">&quot;data&quot;</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">&#39;&#39;</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">&quot;&quot;</span><span class="p">):</span>
1083
1089
  <span class="w"> </span><span class="sd">&quot;&quot;&quot;</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"> &quot;cpu=gte:8:int,operating_system=ne:windows,gpu.gpu_count=eq:1:int&quot;</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">&quot;projects&quot;</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