ciocore 6.3.2rc1__py2.py3-none-any.whl → 6.4.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.

Files changed (91) hide show
  1. ciocore/VERSION +1 -1
  2. ciocore/__about__.py +3 -20
  3. ciocore/api_client.py +116 -236
  4. ciocore/cli/__init__.py +3 -0
  5. ciocore/cli/conductor.py +206 -0
  6. ciocore/config.py +44 -50
  7. ciocore/data.py +131 -85
  8. ciocore/downloader.py +64 -46
  9. ciocore/hardware_set.py +99 -326
  10. ciocore/package_environment.py +74 -48
  11. ciocore/package_tree.py +377 -300
  12. ciocore/uploader/_uploader.py +2 -6
  13. ciocore-6.4.0.data/scripts/conductor +19 -0
  14. ciocore-6.4.0.data/scripts/conductor.bat +13 -0
  15. {ciocore-6.3.2rc1.dist-info → ciocore-6.4.0.dist-info}/METADATA +12 -35
  16. ciocore-6.4.0.dist-info/RECORD +51 -0
  17. {ciocore-6.3.2rc1.dist-info → ciocore-6.4.0.dist-info}/WHEEL +1 -1
  18. tests/instance_type_fixtures.py +9 -43
  19. tests/mocks/api_client_mock.py +31 -0
  20. tests/test_hardware_set.py +4 -50
  21. ciocore/cli.py +0 -336
  22. ciocore/dev_inst_tagger.py +0 -120
  23. ciocore/docsite/404.html +0 -723
  24. ciocore/docsite/apidoc/api_client/index.html +0 -2590
  25. ciocore/docsite/apidoc/apidoc/index.html +0 -868
  26. ciocore/docsite/apidoc/config/index.html +0 -1562
  27. ciocore/docsite/apidoc/data/index.html +0 -1550
  28. ciocore/docsite/apidoc/hardware_set/index.html +0 -2324
  29. ciocore/docsite/apidoc/package_environment/index.html +0 -1430
  30. ciocore/docsite/apidoc/package_tree/index.html +0 -2310
  31. ciocore/docsite/assets/_mkdocstrings.css +0 -16
  32. ciocore/docsite/assets/images/favicon.png +0 -0
  33. ciocore/docsite/assets/javascripts/bundle.4e31edb1.min.js +0 -29
  34. ciocore/docsite/assets/javascripts/bundle.4e31edb1.min.js.map +0 -8
  35. ciocore/docsite/assets/javascripts/lunr/min/lunr.ar.min.js +0 -1
  36. ciocore/docsite/assets/javascripts/lunr/min/lunr.da.min.js +0 -18
  37. ciocore/docsite/assets/javascripts/lunr/min/lunr.de.min.js +0 -18
  38. ciocore/docsite/assets/javascripts/lunr/min/lunr.du.min.js +0 -18
  39. ciocore/docsite/assets/javascripts/lunr/min/lunr.es.min.js +0 -18
  40. ciocore/docsite/assets/javascripts/lunr/min/lunr.fi.min.js +0 -18
  41. ciocore/docsite/assets/javascripts/lunr/min/lunr.fr.min.js +0 -18
  42. ciocore/docsite/assets/javascripts/lunr/min/lunr.hi.min.js +0 -1
  43. ciocore/docsite/assets/javascripts/lunr/min/lunr.hu.min.js +0 -18
  44. ciocore/docsite/assets/javascripts/lunr/min/lunr.hy.min.js +0 -1
  45. ciocore/docsite/assets/javascripts/lunr/min/lunr.it.min.js +0 -18
  46. ciocore/docsite/assets/javascripts/lunr/min/lunr.ja.min.js +0 -1
  47. ciocore/docsite/assets/javascripts/lunr/min/lunr.jp.min.js +0 -1
  48. ciocore/docsite/assets/javascripts/lunr/min/lunr.kn.min.js +0 -1
  49. ciocore/docsite/assets/javascripts/lunr/min/lunr.ko.min.js +0 -1
  50. ciocore/docsite/assets/javascripts/lunr/min/lunr.multi.min.js +0 -1
  51. ciocore/docsite/assets/javascripts/lunr/min/lunr.nl.min.js +0 -18
  52. ciocore/docsite/assets/javascripts/lunr/min/lunr.no.min.js +0 -18
  53. ciocore/docsite/assets/javascripts/lunr/min/lunr.pt.min.js +0 -18
  54. ciocore/docsite/assets/javascripts/lunr/min/lunr.ro.min.js +0 -18
  55. ciocore/docsite/assets/javascripts/lunr/min/lunr.ru.min.js +0 -18
  56. ciocore/docsite/assets/javascripts/lunr/min/lunr.sa.min.js +0 -1
  57. ciocore/docsite/assets/javascripts/lunr/min/lunr.stemmer.support.min.js +0 -1
  58. ciocore/docsite/assets/javascripts/lunr/min/lunr.sv.min.js +0 -18
  59. ciocore/docsite/assets/javascripts/lunr/min/lunr.ta.min.js +0 -1
  60. ciocore/docsite/assets/javascripts/lunr/min/lunr.te.min.js +0 -1
  61. ciocore/docsite/assets/javascripts/lunr/min/lunr.th.min.js +0 -1
  62. ciocore/docsite/assets/javascripts/lunr/min/lunr.tr.min.js +0 -18
  63. ciocore/docsite/assets/javascripts/lunr/min/lunr.vi.min.js +0 -1
  64. ciocore/docsite/assets/javascripts/lunr/min/lunr.zh.min.js +0 -1
  65. ciocore/docsite/assets/javascripts/lunr/tinyseg.js +0 -206
  66. ciocore/docsite/assets/javascripts/lunr/wordcut.js +0 -6708
  67. ciocore/docsite/assets/javascripts/workers/search.dfff1995.min.js +0 -42
  68. ciocore/docsite/assets/javascripts/workers/search.dfff1995.min.js.map +0 -8
  69. ciocore/docsite/assets/stylesheets/main.83068744.min.css +0 -1
  70. ciocore/docsite/assets/stylesheets/main.83068744.min.css.map +0 -1
  71. ciocore/docsite/assets/stylesheets/palette.ecc896b0.min.css +0 -1
  72. ciocore/docsite/assets/stylesheets/palette.ecc896b0.min.css.map +0 -1
  73. ciocore/docsite/cmdline/docs/index.html +0 -834
  74. ciocore/docsite/cmdline/downloader/index.html +0 -897
  75. ciocore/docsite/cmdline/packages/index.html +0 -841
  76. ciocore/docsite/cmdline/uploader/index.html +0 -950
  77. ciocore/docsite/how-to-guides/index.html +0 -831
  78. ciocore/docsite/index.html +0 -853
  79. ciocore/docsite/logo.png +0 -0
  80. ciocore/docsite/objects.inv +0 -0
  81. ciocore/docsite/search/search_index.json +0 -1
  82. ciocore/docsite/sitemap.xml +0 -3
  83. ciocore/docsite/sitemap.xml.gz +0 -0
  84. ciocore/docsite/stylesheets/extra.css +0 -26
  85. ciocore/docsite/stylesheets/tables.css +0 -170
  86. ciocore/package_query.py +0 -171
  87. ciocore-6.3.2rc1.dist-info/RECORD +0 -115
  88. ciocore-6.3.2rc1.dist-info/entry_points.txt +0 -2
  89. tests/test_cli.py +0 -161
  90. tests/test_downloader.py +0 -56
  91. {ciocore-6.3.2rc1.dist-info → ciocore-6.4.0.dist-info}/top_level.txt +0 -0
