ciocore 8.0.0b28__py2.py3-none-any.whl → 8.0.0b30__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.0.0-beta.28
1
+ 8.0.0-beta.30
ciocore/api_client.py CHANGED
@@ -572,6 +572,38 @@ def request_software_packages():
572
572
  software = [sw for sw in software if not ("3dsmax" in sw["product"] and sw["platform"] == "linux")]
573
573
  return software
574
574
 
575
+ def request_extra_environment():
576
+ """
577
+ Query Conductor for extra environment.
578
+ """
579
+ api = ApiClient()
580
+
581
+ uri = "api/v1/integrations/env-vars-configs"
582
+ response, response_code = api.make_request(
583
+ uri_path=uri, verb="GET", raise_on_error=False, use_api_key=True
584
+ )
585
+
586
+ if response_code not in [200]:
587
+ msg = "Failed to get extra environment"
588
+ msg += "\nError %s ...\n%s" % (response_code, response)
589
+ raise Exception(msg)
590
+
591
+ all_accounts = json.loads(response).get("data", [])
592
+
593
+ token = read_conductor_credentials(True)
594
+ if not token:
595
+ raise Exception("Error: Could not get conductor credentials!")
596
+ account_id = str(account_id_from_jwt(token))
597
+
598
+ if not account_id:
599
+ raise Exception("Error: Could not get account id from jwt!")
600
+ account_env = next((account for account in all_accounts if account["account_id"] == account_id), None)
601
+ if not account_env:
602
+ raise Exception("Error: Could not get account environment!")
603
+ return account_env.get("env", [])
604
+
605
+
606
+
575
607
 
576
608
  def get_jobs(first_jid, last_jid=None):
