ciocore 8.1.0b3__py2.py3-none-any.whl → 8.1.1rc1__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 +0 -25
- ciocore/data.py +4 -12
- ciocore/docsite/apidoc/api_client/index.html +0 -75
- ciocore/docsite/apidoc/data/index.html +6 -20
- ciocore/docsite/objects.inv +0 -0
- ciocore/docsite/search/search_index.json +1 -1
- ciocore/docsite/sitemap.xml.gz +0 -0
- ciocore/package_tree.py +8 -5
- {ciocore-8.1.0b3.dist-info → ciocore-8.1.1rc1.dist-info}/METADATA +10 -8
- {ciocore-8.1.0b3.dist-info → ciocore-8.1.1rc1.dist-info}/RECORD +15 -15
- tests/test_api_client.py +2 -44
- {ciocore-8.1.0b3.dist-info → ciocore-8.1.1rc1.dist-info}/WHEEL +0 -0
- {ciocore-8.1.0b3.dist-info → ciocore-8.1.1rc1.dist-info}/entry_points.txt +0 -0
- {ciocore-8.1.0b3.dist-info → ciocore-8.1.1rc1.dist-info}/top_level.txt +0 -0
ciocore/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
8.1.
|
|
1
|
+
8.1.1-rc.1
|
ciocore/api_client.py
CHANGED
|
@@ -12,7 +12,6 @@ import jwt
|
|
|
12
12
|
import logging
|
|
13
13
|
import os
|
|
14
14
|
import platform
|
|
15
|
-
import datetime
|
|
16
15
|
import requests
|
|
17
16
|
import socket
|
|
18
17
|
import time
|
|
@@ -489,30 +488,6 @@ def account_name_from_jwt(token):
|
|
|
489
488
|
return None
|
|
490
489
|
|
|
491
490
|
|
|
492
|
-
def get_account_data():
|
|
493
|
-
"""
|
|
494
|
-
Get the authenticated account's data.
|
|
495
|
-
|
|
496
|
-
Returns:
|
|
497
|
-
dict: The account data.
|
|
498
|
-
"""
|
|
499
|
-
token = read_conductor_credentials(True)
|
|
500
|
-
if not token:
|
|
501
|
-
return None
|
|
502
|
-
|
|
503
|
-
payload = jwt.decode(token, verify=False)
|
|
504
|
-
return {
|
|
505
|
-
"email": payload.get("email"),
|
|
506
|
-
"domain": ".".join(payload.get("aud").split(".")[1:]),
|
|
507
|
-
"account_id" : payload.get("account"),
|
|
508
|
-
"user_id" : payload.get("id"),
|
|
509
|
-
"role": payload.get("role"),
|
|
510
|
-
"issued": datetime.datetime.fromtimestamp(payload.get("iat")),
|
|
511
|
-
"expiry": datetime.datetime.fromtimestamp(payload.get("exp")),
|
|
512
|
-
"token": token,
|
|
513
|
-
}
|
|
514
|
-
|
|
515
|
-
|
|
516
491
|
def request_instance_types(as_dict=False):
|
|
517
492
|
"""
|
|
518
493
|
Get the list of available instances types.
|
ciocore/data.py
CHANGED
|
@@ -53,7 +53,7 @@ def init(*products, **kwargs):
|
|
|
53
53
|
|
|
54
54
|
def data(force=False):
|
|
55
55
|
"""
|
|
56
|
-
Provide projects, instance types, software package
|
|
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`.
|
|
@@ -62,10 +62,10 @@ def data(force=False):
|
|
|
62
62
|
ValueError: Module was not initialized with [init()](/data/#ciocore.data.init).
|
|
63
63
|
|
|
64
64
|
Returns:
|
|
65
|
-
dict: Keys are `projects`, `instance_types`, `software
|
|
65
|
+
dict: Keys are `projects`, `instance_types`, `software`.
|
|
66
66
|
|
|
67
67
|
When you access the data, if it has already been fetched, it will be returned. Otherwise,
|
|
68
|
-
requests will be made to fetch
|
|
68
|
+
requests will be made to fetch the data. You may need to authenticate in order to access the
|
|
69
69
|
data.
|
|
70
70
|
|
|
71
71
|
The set of instance types and software can be pruned to match the available platforms
|
|
@@ -84,8 +84,7 @@ def data(force=False):
|
|
|
84
84
|
|
|
85
85
|
* **software** is a PackageTree object containing either all
|
|
86
86
|
the software available at Conductor, or a subset based on specified products.
|
|
87
|
-
|
|
88
|
-
* **account** is a dictionary containing account information gained from the JWT token.
|
|
87
|
+
|
|
89
88
|
|
|
90
89
|
Examples:
|
|
91
90
|
>>> from ciocore import data as coredata
|
|
@@ -99,10 +98,6 @@ def data(force=False):
|
|
|
99
98
|
|
|
100
99
|
>>> coredata.data()["instance_types"]
|
|
101
100
|
<ciocore.hardware_set.HardwareSet object at 0x0000028941CD9DC0>
|
|
102
|
-
|
|
103
|
-
>>> coredata.data()["account"]["account_id"]
|
|
104
|
-
123456789012
|
|
105
|
-
|
|
106
101
|
"""
|
|
107
102
|
|
|
108
103
|
global __data__
|
|
@@ -134,9 +129,6 @@ def data(force=False):
|
|
|
134
129
|
except Exception:
|
|
135
130
|
pass
|
|
136
131
|
__data__["extra_environment"] = extra_env_vars
|
|
137
|
-
|
|
138
|
-
__data__["account"] = api_client.get_account_data()
|
|
139
|
-
|
|
140
132
|
|
|
141
133
|
# PLATFORMS
|
|
142
134
|
it_platforms = set([it["operating_system"] for it in instance_types])
|
|
@@ -653,13 +653,6 @@
|
|
|
653
653
|
account_name_from_jwt()
|
|
654
654
|
</a>
|
|
655
655
|
|
|
656
|
-
</li>
|
|
657
|
-
|
|
658
|
-
<li class="md-nav__item">
|
|
659
|
-
<a href="#ciocore.api_client.get_account_data" class="md-nav__link">
|
|
660
|
-
get_account_data()
|
|
661
|
-
</a>
|
|
662
|
-
|
|
663
656
|
</li>
|
|
664
657
|
|
|
665
658
|
<li class="md-nav__item">
|
|
@@ -988,13 +981,6 @@
|
|
|
988
981
|
account_name_from_jwt()
|
|
989
982
|
</a>
|
|
990
983
|
|
|
991
|
-
</li>
|
|
992
|
-
|
|
993
|
-
<li class="md-nav__item">
|
|
994
|
-
<a href="#ciocore.api_client.get_account_data" class="md-nav__link">
|
|
995
|
-
get_account_data()
|
|
996
|
-
</a>
|
|
997
|
-
|
|
998
984
|
</li>
|
|
999
985
|
|
|
1000
986
|
<li class="md-nav__item">
|
|
@@ -2406,67 +2392,6 @@ prompt the user to log in. </p>
|
|
|
2406
2392
|
|
|
2407
2393
|
|
|
2408
2394
|
|
|
2409
|
-
<h2 id="ciocore.api_client.get_account_data" class="doc doc-heading">
|
|
2410
|
-
<code class="highlight language-python"><span class="n">get_account_data</span><span class="p">()</span></code>
|
|
2411
|
-
|
|
2412
|
-
|
|
2413
|
-
</h2>
|
|
2414
|
-
|
|
2415
|
-
<div class="doc doc-contents ">
|
|
2416
|
-
|
|
2417
|
-
<p>Get the authenticated account's data.</p>
|
|
2418
|
-
|
|
2419
|
-
<p><strong>Returns:</strong></p>
|
|
2420
|
-
<table>
|
|
2421
|
-
<thead>
|
|
2422
|
-
<tr>
|
|
2423
|
-
<th>Type</th>
|
|
2424
|
-
<th>Description</th>
|
|
2425
|
-
</tr>
|
|
2426
|
-
</thead>
|
|
2427
|
-
<tbody>
|
|
2428
|
-
<tr>
|
|
2429
|
-
<td><code>dict</code></td>
|
|
2430
|
-
<td><p>The account data.</p></td>
|
|
2431
|
-
</tr>
|
|
2432
|
-
</tbody>
|
|
2433
|
-
</table>
|
|
2434
|
-
<details class="quote">
|
|
2435
|
-
<summary>Source code in <code>ciocore/api_client.py</code></summary>
|
|
2436
|
-
<div class="highlight"><pre><span></span><code><span class="k">def</span> <span class="nf">get_account_data</span><span class="p">():</span>
|
|
2437
|
-
<span class="w"> </span><span class="sd">"""</span>
|
|
2438
|
-
<span class="sd"> Get the authenticated account's data.</span>
|
|
2439
|
-
|
|
2440
|
-
<span class="sd"> Returns:</span>
|
|
2441
|
-
<span class="sd"> dict: The account data.</span>
|
|
2442
|
-
<span class="sd"> """</span>
|
|
2443
|
-
<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>
|
|
2444
|
-
<span class="k">if</span> <span class="ow">not</span> <span class="n">token</span><span class="p">:</span>
|
|
2445
|
-
<span class="k">return</span> <span class="kc">None</span>
|
|
2446
|
-
|
|
2447
|
-
<span class="n">payload</span> <span class="o">=</span> <span class="n">jwt</span><span class="o">.</span><span class="n">decode</span><span class="p">(</span><span class="n">token</span><span class="p">,</span> <span class="n">verify</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
|
|
2448
|
-
<span class="k">return</span> <span class="p">{</span>
|
|
2449
|
-
<span class="s2">"email"</span><span class="p">:</span> <span class="n">payload</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">"email"</span><span class="p">),</span>
|
|
2450
|
-
<span class="s2">"domain"</span><span class="p">:</span> <span class="s2">"."</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">payload</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">"aud"</span><span class="p">)</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s2">"."</span><span class="p">)[</span><span class="mi">1</span><span class="p">:]),</span>
|
|
2451
|
-
<span class="s2">"account_id"</span> <span class="p">:</span> <span class="n">payload</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">"account"</span><span class="p">),</span>
|
|
2452
|
-
<span class="s2">"user_id"</span> <span class="p">:</span> <span class="n">payload</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">"id"</span><span class="p">),</span>
|
|
2453
|
-
<span class="s2">"role"</span><span class="p">:</span> <span class="n">payload</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">"role"</span><span class="p">),</span>
|
|
2454
|
-
<span class="s2">"issued"</span><span class="p">:</span> <span class="n">datetime</span><span class="o">.</span><span class="n">datetime</span><span class="o">.</span><span class="n">fromtimestamp</span><span class="p">(</span><span class="n">payload</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">"iat"</span><span class="p">)),</span>
|
|
2455
|
-
<span class="s2">"expiry"</span><span class="p">:</span> <span class="n">datetime</span><span class="o">.</span><span class="n">datetime</span><span class="o">.</span><span class="n">fromtimestamp</span><span class="p">(</span><span class="n">payload</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">"exp"</span><span class="p">)),</span>
|
|
2456
|
-
<span class="s2">"token"</span><span class="p">:</span> <span class="n">token</span><span class="p">,</span>
|
|
2457
|
-
<span class="p">}</span>
|
|
2458
|
-
</code></pre></div>
|
|
2459
|
-
</details>
|
|
2460
|
-
</div>
|
|
2461
|
-
|
|
2462
|
-
</div>
|
|
2463
|
-
|
|
2464
|
-
|
|
2465
|
-
|
|
2466
|
-
<div class="doc doc-object doc-function">
|
|
2467
|
-
|
|
2468
|
-
|
|
2469
|
-
|
|
2470
2395
|
<h2 id="ciocore.api_client.request_instance_types" class="doc doc-heading">
|
|
2471
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>
|
|
2472
2397
|
|
|
@@ -991,7 +991,7 @@
|
|
|
991
991
|
|
|
992
992
|
<div class="doc doc-contents ">
|
|
993
993
|
|
|
994
|
-
<p>Provide projects, instance types, software package
|
|
994
|
+
<p>Provide projects, instance types, and software package data.</p>
|
|
995
995
|
|
|
996
996
|
<p><strong>Keyword arguments:</strong></p>
|
|
997
997
|
<table>
|
|
@@ -1036,11 +1036,11 @@
|
|
|
1036
1036
|
<tbody>
|
|
1037
1037
|
<tr>
|
|
1038
1038
|
<td><code>dict</code></td>
|
|
1039
|
-
<td><p>Keys are <code>projects</code>, <code>instance_types</code>, <code>software</code
|
|
1039
|
+
<td><p>Keys are <code>projects</code>, <code>instance_types</code>, <code>software</code>.</p></td>
|
|
1040
1040
|
</tr>
|
|
1041
1041
|
</tbody>
|
|
1042
1042
|
</table> <p>When you access the data, if it has already been fetched, it will be returned. Otherwise,
|
|
1043
|
-
requests will be made to fetch
|
|
1043
|
+
requests will be made to fetch the data. You may need to authenticate in order to access the
|
|
1044
1044
|
data.</p>
|
|
1045
1045
|
<p>The set of instance types and software can be pruned to match the available platforms
|
|
1046
1046
|
represented by each other. For example, if the instance types come from an orchestrator that
|
|
@@ -1061,9 +1061,6 @@ available machines configurations.</p>
|
|
|
1061
1061
|
<p><strong>software</strong> is a PackageTree object containing either all
|
|
1062
1062
|
the software available at Conductor, or a subset based on specified products.</p>
|
|
1063
1063
|
</li>
|
|
1064
|
-
<li>
|
|
1065
|
-
<p><strong>account</strong> is a dictionary containing account information gained from the JWT token.</p>
|
|
1066
|
-
</li>
|
|
1067
1064
|
</ul>
|
|
1068
1065
|
|
|
1069
1066
|
<p><strong>Examples:</strong></p>
|
|
@@ -1078,16 +1075,13 @@ the software available at Conductor, or a subset based on specified products.</p
|
|
|
1078
1075
|
</code></pre></div>
|
|
1079
1076
|
<div class="highlight"><pre><span></span><code><span class="o">>>></span> <span class="n">coredata</span><span class="o">.</span><span class="n">data</span><span class="p">()[</span><span class="s2">"instance_types"</span><span class="p">]</span>
|
|
1080
1077
|
<span class="o"><</span><span class="n">ciocore</span><span class="o">.</span><span class="n">hardware_set</span><span class="o">.</span><span class="n">HardwareSet</span> <span class="nb">object</span> <span class="n">at</span> <span class="mh">0x0000028941CD9DC0</span><span class="o">></span>
|
|
1081
|
-
</code></pre></div>
|
|
1082
|
-
<div class="highlight"><pre><span></span><code><span class="o">>>></span> <span class="n">coredata</span><span class="o">.</span><span class="n">data</span><span class="p">()[</span><span class="s2">"account"</span><span class="p">][</span><span class="s2">"account_id"</span><span class="p">]</span>
|
|
1083
|
-
<span class="mi">123456789012</span>
|
|
1084
1078
|
</code></pre></div>
|
|
1085
1079
|
|
|
1086
1080
|
<details class="quote">
|
|
1087
1081
|
<summary>Source code in <code>ciocore/data.py</code></summary>
|
|
1088
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>
|
|
1089
1083
|
<span class="w"> </span><span class="sd">"""</span>
|
|
1090
|
-
<span class="sd"> Provide projects, instance types, software package
|
|
1084
|
+
<span class="sd"> Provide projects, instance types, and software package data.</span>
|
|
1091
1085
|
|
|
1092
1086
|
<span class="sd"> Keyword Args:</span>
|
|
1093
1087
|
<span class="sd"> force: (bool) If `True`, then force the system to fetch fresh data -- Defaults to `False`.</span>
|
|
@@ -1096,10 +1090,10 @@ the software available at Conductor, or a subset based on specified products.</p
|
|
|
1096
1090
|
<span class="sd"> ValueError: Module was not initialized with [init()](/data/#ciocore.data.init).</span>
|
|
1097
1091
|
|
|
1098
1092
|
<span class="sd"> Returns:</span>
|
|
1099
|
-
<span class="sd"> dict: Keys are `projects`, `instance_types`, `software
|
|
1093
|
+
<span class="sd"> dict: Keys are `projects`, `instance_types`, `software`.</span>
|
|
1100
1094
|
|
|
1101
1095
|
<span class="sd"> When you access the data, if it has already been fetched, it will be returned. Otherwise,</span>
|
|
1102
|
-
<span class="sd"> requests will be made to fetch
|
|
1096
|
+
<span class="sd"> requests will be made to fetch the data. You may need to authenticate in order to access the</span>
|
|
1103
1097
|
<span class="sd"> data.</span>
|
|
1104
1098
|
|
|
1105
1099
|
<span class="sd"> The set of instance types and software can be pruned to match the available platforms</span>
|
|
@@ -1119,7 +1113,6 @@ the software available at Conductor, or a subset based on specified products.</p
|
|
|
1119
1113
|
<span class="sd"> * **software** is a PackageTree object containing either all</span>
|
|
1120
1114
|
<span class="sd"> the software available at Conductor, or a subset based on specified products.</span>
|
|
1121
1115
|
|
|
1122
|
-
<span class="sd"> * **account** is a dictionary containing account information gained from the JWT token.</span>
|
|
1123
1116
|
|
|
1124
1117
|
<span class="sd"> Examples:</span>
|
|
1125
1118
|
<span class="sd"> >>> from ciocore import data as coredata</span>
|
|
@@ -1133,10 +1126,6 @@ the software available at Conductor, or a subset based on specified products.</p
|
|
|
1133
1126
|
|
|
1134
1127
|
<span class="sd"> >>> coredata.data()["instance_types"]</span>
|
|
1135
1128
|
<span class="sd"> <ciocore.hardware_set.HardwareSet object at 0x0000028941CD9DC0></span>
|
|
1136
|
-
|
|
1137
|
-
<span class="sd"> >>> coredata.data()["account"]["account_id"]</span>
|
|
1138
|
-
<span class="sd"> 123456789012</span>
|
|
1139
|
-
|
|
1140
1129
|
<span class="sd"> """</span>
|
|
1141
1130
|
|
|
1142
1131
|
<span class="k">global</span> <span class="n">__data__</span>
|
|
@@ -1169,9 +1158,6 @@ the software available at Conductor, or a subset based on specified products.</p
|
|
|
1169
1158
|
<span class="k">pass</span>
|
|
1170
1159
|
<span class="n">__data__</span><span class="p">[</span><span class="s2">"extra_environment"</span><span class="p">]</span> <span class="o">=</span> <span class="n">extra_env_vars</span>
|
|
1171
1160
|
|
|
1172
|
-
<span class="n">__data__</span><span class="p">[</span><span class="s2">"account"</span><span class="p">]</span> <span class="o">=</span> <span class="n">api_client</span><span class="o">.</span><span class="n">get_account_data</span><span class="p">()</span>
|
|
1173
|
-
|
|
1174
|
-
|
|
1175
1161
|
<span class="c1"># PLATFORMS</span>
|
|
1176
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">"operating_system"</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>
|
|
1177
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>
|
ciocore/docsite/objects.inv
CHANGED
|
Binary file
|