@@ -1,1550 +0,0 @@
1
-
2
- <!doctype html>
3
- <html lang="en" class="no-js">
4
- <head>
5
-
6
- <meta charset="utf-8">
7
- <meta name="viewport" content="width=device-width,initial-scale=1">
8
-
9
-
10
- <meta name="author" content="Conductor Developers">
11
-
12
-
13
-
14
- <link rel="prev" href="../config/">
15
-
16
-
17
- <link rel="next" href="../hardware_set/">
18
-
19
-
20
- <link rel="icon" href="../../assets/images/favicon.png">
21
- <meta name="generator" content="mkdocs-1.5.2, mkdocs-material-9.2.0-b2">
22
-
23
-
24
-
25
- <title>ciocore.data - Conductor Core</title>
26
-
27
-
28
-
29
- <link rel="stylesheet" href="../../assets/stylesheets/main.83068744.min.css">
30
-
31
-
32
- <link rel="stylesheet" href="../../assets/stylesheets/palette.ecc896b0.min.css">
33
-
34
-
35
-
36
-
37
-
38
-
39
-
40
-
41
-
42
-
43
-
44
-
45
- <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
46
- <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Raleway:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback">
47
- <style>:root{--md-text-font:"Raleway";--md-code-font:"Roboto Mono"}</style>
48
-
49
-
50
-
51
- <link rel="stylesheet" href="../../assets/_mkdocstrings.css">
52
-
53
- <link rel="stylesheet" href="../../stylesheets/extra.css">
54
-
55
- <link rel="stylesheet" href="../../stylesheets/tables.css">
56
-
57
- <script>__md_scope=new URL("../..",location),__md_hash=e=>[...e].reduce((e,_)=>(e<<5)-e+_.charCodeAt(0),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
58
-
59
-
60
-
61
-
62
-
63
-
64
- </head>
65
-
66
-
67
-
68
-
69
-
70
-
71
-
72
-
73
-
74
- <body dir="ltr" data-md-color-scheme="slate" data-md-color-primary="custom" data-md-color-accent="custom">
75
-
76
-
77
-
78
- <script>var palette=__md_get("__palette");if(palette&&"object"==typeof palette.color)for(var key of Object.keys(palette.color))document.body.setAttribute("data-md-color-"+key,palette.color[key])</script>
79
-
80
- <input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
81
- <input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
82
- <label class="md-overlay" for="__drawer"></label>
83
- <div data-md-component="skip">
84
-
85
-
86
- <a href="#ciocoredata" class="md-skip">
87
- Skip to content
88
- </a>
89
-
90
- </div>
91
- <div data-md-component="announce">
92
-
93
- </div>
94
-
95
-
96
-
97
-
98
-
99
-
100
- <header class="md-header md-header--shadow md-header--lifted" data-md-component="header">
101
- <nav class="md-header__inner md-grid" aria-label="Header">
102
- <a href="https://www.conductortech.com" title="Conductor Core" class="md-header__button md-logo" aria-label="Conductor Core" data-md-component="logo">
103
-
104
- <img src="../../logo.png" alt="logo">
105
-
106
- </a>
107
- <label class="md-header__button md-icon" for="__drawer">
108
-
109
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2Z"/></svg>
110
- </label>
111
- <div class="md-header__title" data-md-component="header-title">
112
- <div class="md-header__ellipsis">
113
- <div class="md-header__topic">
114
- <span class="md-ellipsis">
115
- Conductor Core
116
- </span>
117
- </div>
118
- <div class="md-header__topic" data-md-component="header-topic">
119
- <span class="md-ellipsis">
120
-
121
- ciocore.data
122
-
123
- </span>
124
- </div>
125
- </div>
126
- </div>
127
-
128
-
129
- <form class="md-header__option" data-md-component="palette">
130
-
131
-
132
-
133
-
134
- <input class="md-option" data-md-color-media="" data-md-color-scheme="slate" data-md-color-primary="custom" data-md-color-accent="custom" aria-label="Switch to light mode" type="radio" name="__palette" id="__palette_1">
135
-
136
- <label class="md-header__button md-icon" title="Switch to light mode" for="__palette_2" hidden>
137
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m17.75 4.09-2.53 1.94.91 3.06-2.63-1.81-2.63 1.81.91-3.06-2.53-1.94L12.44 4l1.06-3 1.06 3 3.19.09m3.5 6.91-1.64 1.25.59 1.98-1.7-1.17-1.7 1.17.59-1.98L15.75 11l2.06-.05L18.5 9l.69 1.95 2.06.05m-2.28 4.95c.83-.08 1.72 1.1 1.19 1.85-.32.45-.66.87-1.08 1.27C15.17 23 8.84 23 4.94 19.07c-3.91-3.9-3.91-10.24 0-14.14.4-.4.82-.76 1.27-1.08.75-.53 1.93.36 1.85 1.19-.27 2.86.69 5.83 2.89 8.02a9.96 9.96 0 0 0 8.02 2.89m-1.64 2.02a12.08 12.08 0 0 1-7.8-3.47c-2.17-2.19-3.33-5-3.49-7.82-2.81 3.14-2.7 7.96.31 10.98 3.02 3.01 7.84 3.12 10.98.31Z"/></svg>
138
- </label>
139
-
140
-
141
-
142
-
143
-
144
- <input class="md-option" data-md-color-media="" data-md-color-scheme="default" data-md-color-primary="custom" data-md-color-accent="custom" aria-label="Switch to dark mode" type="radio" name="__palette" id="__palette_2">
145
-
146
- <label class="md-header__button md-icon" title="Switch to dark mode" for="__palette_1" hidden>
147
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 7a5 5 0 0 1 5 5 5 5 0 0 1-5 5 5 5 0 0 1-5-5 5 5 0 0 1 5-5m0 2a3 3 0 0 0-3 3 3 3 0 0 0 3 3 3 3 0 0 0 3-3 3 3 0 0 0-3-3m0-7 2.39 3.42C13.65 5.15 12.84 5 12 5c-.84 0-1.65.15-2.39.42L12 2M3.34 7l4.16-.35A7.2 7.2 0 0 0 5.94 8.5c-.44.74-.69 1.5-.83 2.29L3.34 7m.02 10 1.76-3.77a7.131 7.131 0 0 0 2.38 4.14L3.36 17M20.65 7l-1.77 3.79a7.023 7.023 0 0 0-2.38-4.15l4.15.36m-.01 10-4.14.36c.59-.51 1.12-1.14 1.54-1.86.42-.73.69-1.5.83-2.29L20.64 17M12 22l-2.41-3.44c.74.27 1.55.44 2.41.44.82 0 1.63-.17 2.37-.44L12 22Z"/></svg>
148
- </label>
149
-
150
-
151
- </form>
152
-
153
-
154
-
155
-
156
- <label class="md-header__button md-icon" for="__search">
157
-
158
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg>
159
- </label>
160
- <div class="md-search" data-md-component="search" role="dialog">
161
- <label class="md-search__overlay" for="__search"></label>
162
- <div class="md-search__inner" role="search">
163
- <form class="md-search__form" name="search">
164
- <input type="text" class="md-search__input" name="query" aria-label="Search" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="search-query" required>
165
- <label class="md-search__icon md-icon" for="__search">
166
-
167
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg>
168
-
169
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg>
170
- </label>
171
- <nav class="md-search__options" aria-label="Search">
172
-
173
- <button type="reset" class="md-search__icon md-icon" title="Clear" aria-label="Clear" tabindex="-1">
174
-
175
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
176
- </button>
177
- </nav>
178
-
179
- </form>
180
- <div class="md-search__output">
181
- <div class="md-search__scrollwrap" data-md-scrollfix>
182
- <div class="md-search-result" data-md-component="search-result">
183
- <div class="md-search-result__meta">
184
- Initializing search
185
- </div>
186
- <ol class="md-search-result__list" role="presentation"></ol>
187
- </div>
188
- </div>
189
- </div>
190
- </div>
191
- </div>
192
-
193
-
194
- </nav>
195
-
196
-
197
-
198
- <nav class="md-tabs" aria-label="Tabs" data-md-component="tabs">
199
- <div class="md-grid">
200
- <ul class="md-tabs__list">
201
-
202
-
203
-
204
-
205
-
206
- <li class="md-tabs__item">
207
- <a href="../.." class="md-tabs__link">
208
-
209
-
210
-
211
-
212
- Overview
213
-
214
- </a>
215
- </li>
216
-
217
-
218
-
219
-
220
-
221
-
222
-
223
-
224
-
225
- <li class="md-tabs__item">
226
- <a href="../../cmdline/uploader/" class="md-tabs__link">
227
-
228
-
229
- CLI
230
-
231
- </a>
232
- </li>
233
-
234
-
235
-
236
-
237
-
238
-
239
-
240
-
241
-
242
-
243
-
244
-
245
- <li class="md-tabs__item md-tabs__item--active">
246
- <a href="../apidoc/" class="md-tabs__link">
247
-
248
-
249
- API
250
-
251
- </a>
252
- </li>
253
-
254
-
255
-
256
-
257
-
258
-
259
-
260
-
261
- <li class="md-tabs__item">
262
- <a href="../../how-to-guides/" class="md-tabs__link">
263
-
264
-
265
-
266
-
267
- How to
268
-
269
- </a>
270
- </li>
271
-
272
-
273
-
274
- </ul>
275
- </div>
276
- </nav>
277
-
278
-
279
- </header>
280
-
281
- <div class="md-container" data-md-component="container">
282
-
283
-
284
-
285
-
286
- <main class="md-main" data-md-component="main">
287
- <div class="md-main__inner md-grid">
288
-
289
-
290
-
291
- <div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" >
292
- <div class="md-sidebar__scrollwrap">
293
- <div class="md-sidebar__inner">
294
-
295
-
296
-
297
-
298
-
299
-
300
- <nav class="md-nav md-nav--primary md-nav--lifted" aria-label="Navigation" data-md-level="0">
301
- <label class="md-nav__title" for="__drawer">
302
- <a href="https://www.conductortech.com" title="Conductor Core" class="md-nav__button md-logo" aria-label="Conductor Core" data-md-component="logo">
303
-
304
- <img src="../../logo.png" alt="logo">
305
-
306
- </a>
307
- Conductor Core
308
- </label>
309
-
310
- <ul class="md-nav__list" data-md-scrollfix>
311
-
312
-
313
-
314
-
315
-
316
-
317
- <li class="md-nav__item">
318
- <a href="../.." class="md-nav__link">
319
-
320
-
321
- <span class="md-ellipsis">
322
- Overview
323
- </span>
324
-
325
-
326
- </a>
327
- </li>
328
-
329
-
330
-
331
-
332
-
333
-
334
-
335
-
336
-
337
-
338
-
339
- <li class="md-nav__item md-nav__item--nested">
340
-
341
-
342
-
343
-
344
-
345
-
346
-
347
- <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_2" >
348
-
349
- <label class="md-nav__link" for="__nav_2" id="__nav_2_label" tabindex="0">
350
-
351
-
352
- <span class="md-ellipsis">
353
- CLI
354
- </span>
355
-
356
-
357
- <span class="md-nav__icon md-icon"></span>
358
- </label>
359
-
360
- <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_2_label" aria-expanded="false">
361
- <label class="md-nav__title" for="__nav_2">
362
- <span class="md-nav__icon md-icon"></span>
363
- CLI
364
- </label>
365
- <ul class="md-nav__list" data-md-scrollfix>
366
-
367
-
368
-
369
-
370
-
371
-
372
- <li class="md-nav__item">
373
- <a href="../../cmdline/uploader/" class="md-nav__link">
374
-
375
-
376
- <span class="md-ellipsis">
377
- Uploader
378
- </span>
379
-
380
-
381
- </a>
382
- </li>
383
-
384
-
385
-
386
-
387
-
388
-
389
-
390
-
391
-
392
- <li class="md-nav__item">
393
- <a href="../../cmdline/downloader/" class="md-nav__link">
394
-
395
-
396
- <span class="md-ellipsis">
397
- Downloader
398
- </span>
399
-
400
-
401
- </a>
402
- </li>
403
-
404
-
405
-
406
-
407
-
408
-
409
-
410
-
411
-
412
- <li class="md-nav__item">
413
- <a href="../../cmdline/packages/" class="md-nav__link">
414
-
415
-
416
- <span class="md-ellipsis">
417
- Packages
418
- </span>
419
-
420
-
421
- </a>
422
- </li>
423
-
424
-
425
-
426
-
427
-
428
-
429
-
430
-
431
-
432
- <li class="md-nav__item">
433
- <a href="../../cmdline/docs/" class="md-nav__link">
434
-
435
-
436
- <span class="md-ellipsis">
437
- Docs
438
- </span>
439
-
440
-
441
- </a>
442
- </li>
443
-
444
-
445
-
446
-
447
- </ul>
448
- </nav>
449
-
450
- </li>
451
-
452
-
453
-
454
-
455
-
456
-
457
-
458
-
459
-
460
-
461
-
462
-
463
-
464
- <li class="md-nav__item md-nav__item--active md-nav__item--nested">
465
-
466
-
467
-
468
-
469
-
470
- <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3" checked>
471
-
472
- <label class="md-nav__link" for="__nav_3" id="__nav_3_label" tabindex="0">
473
-
474
-
475
- <span class="md-ellipsis">
476
- API
477
- </span>
478
-
479
-
480
- <span class="md-nav__icon md-icon"></span>
481
- </label>
482
-
483
- <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_3_label" aria-expanded="true">
484
- <label class="md-nav__title" for="__nav_3">
485
- <span class="md-nav__icon md-icon"></span>
486
- API
487
- </label>
488
- <ul class="md-nav__list" data-md-scrollfix>
489
-
490
-
491
-
492
-
493
-
494
-
495
- <li class="md-nav__item">
496
- <a href="../apidoc/" class="md-nav__link">
497
-
498
-
499
- <span class="md-ellipsis">
500
- Api Overview
501
- </span>
502
-
503
-
504
- </a>
505
- </li>
506
-
507
-
508
-
509
-
510
-
511
-
512
-
513
-
514
-
515
- <li class="md-nav__item">
516
- <a href="../api_client/" class="md-nav__link">
517
-
518
-
519
- <span class="md-ellipsis">
520
- ciocore.api_client
521
- </span>
522
-
523
-
524
- </a>
525
- </li>
526
-
527
-
528
-
529
-
530
-
531
-
532
-
533
-
534
-
535
- <li class="md-nav__item">
536
- <a href="../config/" class="md-nav__link">
537
-
538
-
539
- <span class="md-ellipsis">
540
- ciocore.config
541
- </span>
542
-
543
-
544
- </a>
545
- </li>
546
-
547
-
548
-
549
-
550
-
551
-
552
-
553
-
554
-
555
-
556
-
557
- <li class="md-nav__item md-nav__item--active">
558
-
559
- <input class="md-nav__toggle md-toggle" type="checkbox" id="__toc">
560
-
561
-
562
-
563
-
564
-
565
- <label class="md-nav__link md-nav__link--active" for="__toc">
566
-
567
-
568
- <span class="md-ellipsis">
569
- ciocore.data
570
- </span>
571
-
572
-
573
- <span class="md-nav__icon md-icon"></span>
574
- </label>
575
-
576
- <a href="./" class="md-nav__link md-nav__link--active">
577
-
578
-
579
- <span class="md-ellipsis">
580
- ciocore.data
581
- </span>
582
-
583
-
584
- </a>
585
-
586
-
587
-
588
- <nav class="md-nav md-nav--secondary" aria-label="Table of contents">
589
-
590
-
591
-
592
-
593
-
594
-
595
- <label class="md-nav__title" for="__toc">
596
- <span class="md-nav__icon md-icon"></span>
597
- Table of contents
598
- </label>
599
- <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
600
-
601
- <li class="md-nav__item">
602
- <a href="#ciocore.data" class="md-nav__link">
603
- ciocore.data
604
- </a>
605
-
606
- </li>
607
-
608
- <li class="md-nav__item">
609
- <a href="#ciocore.data.init" class="md-nav__link">
610
- init()
611
- </a>
612
-
613
- </li>
614
-
615
- <li class="md-nav__item">
616
- <a href="#ciocore.data.data" class="md-nav__link">
617
- data()
618
- </a>
619
-
620
- </li>
621
-
622
- <li class="md-nav__item">
623
- <a href="#ciocore.data.valid" class="md-nav__link">
624
- valid()
625
- </a>
626
-
627
- </li>
628
-
629
- <li class="md-nav__item">
630
- <a href="#ciocore.data.clear" class="md-nav__link">
631
- clear()
632
- </a>
633
-
634
- </li>
635
-
636
- <li class="md-nav__item">
637
- <a href="#ciocore.data.products" class="md-nav__link">
638
- products()
639
- </a>
640
-
641
- </li>
642
-
643
- <li class="md-nav__item">
644
- <a href="#ciocore.data.set_fixtures_dir" class="md-nav__link">
645
- set_fixtures_dir()
646
- </a>
647
-
648
- </li>
649
-
650
- <li class="md-nav__item">
651
- <a href="#ciocore.data.platforms" class="md-nav__link">
652
- platforms()
653
- </a>
654
-
655
- </li>
656
-
657
- </ul>
658
-
659
- </nav>
660
-
661
- </li>
662
-
663
-
664
-
665
-
666
-
667
-
668
-
669
-
670
-
671
- <li class="md-nav__item">
672
- <a href="../hardware_set/" class="md-nav__link">
673
-
674
-
675
- <span class="md-ellipsis">
676
- ciocore.hardware_set
677
- </span>
678
-
679
-
680
- </a>
681
- </li>
682
-
683
-
684
-
685
-
686
-
687
-
688
-
689
-
690
-
691
- <li class="md-nav__item">
692
- <a href="../package_tree/" class="md-nav__link">
693
-
694
-
695
- <span class="md-ellipsis">
696
- ciocore.package_tree
697
- </span>
698
-
699
-
700
- </a>
701
- </li>
702
-
703
-
704
-
705
-
706
-
707
-
708
-
709
-
710
-
711
- <li class="md-nav__item">
712
- <a href="../package_environment/" class="md-nav__link">
713
-
714
-
715
- <span class="md-ellipsis">
716
- ciocore.package_environment
717
- </span>
718
-
719
-
720
- </a>
721
- </li>
722
-
723
-
724
-
725
-
726
- </ul>
727
- </nav>
728
-
729
- </li>
730
-
731
-
732
-
733
-
734
-
735
-
736
-
737
-
738
- <li class="md-nav__item">
739
- <a href="../../how-to-guides/" class="md-nav__link">
740
-
741
-
742
- <span class="md-ellipsis">
743
- How to
744
- </span>
745
-
746
-
747
- </a>
748
- </li>
749
-
750
-
751
-
752
- </ul>
753
- </nav>
754
- </div>
755
- </div>
756
- </div>
757
-
758
-
759
-
760
- <div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" >
761
- <div class="md-sidebar__scrollwrap">
762
- <div class="md-sidebar__inner">
763
-
764
-
765
- <nav class="md-nav md-nav--secondary" aria-label="Table of contents">
766
-
767
-
768
-
769
-
770
-
771
-
772
- <label class="md-nav__title" for="__toc">
773
- <span class="md-nav__icon md-icon"></span>
774
- Table of contents
775
- </label>
776
- <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
777
-
778
- <li class="md-nav__item">
779
- <a href="#ciocore.data" class="md-nav__link">
780
- ciocore.data
781
- </a>
782
-
783
- </li>
784
-
785
- <li class="md-nav__item">
786
- <a href="#ciocore.data.init" class="md-nav__link">
787
- init()
788
- </a>
789
-
790
- </li>
791
-
792
- <li class="md-nav__item">
793
- <a href="#ciocore.data.data" class="md-nav__link">
794
- data()
795
- </a>
796
-
797
- </li>
798
-
799
- <li class="md-nav__item">
800
- <a href="#ciocore.data.valid" class="md-nav__link">
801
- valid()
802
- </a>
803
-
804
- </li>
805
-
806
- <li class="md-nav__item">
807
- <a href="#ciocore.data.clear" class="md-nav__link">
808
- clear()
809
- </a>
810
-
811
- </li>
812
-
813
- <li class="md-nav__item">
814
- <a href="#ciocore.data.products" class="md-nav__link">
815
- products()
816
- </a>
817
-
818
- </li>
819
-
820
- <li class="md-nav__item">
821
- <a href="#ciocore.data.set_fixtures_dir" class="md-nav__link">
822
- set_fixtures_dir()
823
- </a>
824
-
825
- </li>
826
-
827
- <li class="md-nav__item">
828
- <a href="#ciocore.data.platforms" class="md-nav__link">
829
- platforms()
830
- </a>
831
-
832
- </li>
833
-
834
- </ul>
835
-
836
- </nav>
837
- </div>
838
- </div>
839
- </div>
840
-
841
-
842
-
843
- <div class="md-content" data-md-component="content">
844
- <article class="md-content__inner md-typeset">
845
-
846
-
847
-
848
-
849
- <h1 id="ciocoredata">ciocore.data</h1>
850
-
851
-
852
- <div class="doc doc-object doc-module">
853
-
854
- <a id="ciocore.data"></a>
855
- <div class="doc doc-contents first">
856
-
857
- <p>This module is a singleton that provides the data from Conductor endpoints. Specifically, it provides projects, instance types, and software package data. It is also possible to use cached fixture data for development purposes.</p>
858
- <p>Since the data is stored at the module level, you can access it from anywhere in your code without the need to pass it around.</p>
859
-
860
-
861
-
862
- <div class="doc doc-children">
863
-
864
-
865
-
866
-
867
-
868
-
869
-
870
-
871
-
872
-
873
-
874
-
875
- <div class="doc doc-object doc-function">
876
-
877
-
878
-
879
- <h2 id="ciocore.data.init" class="doc doc-heading">
880
- <code class="highlight language-python"><span class="n">init</span><span class="p">(</span><span class="o">*</span><span class="n">products</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span></code>
881
-
882
-
883
- </h2>
884
-
885
- <div class="doc doc-contents ">
886
-
887
- <p>Initialize the module and let it know what host products to provide.</p>
888
-
889
- <p><strong>Parameters:</strong></p>
890
- <table>
891
- <thead>
892
- <tr>
893
- <th>Name</th>
894
- <th>Type</th>
895
- <th>Description</th>
896
- <th>Default</th>
897
- </tr>
898
- </thead>
899
- <tbody>
900
- <tr>
901
- <td><code>products</code></td>
902
- <td><code>str</code></td>
903
- <td><p>Provide a list of products for which to get software packages. If no products are given, the software data contains all products from the packages endpoint. If you provide more than one product, they must all be host level products.</p></td>
904
- <td><code>()</code></td>
905
- </tr>
906
- </tbody>
907
- </table>
908
- <p><strong>Keyword arguments:</strong></p>
909
- <table>
910
- <thead>
911
- <tr>
912
- <th>Name</th>
913
- <th>Type</th>
914
- <th>Description</th>
915
- </tr>
916
- </thead>
917
- <tbody>
918
- <tr>
919
- <td><code>product</code></td>
920
- <td><code>str</code></td>
921
- <td><p><code>DEPRECATED</code> Provide one product for which to get software packages.</p></td>
922
- </tr>
923
- </tbody>
924
- </table>
925
- <p><strong>Examples:</strong></p>
926
- <div class="highlight"><pre><span></span><code><span class="o">&gt;&gt;&gt;</span> <span class="kn">from</span> <span class="nn">ciocore</span> <span class="kn">import</span> <span class="n">data</span> <span class="k">as</span> <span class="n">coredata</span>
927
- <span class="o">&gt;&gt;&gt;</span> <span class="n">coredata</span><span class="o">.</span><span class="n">init</span><span class="p">()</span>
928
- <span class="c1"># OR</span>
929
- <span class="o">&gt;&gt;&gt;</span> <span class="n">coredata</span><span class="o">.</span><span class="n">init</span><span class="p">(</span><span class="s2">&quot;maya-io&quot;</span><span class="p">)</span>
930
- <span class="c1"># OR LEGACY</span>
931
- <span class="o">&gt;&gt;&gt;</span> <span class="n">coredata</span><span class="o">.</span><span class="n">init</span><span class="p">(</span><span class="n">product</span><span class="o">=</span><span class="s2">&quot;all&quot;</span><span class="p">)</span>
932
- <span class="c1"># OR</span>
933
- <span class="o">&gt;&gt;&gt;</span> <span class="n">coredata</span><span class="o">.</span><span class="n">init</span><span class="p">(</span><span class="n">product</span><span class="o">=</span><span class="s2">&quot;maya-io&quot;</span><span class="p">)</span>
934
- </code></pre></div>
935
-
936
- <details class="quote">
937
- <summary>Source code in <code>ciocore/data.py</code></summary>
938
- <div class="highlight"><pre><span></span><code><span class="k">def</span> <span class="nf">init</span><span class="p">(</span><span class="o">*</span><span class="n">products</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
939
- <span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
940
- <span class="sd"> Initialize the module and let it know what host products to provide.</span>
941
-
942
- <span class="sd"> Args:</span>
943
- <span class="sd"> products (str): Provide a list of products for which to get software packages. If no products are given, the software data contains all products from the packages endpoint. If you provide more than one product, they must all be host level products.</span>
944
-
945
- <span class="sd"> Keyword Args:</span>
946
- <span class="sd"> product (str): `DEPRECATED` Provide one product for which to get software packages.</span>
947
-
948
- <span class="sd"> Examples:</span>
949
- <span class="sd"> &gt;&gt;&gt; from ciocore import data as coredata</span>
950
- <span class="sd"> &gt;&gt;&gt; coredata.init()</span>
951
- <span class="sd"> # OR</span>
952
- <span class="sd"> &gt;&gt;&gt; coredata.init(&quot;maya-io&quot;)</span>
953
- <span class="sd"> # OR LEGACY</span>
954
- <span class="sd"> &gt;&gt;&gt; coredata.init(product=&quot;all&quot;)</span>
955
- <span class="sd"> # OR</span>
956
- <span class="sd"> &gt;&gt;&gt; coredata.init(product=&quot;maya-io&quot;)</span>
957
- <span class="sd"> &quot;&quot;&quot;</span>
958
- <span class="k">global</span> <span class="n">__products__</span>
959
- <span class="k">global</span> <span class="n">__platforms__</span>
960
- <span class="k">if</span> <span class="n">products</span><span class="p">:</span>
961
- <span class="k">if</span> <span class="n">kwargs</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">&quot;product&quot;</span><span class="p">):</span>
962
- <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span>
963
- <span class="s2">&quot;Arguments: `products` and `product` specified. Please don&#39;t use both together. The `product` arg is deprecated.&quot;</span>
964
- <span class="p">)</span>
965
- <span class="n">__products__</span> <span class="o">=</span> <span class="nb">list</span><span class="p">(</span><span class="n">products</span><span class="p">)</span>
966
- <span class="k">elif</span> <span class="n">kwargs</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">&quot;product&quot;</span><span class="p">):</span>
967
- <span class="k">if</span> <span class="n">kwargs</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">&quot;product&quot;</span><span class="p">)</span> <span class="o">==</span> <span class="s2">&quot;all&quot;</span><span class="p">:</span>
968
- <span class="n">__products__</span> <span class="o">=</span> <span class="p">[]</span>
969
- <span class="k">else</span><span class="p">:</span>
970
- <span class="n">__products__</span> <span class="o">=</span> <span class="p">[</span><span class="n">kwargs</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">&quot;product&quot;</span><span class="p">)]</span>
971
- <span class="k">else</span><span class="p">:</span>
972
- <span class="n">__products__</span> <span class="o">=</span> <span class="p">[]</span>
973
- <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;SETTING PLATFORMS&quot;</span><span class="p">)</span>
974
- <span class="n">__platforms__</span> <span class="o">=</span> <span class="nb">set</span><span class="p">(</span><span class="n">kwargs</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">&quot;platforms&quot;</span><span class="p">,</span> <span class="p">[</span><span class="s2">&quot;windows&quot;</span><span class="p">,</span> <span class="s2">&quot;linux&quot;</span><span class="p">]))</span>
975
- <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;PLATFORMS: &quot;</span><span class="p">,</span> <span class="n">__platforms__</span><span class="p">)</span>
976
- <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;DONE SETTING PLATFORMS&quot;</span><span class="p">)</span>
977
- </code></pre></div>
978
- </details>
979
- </div>
980
-
981
- </div>
982
-
983
-
984
-
985
- <div class="doc doc-object doc-function">
986
-
987
-
988
-
989
- <h2 id="ciocore.data.data" class="doc doc-heading">
990
- <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>
991
-
992
-
993
- </h2>
994
-
995
- <div class="doc doc-contents ">
996
-
997
- <p>Provide projects, instance types, and software package data.</p>
998
-
999
- <p><strong>Keyword arguments:</strong></p>
1000
- <table>
1001
- <thead>
1002
- <tr>
1003
- <th>Name</th>
1004
- <th>Type</th>
1005
- <th>Description</th>
1006
- </tr>
1007
- </thead>
1008
- <tbody>
1009
- <tr>
1010
- <td><code>force</code></td>
1011
- <td></td>
1012
- <td><p>(bool) If <code>True</code>, then fetch fresh data -- Defaults to <code>False</code>.</p></td>
1013
- </tr>
1014
- </tbody>
1015
- </table>
1016
- <p><strong>Exceptions:</strong></p>
1017
- <table>
1018
- <thead>
1019
- <tr>
1020
- <th>Type</th>
1021
- <th>Description</th>
1022
- </tr>
1023
- </thead>
1024
- <tbody>
1025
- <tr>
1026
- <td><code>ValueError</code></td>
1027
- <td><p>Module was not initialized with <a href="/data/#ciocore.data.init">init()</a>.</p></td>
1028
- </tr>
1029
- </tbody>
1030
- </table>
1031
- <p><strong>Returns:</strong></p>
1032
- <table>
1033
- <thead>
1034
- <tr>
1035
- <th>Type</th>
1036
- <th>Description</th>
1037
- </tr>
1038
- </thead>
1039
- <tbody>
1040
- <tr>
1041
- <td><code>dict</code></td>
1042
- <td><p>Keys are <code>projects</code>, <code>instance_types</code>, <code>software</code>.</p></td>
1043
- </tr>
1044
- </tbody>
1045
- </table> <p>When you access the data, if it has already been fetched, it will be returned. Otherwise,
1046
- requests will be made to fetch the data. You may need to authenticate in order to access the
1047
- data.</p>
1048
- <p>The set of instance types and software can be pruned to match the available platforms
1049
- represented by each other. For example, if the instance types come from an orchestrator that
1050
- provides both Windows and Linux machines, and the software product(s) are available on both
1051
- platforms, no pruning occurs. However, if there are no Windows machines available, any Windows
1052
- software will be removed from the package tree. Similarly, if a product is chosen that only runs
1053
- on Windows, Linux instance types will not appearin the list of available hardware.</p>
1054
- <p>Here is a breakdown of each key in the dictionary:</p>
1055
- <ul>
1056
- <li>
1057
- <p><strong>projects</strong> is a list of project names for your authenticated account.</p>
1058
- </li>
1059
- <li>
1060
- <p><strong>instance_types</strong> is an instance of HardwareSet, providing you with access to the list of
1061
- available machines configurations.</p>
1062
- </li>
1063
- <li>
1064
- <p><strong>software</strong> is a PackageTree object containing either all
1065
- the software available at Conductor, or a subset based on specified products.</p>
1066
- </li>
1067
- </ul>
1068
-
1069
- <p><strong>Examples:</strong></p>
1070
- <div class="highlight"><pre><span></span><code><span class="o">&gt;&gt;&gt;</span> <span class="kn">from</span> <span class="nn">ciocore</span> <span class="kn">import</span> <span class="n">data</span> <span class="k">as</span> <span class="n">coredata</span>
1071
- <span class="o">&gt;&gt;&gt;</span> <span class="n">coredata</span><span class="o">.</span><span class="n">init</span><span class="p">(</span><span class="n">product</span><span class="o">=</span><span class="s2">&quot;maya-io&quot;</span><span class="p">)</span>
1072
- </code></pre></div>
1073
- <div class="highlight"><pre><span></span><code><span class="o">&gt;&gt;&gt;</span> <span class="n">coredata</span><span class="o">.</span><span class="n">data</span><span class="p">()[</span><span class="s2">&quot;software&quot;</span><span class="p">]</span>
1074
- <span class="o">&lt;</span><span class="n">ciocore</span><span class="o">.</span><span class="n">package_tree</span><span class="o">.</span><span class="n">PackageTree</span> <span class="nb">object</span> <span class="n">at</span> <span class="mh">0x10e9a4040</span><span class="o">&gt;</span>
1075
- </code></pre></div>
1076
- <div class="highlight"><pre><span></span><code><span class="o">&gt;&gt;&gt;</span> <span class="n">coredata</span><span class="o">.</span><span class="n">data</span><span class="p">()[</span><span class="s2">&quot;projects&quot;</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span>
1077
- <span class="n">ATestForScott</span>
1078
- </code></pre></div>
1079
- <div class="highlight"><pre><span></span><code><span class="o">&gt;&gt;&gt;</span> <span class="n">coredata</span><span class="o">.</span><span class="n">data</span><span class="p">()[</span><span class="s2">&quot;instance_types&quot;</span><span class="p">]</span>
1080
- <span class="o">&lt;</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">&gt;</span>
1081
- </code></pre></div>
1082
-
1083
- <details class="quote">
1084
- <summary>Source code in <code>ciocore/data.py</code></summary>
1085
- <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>
1086
- <span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
1087
- <span class="sd"> Provide projects, instance types, and software package data.</span>
1088
-
1089
- <span class="sd"> Keyword Args:</span>
1090
- <span class="sd"> force: (bool) If `True`, then fetch fresh data -- Defaults to `False`.</span>
1091
-
1092
- <span class="sd"> Raises:</span>
1093
- <span class="sd"> ValueError: Module was not initialized with [init()](/data/#ciocore.data.init).</span>
1094
-
1095
- <span class="sd"> Returns:</span>
1096
- <span class="sd"> dict: Keys are `projects`, `instance_types`, `software`.</span>
1097
-
1098
- <span class="sd"> When you access the data, if it has already been fetched, it will be returned. Otherwise,</span>
1099
- <span class="sd"> requests will be made to fetch the data. You may need to authenticate in order to access the</span>
1100
- <span class="sd"> data.</span>
1101
-
1102
- <span class="sd"> The set of instance types and software can be pruned to match the available platforms</span>
1103
- <span class="sd"> represented by each other. For example, if the instance types come from an orchestrator that</span>
1104
- <span class="sd"> provides both Windows and Linux machines, and the software product(s) are available on both</span>
1105
- <span class="sd"> platforms, no pruning occurs. However, if there are no Windows machines available, any Windows</span>
1106
- <span class="sd"> software will be removed from the package tree. Similarly, if a product is chosen that only runs</span>
1107
- <span class="sd"> on Windows, Linux instance types will not appearin the list of available hardware.</span>
1108
-
1109
- <span class="sd"> Here is a breakdown of each key in the dictionary:</span>
1110
-
1111
- <span class="sd"> * **projects** is a list of project names for your authenticated account.</span>
1112
-
1113
- <span class="sd"> * **instance_types** is an instance of HardwareSet, providing you with access to the list of</span>
1114
- <span class="sd"> available machines configurations.</span>
1115
-
1116
- <span class="sd"> * **software** is a PackageTree object containing either all</span>
1117
- <span class="sd"> the software available at Conductor, or a subset based on specified products.</span>
1118
-
1119
-
1120
- <span class="sd"> Examples:</span>
1121
- <span class="sd"> &gt;&gt;&gt; from ciocore import data as coredata</span>
1122
- <span class="sd"> &gt;&gt;&gt; coredata.init(product=&quot;maya-io&quot;)</span>
1123
-
1124
- <span class="sd"> &gt;&gt;&gt; coredata.data()[&quot;software&quot;]</span>
1125
- <span class="sd"> &lt;ciocore.package_tree.PackageTree object at 0x10e9a4040&gt;</span>
1126
-
1127
- <span class="sd"> &gt;&gt;&gt; coredata.data()[&quot;projects&quot;][0]</span>
1128
- <span class="sd"> ATestForScott</span>
1129
-
1130
- <span class="sd"> &gt;&gt;&gt; coredata.data()[&quot;instance_types&quot;]</span>
1131
- <span class="sd"> &lt;ciocore.hardware_set.HardwareSet object at 0x0000028941CD9DC0&gt;</span>
1132
- <span class="sd"> &quot;&quot;&quot;</span>
1133
-
1134
- <span class="k">global</span> <span class="n">__data__</span>
1135
- <span class="k">global</span> <span class="n">__products__</span>
1136
- <span class="k">global</span> <span class="n">__platforms__</span>
1137
-
1138
- <span class="k">if</span> <span class="n">__products__</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
1139
- <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span>
1140
- <span class="s1">&#39;Data must be initialized before use, e.g. data.init(&quot;maya-io&quot;) or data.init().&#39;</span>
1141
- <span class="p">)</span>
1142
- <span class="n">products_copy</span> <span class="o">=</span> <span class="n">__products__</span><span class="o">.</span><span class="n">copy</span><span class="p">()</span>
1143
- <span class="k">if</span> <span class="n">force</span><span class="p">:</span>
1144
- <span class="n">clear</span><span class="p">()</span>
1145
- <span class="n">init</span><span class="p">(</span><span class="o">*</span><span class="n">products_copy</span><span class="p">)</span>
1146
-
1147
- <span class="k">if</span> <span class="n">__data__</span> <span class="o">==</span> <span class="p">{}:</span>
1148
- <span class="c1"># PROJECTS</span>
1149
- <span class="n">projects_json</span> <span class="o">=</span> <span class="n">_get_json_fixture</span><span class="p">(</span><span class="s2">&quot;projects&quot;</span><span class="p">)</span>
1150
- <span class="k">if</span> <span class="n">projects_json</span><span class="p">:</span>
1151
- <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="n">projects_json</span>
1152
- <span class="k">else</span><span class="p">:</span>
1153
- <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>
1154
-
1155
- <span class="c1"># INST_TYPES</span>
1156
- <span class="n">instance_types</span> <span class="o">=</span> <span class="n">_get_json_fixture</span><span class="p">(</span><span class="s2">&quot;instance_types&quot;</span><span class="p">)</span>
1157
- <span class="k">if</span> <span class="ow">not</span> <span class="n">instance_types</span><span class="p">:</span>
1158
- <span class="n">instance_types</span> <span class="o">=</span> <span class="n">dev_inst_tagger</span><span class="o">.</span><span class="n">request_instance_types</span><span class="p">()</span>
1159
- <span class="k">if</span> <span class="ow">not</span> <span class="n">instance_types</span><span class="p">:</span>
1160
- <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>
1161
-
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>
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>
1164
-
1165
- <span class="c1"># SOFTWARE</span>
1166
- <span class="n">software</span> <span class="o">=</span> <span class="n">_get_json_fixture</span><span class="p">(</span><span class="s2">&quot;software&quot;</span><span class="p">)</span>
1167
- <span class="k">if</span> <span class="ow">not</span> <span class="n">software</span><span class="p">:</span>
1168
- <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>
1169
-
1170
- <span class="n">kwargs</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;platforms&quot;</span><span class="p">:</span> <span class="n">valid_platforms</span><span class="p">}</span>
1171
-
1172
- <span class="c1"># If there&#39;s only one product, it&#39;s possible to initialize the software tree with a plugin.</span>
1173
- <span class="c1"># So we set the product kwarg. Otherwise, we set the host_products kwarg</span>
1174
- <span class="n">host_products</span> <span class="o">=</span> <span class="n">__products__</span>
1175
- <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">__products__</span><span class="p">)</span> <span class="o">==</span> <span class="mi">1</span><span class="p">:</span>
1176
- <span class="n">host_products</span> <span class="o">=</span> <span class="p">[]</span>
1177
- <span class="n">kwargs</span><span class="p">[</span><span class="s2">&quot;product&quot;</span><span class="p">]</span> <span class="o">=</span> <span class="n">__products__</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
1178
-
1179
- <span class="n">software_tree</span> <span class="o">=</span> <span class="n">PackageTree</span><span class="p">(</span><span class="n">software</span><span class="p">,</span> <span class="o">*</span><span class="n">host_products</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
1180
-
1181
- <span class="k">if</span> <span class="n">software_tree</span><span class="p">:</span>
1182
- <span class="n">__data__</span><span class="p">[</span><span class="s2">&quot;software&quot;</span><span class="p">]</span> <span class="o">=</span> <span class="n">software_tree</span>
1183
- <span class="c1"># Revisit instance types to filter out any that are not needed for any software package.</span>
1184
- <span class="n">sw_platforms</span> <span class="o">=</span> <span class="n">software_tree</span><span class="o">.</span><span class="n">platforms</span><span class="p">()</span>
1185
-
1186
- <span class="n">instance_types</span> <span class="o">=</span> <span class="p">[</span>
1187
- <span class="n">it</span> <span class="k">for</span> <span class="n">it</span> <span class="ow">in</span> <span class="n">instance_types</span> <span class="k">if</span> <span class="n">it</span><span class="p">[</span><span class="s2">&quot;operating_system&quot;</span><span class="p">]</span> <span class="ow">in</span> <span class="n">sw_platforms</span>
1188
- <span class="p">]</span>
1189
-
1190
- <span class="n">__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>
1191
-
1192
- <span class="n">__data__</span><span class="p">[</span><span class="s2">&quot;instance_types&quot;</span><span class="p">]</span> <span class="o">=</span> <span class="n">HardwareSet</span><span class="p">(</span><span class="n">instance_types</span><span class="p">)</span>
1193
-
1194
- <span class="k">return</span> <span class="n">__data__</span>
1195
- </code></pre></div>
1196
- </details>
1197
- </div>
1198
-
1199
- </div>
1200
-
1201
-
1202
-
1203
- <div class="doc doc-object doc-function">
1204
-
1205
-
1206
-
1207
- <h2 id="ciocore.data.valid" class="doc doc-heading">
1208
- <code class="highlight language-python"><span class="n">valid</span><span class="p">()</span></code>
1209
-
1210
-
1211
- </h2>
1212
-
1213
- <div class="doc doc-contents ">
1214
-
1215
- <p>Check validity.</p>
1216
-
1217
- <p><strong>Returns:</strong></p>
1218
- <table>
1219
- <thead>
1220
- <tr>
1221
- <th>Type</th>
1222
- <th>Description</th>
1223
- </tr>
1224
- </thead>
1225
- <tbody>
1226
- <tr>
1227
- <td><code>bool</code></td>
1228
- <td><p>True if <code>projects</code>, <code>instance_types</code>, and <code>software</code> are valid.</p></td>
1229
- </tr>
1230
- </tbody>
1231
- </table>
1232
- <p><strong>Examples:</strong></p>
1233
- <div class="highlight"><pre><span></span><code><span class="o">&gt;&gt;&gt;</span> <span class="kn">from</span> <span class="nn">ciocore</span> <span class="kn">import</span> <span class="n">data</span> <span class="k">as</span> <span class="n">coredata</span>
1234
- <span class="o">&gt;&gt;&gt;</span> <span class="n">coredata</span><span class="o">.</span><span class="n">valid</span><span class="p">()</span>
1235
- <span class="kc">True</span>
1236
- </code></pre></div>
1237
-
1238
- <details class="quote">
1239
- <summary>Source code in <code>ciocore/data.py</code></summary>
1240
- <div class="highlight"><pre><span></span><code><span class="k">def</span> <span class="nf">valid</span><span class="p">():</span>
1241
- <span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
1242
- <span class="sd"> Check validity.</span>
1243
-
1244
- <span class="sd"> Returns:</span>
1245
- <span class="sd"> bool: True if `projects`, `instance_types`, and `software` are valid.</span>
1246
-
1247
- <span class="sd"> Examples:</span>
1248
- <span class="sd"> &gt;&gt;&gt; from ciocore import data as coredata</span>
1249
- <span class="sd"> &gt;&gt;&gt; coredata.valid()</span>
1250
- <span class="sd"> True</span>
1251
- <span class="sd"> &quot;&quot;&quot;</span>
1252
-
1253
- <span class="k">if</span> <span class="ow">not</span> <span class="n">__data__</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">&quot;projects&quot;</span><span class="p">):</span>
1254
- <span class="k">return</span> <span class="kc">False</span>
1255
- <span class="k">if</span> <span class="ow">not</span> <span class="n">__data__</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">&quot;instance_types&quot;</span><span class="p">):</span>
1256
- <span class="k">return</span> <span class="kc">False</span>
1257
- <span class="k">if</span> <span class="ow">not</span> <span class="n">__data__</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">&quot;software&quot;</span><span class="p">):</span>
1258
- <span class="k">return</span> <span class="kc">False</span>
1259
- <span class="k">return</span> <span class="kc">True</span>
1260
- </code></pre></div>
1261
- </details>
1262
- </div>
1263
-
1264
- </div>
1265
-
1266
-
1267
-
1268
- <div class="doc doc-object doc-function">
1269
-
1270
-
1271
-
1272
- <h2 id="ciocore.data.clear" class="doc doc-heading">
1273
- <code class="highlight language-python"><span class="n">clear</span><span class="p">()</span></code>
1274
-
1275
-
1276
- </h2>
1277
-
1278
- <div class="doc doc-contents ">
1279
-
1280
- <p>Clear out data.</p>
1281
- <p><a href="/data/#ciocore.data.valid">valid()</a> returns False after clear().</p>
1282
-
1283
- <details class="quote">
1284
- <summary>Source code in <code>ciocore/data.py</code></summary>
1285
- <div class="highlight"><pre><span></span><code><span class="k">def</span> <span class="nf">clear</span><span class="p">():</span>
1286
- <span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
1287
- <span class="sd"> Clear out data.</span>
1288
-
1289
- <span class="sd"> [valid()](/data/#ciocore.data.valid) returns False after clear().</span>
1290
- <span class="sd"> &quot;&quot;&quot;</span>
1291
- <span class="k">global</span> <span class="n">__data__</span>
1292
- <span class="k">global</span> <span class="n">__products__</span>
1293
- <span class="k">global</span> <span class="n">__platforms__</span>
1294
- <span class="n">__data__</span> <span class="o">=</span> <span class="p">{}</span>
1295
- <span class="n">__products__</span> <span class="o">=</span> <span class="kc">None</span>
1296
- <span class="n">__platforms__</span> <span class="o">=</span> <span class="kc">None</span>
1297
- </code></pre></div>
1298
- </details>
1299
- </div>
1300
-
1301
- </div>
1302
-
1303
-
1304
-
1305
- <div class="doc doc-object doc-function">
1306
-
1307
-
1308
-
1309
- <h2 id="ciocore.data.products" class="doc doc-heading">
1310
- <code class="highlight language-python"><span class="n">products</span><span class="p">()</span></code>
1311
-
1312
-
1313
- </h2>
1314
-
1315
- <div class="doc doc-contents ">
1316
-
1317
-
1318
- <p><strong>Returns:</strong></p>
1319
- <table>
1320
- <thead>
1321
- <tr>
1322
- <th>Type</th>
1323
- <th>Description</th>
1324
- </tr>
1325
- </thead>
1326
- <tbody>
1327
- <tr>
1328
- <td><code>list(str)</code></td>
1329
- <td><p>The product names. An empty list signifies all products.</p></td>
1330
- </tr>
1331
- </tbody>
1332
- </table>
1333
- <details class="quote">
1334
- <summary>Source code in <code>ciocore/data.py</code></summary>
1335
- <div class="highlight"><pre><span></span><code><span class="k">def</span> <span class="nf">products</span><span class="p">():</span>
1336
- <span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
1337
-
1338
- <span class="sd"> Returns:</span>
1339
- <span class="sd"> list(str): The product names. An empty list signifies all products.</span>
1340
- <span class="sd"> &quot;&quot;&quot;</span>
1341
- <span class="k">return</span> <span class="n">__products__</span>
1342
- </code></pre></div>
1343
- </details>
1344
- </div>
1345
-
1346
- </div>
1347
-
1348
-
1349
-
1350
- <div class="doc doc-object doc-function">
1351
-
1352
-
1353
-
1354
- <h2 id="ciocore.data.set_fixtures_dir" class="doc doc-heading">
1355
- <code class="highlight language-python"><span class="n">set_fixtures_dir</span><span class="p">(</span><span class="n">path</span><span class="p">)</span></code>
1356
-
1357
-
1358
- </h2>
1359
-
1360
- <div class="doc doc-contents ">
1361
-
1362
- <p>Specify a directory in which to find JSON files representing the three sets of data to provide.
1363
- The individual filenames are:</p>
1364
- <ul>
1365
- <li><code>projects.json</code></li>
1366
- <li><code>instance_types.json</code></li>
1367
- <li><code>software.json</code></li>
1368
- </ul>
1369
- <p>These files could be used in an environment where machines can't access the internet. They are
1370
- also useful as a cache for developers who need to reload often as it avoids waiting for the
1371
- network.</p>
1372
- <p>In order to get the content for the fixtures files, use the following Example</p>
1373
-
1374
- <p><strong>Examples:</strong></p>
1375
- <div class="highlight"><pre><span></span><code><span class="o">&gt;&gt;&gt;</span> <span class="kn">from</span> <span class="nn">ciocore</span> <span class="kn">import</span> <span class="n">api_client</span>
1376
- <span class="o">&gt;&gt;&gt;</span> <span class="n">projects</span> <span class="o">=</span> <span class="n">api_client</span><span class="o">.</span><span class="n">request_projects</span><span class="p">()</span>
1377
- <span class="o">&gt;&gt;&gt;</span> <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>
1378
- <span class="o">&gt;&gt;&gt;</span> <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>
1379
- </code></pre></div>
1380
- <p>Write that data as JSON to the filenames listed above.</p>
1381
-
1382
- <p><strong>Parameters:</strong></p>
1383
- <table>
1384
- <thead>
1385
- <tr>
1386
- <th>Name</th>
1387
- <th>Type</th>
1388
- <th>Description</th>
1389
- <th>Default</th>
1390
- </tr>
1391
- </thead>
1392
- <tbody>
1393
- <tr>
1394
- <td><code>path</code></td>
1395
- <td><code>str</code></td>
1396
- <td><p>Directory in which to find the above files.</p></td>
1397
- <td><em>required</em></td>
1398
- </tr>
1399
- </tbody>
1400
- </table>
1401
- <details class="quote">
1402
- <summary>Source code in <code>ciocore/data.py</code></summary>
1403
- <div class="highlight"><pre><span></span><code><span class="k">def</span> <span class="nf">set_fixtures_dir</span><span class="p">(</span><span class="n">path</span><span class="p">):</span>
1404
- <span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
1405
- <span class="sd"> Specify a directory in which to find JSON files representing the three sets of data to provide.</span>
1406
- <span class="sd"> The individual filenames are:</span>
1407
-
1408
- <span class="sd"> * `projects.json`</span>
1409
- <span class="sd"> * `instance_types.json`</span>
1410
- <span class="sd"> * `software.json`</span>
1411
-
1412
- <span class="sd"> These files could be used in an environment where machines can&#39;t access the internet. They are</span>
1413
- <span class="sd"> also useful as a cache for developers who need to reload often as it avoids waiting for the</span>
1414
- <span class="sd"> network.</span>
1415
-
1416
- <span class="sd"> In order to get the content for the fixtures files, use the following Example</span>
1417
-
1418
- <span class="sd"> Examples:</span>
1419
- <span class="sd"> &gt;&gt;&gt; from ciocore import api_client</span>
1420
- <span class="sd"> &gt;&gt;&gt; projects = api_client.request_projects()</span>
1421
- <span class="sd"> &gt;&gt;&gt; instance_types = api_client.request_instance_types()</span>
1422
- <span class="sd"> &gt;&gt;&gt; software = api_client.request_software_packages()</span>
1423
-
1424
- <span class="sd"> Write that data as JSON to the filenames listed above.</span>
1425
-
1426
- <span class="sd"> Arguments:</span>
1427
- <span class="sd"> path (str): Directory in which to find the above files.</span>
1428
-
1429
- <span class="sd"> &quot;&quot;&quot;</span>
1430
-
1431
- <span class="k">global</span> <span class="n">__fixtures_dir__</span>
1432
- <span class="n">__fixtures_dir__</span> <span class="o">=</span> <span class="n">path</span> <span class="ow">or</span> <span class="s2">&quot;&quot;</span>
1433
- </code></pre></div>
1434
- </details>
1435
- </div>
1436
-
1437
- </div>
1438
-
1439
-
1440
-
1441
- <div class="doc doc-object doc-function">
1442
-
1443
-
1444
-
1445
- <h2 id="ciocore.data.platforms" class="doc doc-heading">
1446
- <code class="highlight language-python"><span class="n">platforms</span><span class="p">()</span></code>
1447
-
1448
-
1449
- </h2>
1450
-
1451
- <div class="doc doc-contents ">
1452
-
1453
- <p>The set of platforms that both software and instance types are valid on.</p>
1454
-
1455
- <p><strong>Returns:</strong></p>
1456
- <table>
1457
- <thead>
1458
- <tr>
1459
- <th>Type</th>
1460
- <th>Description</th>
1461
- </tr>
1462
- </thead>
1463
- <tbody>
1464
- <tr>
1465
- <td><code>set</code></td>
1466
- <td><p>A set containing platforms: windows and/or linux.</p></td>
1467
- </tr>
1468
- </tbody>
1469
- </table>
1470
- <details class="quote">
1471
- <summary>Source code in <code>ciocore/data.py</code></summary>
1472
- <div class="highlight"><pre><span></span><code><span class="k">def</span> <span class="nf">platforms</span><span class="p">():</span>
1473
- <span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
1474
- <span class="sd"> The set of platforms that both software and instance types are valid on.</span>
1475
-
1476
- <span class="sd"> Returns:</span>
1477
- <span class="sd"> set: A set containing platforms: windows and/or linux.</span>
1478
- <span class="sd"> &quot;&quot;&quot;</span>
1479
- <span class="k">return</span> <span class="n">__platforms__</span>
1480
- </code></pre></div>
1481
- </details>
1482
- </div>
1483
-
1484
- </div>
1485
-
1486
-
1487
-
1488
-
1489
-
1490
-
1491
- </div>
1492
-
1493
- </div>
1494
-
1495
- </div>
1496
-
1497
-
1498
-
1499
-
1500
-
1501
-
1502
- </article>
1503
- </div>
1504
-
1505
-
1506
- </div>
1507
-
1508
- <button type="button" class="md-top md-icon" data-md-component="top" hidden>
1509
-
1510
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12Z"/></svg>
1511
- Back to top
1512
- </button>
1513
-
1514
- </main>
1515
-
1516
- <footer class="md-footer">
1517
-
1518
- <div class="md-footer-meta md-typeset">
1519
- <div class="md-footer-meta__inner md-grid">
1520
- <div class="md-copyright">
1521
-
1522
- <div class="md-copyright__highlight">
1523
- Copyright &copy; 2023, CoreWeave.
1524
- </div>
1525
-
1526
-
1527
- Made with
1528
- <a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">
1529
- Material for MkDocs
1530
- </a>
1531
-
1532
- </div>
1533
-
1534
- </div>
1535
- </div>
1536
- </footer>
1537
-
1538
- </div>
1539
- <div class="md-dialog" data-md-component="dialog">
1540
- <div class="md-dialog__inner md-typeset"></div>
1541
- </div>
1542
-
1543
- <script id="__config" type="application/json">{"base": "../..", "features": ["navigation.expand", "navigation.instant", "navigation.tabs", "navigation.tabs.sticky", "navigation.tracking", "navigation.top"], "search": "../../assets/javascripts/workers/search.dfff1995.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}}</script>
1544
-
1545
-
1546
- <script src="../../assets/javascripts/bundle.4e31edb1.min.js"></script>
1547
-
1548
-
1549
- </body>
1550
- </html>