577
609
  """
ciocore/cli.py CHANGED
@@ -213,7 +213,7 @@ def upload(
213
213
  type=click.Choice(choices=PACKAGES_FORMAT_OPTIONS, case_sensitive=False),
214
214
  )
215
215
  def packages(fmt):
216
- """List the softweare packages available on the render nodes in the cloud."""
216
+ """List the software packages available on the render nodes in the cloud."""
217
217
  package_query.pq(format=fmt)
218
218
 
219
219
 
ciocore/data.py CHANGED
@@ -122,6 +122,14 @@ def data(force=False):
122
122
  # SOFTWARE
123
123
  software = api_client.request_software_packages()
124
124
 
125
+ # EXTRA ENV VARS
126
+ extra_env_vars = []
127
+ try:
128
+ extra_env_vars = api_client.request_extra_environment()
129
+ except Exception:
130
+ pass
131
+ __data__["extra_environment"] = extra_env_vars
132
+
125
133
  # PLATFORMS
126
134
  it_platforms = set([it["operating_system"] for it in instance_types])
127
135
  valid_platforms = it_platforms.intersection(__platforms__)
@@ -674,6 +674,13 @@
674
674
  request_software_packages()
675
675
  </a>
676
676
 
677
+ </li>
678
+
679
+ <li class="md-nav__item">
680
+ <a href="#ciocore.api_client.request_extra_environment" class="md-nav__link">
681
+ request_extra_environment()
682
+ </a>
683
+
677
684
  </li>
678
685
 
679
686
  <li class="md-nav__item">
@@ -981,6 +988,13 @@
981
988
  request_software_packages()
982
989
  </a>
983
990
 
991
+ </li>
992
+
993
+ <li class="md-nav__item">
994
+ <a href="#ciocore.api_client.request_extra_environment" class="md-nav__link">
995
+ request_extra_environment()
996
+ </a>
997
+
984
998
  </li>
985
999
 
986
1000
  <li class="md-nav__item">
@@ -2586,6 +2600,59 @@ prompt the user to log in. </p>
2586
2600
 
2587
2601
 
2588
2602
 
2603
+ <h2 id="ciocore.api_client.request_extra_environment" class="doc doc-heading">
2604
+ <code class="highlight language-python"><span class="n">request_extra_environment</span><span class="p">()</span></code>
2605
+
2606
+
2607
+ </h2>
2608
+
2609
+ <div class="doc doc-contents ">
2610
+
2611
+ <p>Query Conductor for extra environment.</p>
2612
+
2613
+ <details class="quote">
2614
+ <summary>Source code in <code>ciocore/api_client.py</code></summary>
2615
+ <div class="highlight"><pre><span></span><code><span class="k">def</span> <span class="nf">request_extra_environment</span><span class="p">():</span>
2616
+ <span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
2617
+ <span class="sd"> Query Conductor for extra environment.</span>
2618
+ <span class="sd"> &quot;&quot;&quot;</span>
2619
+ <span class="n">api</span> <span class="o">=</span> <span class="n">ApiClient</span><span class="p">()</span>
2620
+
2621
+ <span class="n">uri</span> <span class="o">=</span> <span class="s2">&quot;api/v1/integrations/env-vars-configs&quot;</span>
2622
+ <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>
2623
+ <span class="n">uri_path</span><span class="o">=</span><span class="n">uri</span><span class="p">,</span> <span class="n">verb</span><span class="o">=</span><span class="s2">&quot;GET&quot;</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> <span class="n">use_api_key</span><span class="o">=</span><span class="kc">True</span>
2624
+ <span class="p">)</span>
2625
+
2626
+ <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>
2627
+ <span class="n">msg</span> <span class="o">=</span> <span class="s2">&quot;Failed to get extra environment&quot;</span>
2628
+ <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>
2629
+ <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="n">msg</span><span class="p">)</span>
2630
+
2631
+ <span class="n">all_accounts</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>
2632
+
2633
+ <span class="n">token</span> <span class="o">=</span> <span class="n">read_conductor_credentials</span><span class="p">(</span><span class="kc">True</span><span class="p">)</span>
2634
+ <span class="k">if</span> <span class="ow">not</span> <span class="n">token</span><span class="p">:</span>
2635
+ <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">&quot;Error: Could not get conductor credentials!&quot;</span><span class="p">)</span>
2636
+ <span class="n">account_id</span> <span class="o">=</span> <span class="nb">str</span><span class="p">(</span><span class="n">account_id_from_jwt</span><span class="p">(</span><span class="n">token</span><span class="p">))</span>
2637
+
2638
+ <span class="k">if</span> <span class="ow">not</span> <span class="n">account_id</span><span class="p">:</span>
2639
+ <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">&quot;Error: Could not get account id from jwt!&quot;</span><span class="p">)</span>
2640
+ <span class="n">account_env</span> <span class="o">=</span> <span class="nb">next</span><span class="p">((</span><span class="n">account</span> <span class="k">for</span> <span class="n">account</span> <span class="ow">in</span> <span class="n">all_accounts</span> <span class="k">if</span> <span class="n">account</span><span class="p">[</span><span class="s2">&quot;account_id&quot;</span><span class="p">]</span> <span class="o">==</span> <span class="n">account_id</span><span class="p">),</span> <span class="kc">None</span><span class="p">)</span>
2641
+ <span class="k">if</span> <span class="ow">not</span> <span class="n">account_env</span><span class="p">:</span>
2642
+ <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">&quot;Error: Could not get account environment!&quot;</span><span class="p">)</span>
2643
+ <span class="k">return</span> <span class="n">account_env</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">&quot;env&quot;</span><span class="p">,</span> <span class="p">[])</span>
2644
+ </code></pre></div>
2645
+ </details>
2646
+ </div>
2647
+
2648
+ </div>
2649
+
2650
+
2651
+
2652
+ <div class="doc doc-object doc-function">
2653
+
2654
+
2655
+
2589
2656
  <h2 id="ciocore.api_client.get_jobs" class="doc doc-heading">
2590
2657
  <code class="highlight language-python"><span class="n">get_jobs</span><span class="p">(</span><span class="n">first_jid</span><span class="p">,</span> <span class="n">last_jid</span><span class="o">=</span><span class="kc">None</span><span class="p">)</span></code>
2591
2658
 
@@ -1150,6 +1150,14 @@ the software available at Conductor, or a subset based on specified products.</p
1150
1150
  <span class="c1"># SOFTWARE</span>
1151
1151
  <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
1152
 
1153
+ <span class="c1"># EXTRA ENV VARS</span>
1154
+ <span class="n">extra_env_vars</span> <span class="o">=</span> <span class="p">[]</span>
1155
+ <span class="k">try</span><span class="p">:</span>
1156
+ <span class="n">extra_env_vars</span> <span class="o">=</span> <span class="n">api_client</span><span class="o">.</span><span class="n">request_extra_environment</span><span class="p">()</span>
1157
+ <span class="k">except</span> <span class="ne">Exception</span><span class="p">:</span>
1158
+ <span class="k">pass</span>
1159
+ <span class="n">__data__</span><span class="p">[</span><span class="s2">&quot;extra_environment&quot;</span><span class="p">]</span> <span class="o">=</span> <span class="n">extra_env_vars</span>
1160
+
1153
1161
  <span class="c1"># PLATFORMS</span>
1154
1162
  <span class="n">it_platforms</span> <span class="o">=</span> <span class="nb">set</span><span class="p">([</span><span class="n">it</span><span class="p">[</span><span class="s2">&quot;operating_system&quot;</span><span class="p">]</span> <span class="k">for</span> <span class="n">it</span> <span class="ow">in</span> <span class="n">instance_types</span><span class="p">])</span>
1155
1163
  <span class="n">valid_platforms</span> <span class="o">=</span> <span class="n">it_platforms</span><span class="o">.</span><span class="n">intersection</span><span class="p">(</span><span class="n">__platforms__</span><span class="p">)</span>
@@ -900,9 +900,9 @@ PackageEnvironment </code>
900
900
 
901
901
  <span class="sd"> The first time data is added to a PackageEnvironment, the platform is set in stone. Subsequent `adds` that try to change the platform are considered an error.</span>
902
902
 
903
- <span class="sd"> Each variable to be added specifies a merge_policy: `append` or `exclusive`. Once an individual variable has been initialized with a merge policy, it can&#39;t be changed. This means:</span>
903
+ <span class="sd"> Each variable to be added specifies a merge_policy: `append`, `prepend`, or `exclusive` `append` and `prepend` can be thought of as lists= types. Once an individual variable has been initialized as a list, it can&#39;t be changed to `exclusive`. This means:</span>
904
904
 
905
- <span class="sd"> 1. It&#39;s not possible to overwrite variables that have been set as append.</span>
905
+ <span class="sd"> 1. It&#39;s not possible to overwrite variables that have been added as `append` or `prepend`.</span>
906
906
  <span class="sd"> 2. Exclusive variables are always overwritten by subsequent adds.</span>
907
907
 
908
908
  <span class="sd"> Raises:</span>
@@ -960,11 +960,13 @@ PackageEnvironment </code>
960
960
  <span class="n">name</span> <span class="o">=</span> <span class="n">var</span><span class="p">[</span><span class="s2">&quot;name&quot;</span><span class="p">]</span>
961
961
  <span class="n">value</span> <span class="o">=</span> <span class="n">var</span><span class="p">[</span><span class="s2">&quot;value&quot;</span><span class="p">]</span>
962
962
  <span class="n">policy</span> <span class="o">=</span> <span class="n">var</span><span class="p">[</span><span class="s2">&quot;merge_policy&quot;</span><span class="p">]</span>
963
- <span class="k">if</span> <span class="n">policy</span> <span class="ow">not</span> <span class="ow">in</span> <span class="p">[</span><span class="s2">&quot;append&quot;</span><span class="p">,</span> <span class="s2">&quot;exclusive&quot;</span><span class="p">]:</span>
963
+ <span class="k">if</span> <span class="n">policy</span> <span class="ow">not</span> <span class="ow">in</span> <span class="p">[</span><span class="s2">&quot;append&quot;</span><span class="p">,</span> <span class="s2">&quot;prepend&quot;</span><span class="p">,</span> <span class="s2">&quot;exclusive&quot;</span><span class="p">]:</span>
964
964
  <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s2">&quot;Unexpected merge policy: </span><span class="si">%s</span><span class="s2">&quot;</span> <span class="o">%</span> <span class="n">policy</span><span class="p">)</span>
965
965
 
966
966
  <span class="k">if</span> <span class="n">policy</span> <span class="o">==</span> <span class="s2">&quot;append&quot;</span><span class="p">:</span>
967
967
  <span class="bp">self</span><span class="o">.</span><span class="n">_append</span><span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="n">value</span><span class="p">)</span>
968
+ <span class="k">elif</span> <span class="n">policy</span> <span class="o">==</span> <span class="s2">&quot;prepend&quot;</span><span class="p">:</span>
969
+ <span class="bp">self</span><span class="o">.</span><span class="n">_prepend</span><span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="n">value</span><span class="p">)</span>
968
970
  <span class="k">else</span><span class="p">:</span>
969
971
  <span class="bp">self</span><span class="o">.</span><span class="n">_set</span><span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="n">value</span><span class="p">)</span>
970
972
 
@@ -998,6 +1000,22 @@ PackageEnvironment </code>
998
1000
  <span class="bp">self</span><span class="o">.</span><span class="n">_env</span><span class="p">[</span><span class="n">name</span><span class="p">]</span> <span class="o">=</span> <span class="p">[]</span>
999
1001
  <span class="bp">self</span><span class="o">.</span><span class="n">_env</span><span class="p">[</span><span class="n">name</span><span class="p">]</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">value</span><span class="p">)</span>
1000
1002
 
1003
+ <span class="k">def</span> <span class="nf">_prepend</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">value</span><span class="p">):</span>
1004
+ <span class="w"> </span><span class="sd">&quot;&quot;&quot;Set the value of an append/prepend variable.</span>
1005
+
1006
+ <span class="sd"> Can be appended to with subsequent adds.</span>
1007
+
1008
+ <span class="sd"> It is an error if the variable has already been declared with policy=exclusive.</span>
1009
+ <span class="sd"> &quot;&quot;&quot;</span>
1010
+ <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_env</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">name</span><span class="p">):</span>
1011
+ <span class="k">if</span> <span class="ow">not</span> <span class="nb">isinstance</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_env</span><span class="p">[</span><span class="n">name</span><span class="p">],</span> <span class="nb">list</span><span class="p">):</span>
1012
+ <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span>
1013
+ <span class="s2">&quot;Can&#39;t change merge policy for &#39;</span><span class="si">{}</span><span class="s2">&#39; from &#39;exclusive&#39; to &#39;prepend&#39;.&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">name</span><span class="p">)</span>
1014
+ <span class="p">)</span>
1015
+ <span class="k">else</span><span class="p">:</span>
1016
+ <span class="bp">self</span><span class="o">.</span><span class="n">_env</span><span class="p">[</span><span class="n">name</span><span class="p">]</span> <span class="o">=</span> <span class="p">[]</span>
1017
+ <span class="bp">self</span><span class="o">.</span><span class="n">_env</span><span class="p">[</span><span class="n">name</span><span class="p">]</span><span class="o">.</span><span class="n">insert</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="n">value</span><span class="p">)</span>
1018
+
1001
1019
  <span class="k">def</span> <span class="fm">__iter__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
1002
1020
  <span class="w"> </span><span class="sd">&quot;&quot;&quot;Cast the object as a dict.&quot;&quot;&quot;</span>
1003
1021
  <span class="n">sep</span> <span class="o">=</span> <span class="s2">&quot;;&quot;</span> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">platform</span> <span class="o">==</span> <span class="s2">&quot;windows&quot;</span> <span class="k">else</span> <span class="s2">&quot;:&quot;</span>
@@ -1142,9 +1160,9 @@ PackageEnvironment </code>
1142
1160
  </tr>
1143
1161
  </tbody>
1144
1162
  </table> <p>The first time data is added to a PackageEnvironment, the platform is set in stone. Subsequent <code>adds</code> that try to change the platform are considered an error.</p>
1145
- <p>Each variable to be added specifies a merge_policy: <code>append</code> or <code>exclusive</code>. Once an individual variable has been initialized with a merge policy, it can't be changed. This means:</p>
1163
+ <p>Each variable to be added specifies a merge_policy: <code>append</code>, <code>prepend</code>, or <code>exclusive</code> <code>append</code> and <code>prepend</code> can be thought of as lists= types. Once an individual variable has been initialized as a list, it can't be changed to <code>exclusive</code>. This means:</p>
1146
1164
  <ol>
1147
- <li>It's not possible to overwrite variables that have been set as append.</li>
1165
+ <li>It's not possible to overwrite variables that have been added as <code>append</code> or <code>prepend</code>.</li>
1148
1166
  <li>Exclusive variables are always overwritten by subsequent adds.</li>
1149
1167
  </ol>
1150
1168
 
@@ -1209,9 +1227,9 @@ PackageEnvironment </code>
1209
1227
 
1210
1228
  <span class="sd"> The first time data is added to a PackageEnvironment, the platform is set in stone. Subsequent `adds` that try to change the platform are considered an error.</span>
1211
1229
 
1212
- <span class="sd"> Each variable to be added specifies a merge_policy: `append` or `exclusive`. Once an individual variable has been initialized with a merge policy, it can&#39;t be changed. This means:</span>
1230
+ <span class="sd"> Each variable to be added specifies a merge_policy: `append`, `prepend`, or `exclusive` `append` and `prepend` can be thought of as lists= types. Once an individual variable has been initialized as a list, it can&#39;t be changed to `exclusive`. This means:</span>
1213
1231
 
1214
- <span class="sd"> 1. It&#39;s not possible to overwrite variables that have been set as append.</span>
1232
+ <span class="sd"> 1. It&#39;s not possible to overwrite variables that have been added as `append` or `prepend`.</span>
1215
1233
  <span class="sd"> 2. Exclusive variables are always overwritten by subsequent adds.</span>
1216
1234
 
1217
1235
  <span class="sd"> Raises:</span>
@@ -1269,11 +1287,13 @@ PackageEnvironment </code>
1269
1287
  <span class="n">name</span> <span class="o">=</span> <span class="n">var</span><span class="p">[</span><span class="s2">&quot;name&quot;</span><span class="p">]</span>
1270
1288
  <span class="n">value</span> <span class="o">=</span> <span class="n">var</span><span class="p">[</span><span class="s2">&quot;value&quot;</span><span class="p">]</span>
1271
1289
  <span class="n">policy</span> <span class="o">=</span> <span class="n">var</span><span class="p">[</span><span class="s2">&quot;merge_policy&quot;</span><span class="p">]</span>
1272
- <span class="k">if</span> <span class="n">policy</span> <span class="ow">not</span> <span class="ow">in</span> <span class="p">[</span><span class="s2">&quot;append&quot;</span><span class="p">,</span> <span class="s2">&quot;exclusive&quot;</span><span class="p">]:</span>
1290
+ <span class="k">if</span> <span class="n">policy</span> <span class="ow">not</span> <span class="ow">in</span> <span class="p">[</span><span class="s2">&quot;append&quot;</span><span class="p">,</span> <span class="s2">&quot;prepend&quot;</span><span class="p">,</span> <span class="s2">&quot;exclusive&quot;</span><span class="p">]:</span>
1273
1291
  <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s2">&quot;Unexpected merge policy: </span><span class="si">%s</span><span class="s2">&quot;</span> <span class="o">%</span> <span class="n">policy</span><span class="p">)</span>
1274
1292
 
1275
1293
  <span class="k">if</span> <span class="n">policy</span> <span class="o">==</span> <span class="s2">&quot;append&quot;</span><span class="p">:</span>
1276
1294
  <span class="bp">self</span><span class="o">.</span><span class="n">_append</span><span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="n">value</span><span class="p">)</span>
1295
+ <span class="k">elif</span> <span class="n">policy</span> <span class="o">==</span> <span class="s2">&quot;prepend&quot;</span><span class="p">:</span>
1296
+ <span class="bp">self</span><span class="o">.</span><span class="n">_prepend</span><span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="n">value</span><span class="p">)</span>
1277
1297
  <span class="k">else</span><span class="p">:</span>
1278
1298
  <span class="bp">self</span><span class="o">.</span><span class="n">_set</span><span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="n">value</span><span class="p">)</span>
1279
1299
  </code></pre></div>
Binary file