ciocore 8.1.1rc2__py2.py3-none-any.whl → 8.2.0b1__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.

Binary file
ciocore/hardware_set.py CHANGED
@@ -362,6 +362,14 @@ class HardwareSet(object):
362
362
  else [{"label": "CPU", "order": 1}]
363
363
  )
364
364
  result[it["name"]] = it
365
+ result["best_fit"] = {"name":"automatic_instance_type",
366
+ "description": "Conductor will choose.",
367
+ "categories": [{"label": "auto", "order": 0}],
368
+ "gpu": None,
369
+ "cores": 0,
370
+ "memory": 0
371
+ }
372
+
365
373
 
366
374
  return result
367
375
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ciocore
3
- Version: 8.1.1rc2
3
+ Version: 8.2.0b1
4
4
  Summary: Core functionality for Conductor's client tools
5
5
  Home-page: https://github.com/ConductorTechnologies/ciocore
6
6
  Author: conductor
@@ -10,7 +10,7 @@ Classifier: Programming Language :: Python
10
10
  Classifier: Topic :: Multimedia :: Graphics :: 3D Rendering
11
11
  Description-Content-Type: text/markdown
12
12
  Requires-Dist: requests[use_chardet_on_py3] ==2.28.1
13
- Requires-Dist: pyjwt ==2.8
13
+ Requires-Dist: pyjwt ==1.7.1
14
14
  Requires-Dist: future >=0.18.2
15
15
  Requires-Dist: cioseq <1.0.0,>=0.4.1
16
16
  Requires-Dist: Click <9.0.0,>=8.1.3
@@ -51,10 +51,9 @@ See [CONTRIBUTING](CONTRIBUTING.md)
51
51
 
52
52
  ## Changelog
53
53
 
54
- ## Version:8.1.1-rc.2 -- 02 Jul 2024
55
-
56
- * Updates jwt python package to 2.8
54
+ ## Unreleased:
57
55
 
56
+ * Adds support and updates library tests for instance type auto-selection option.
58
57
 
59
58
  ## Version:8.1.0 -- 10 Jun 2024
60
59
 
@@ -1,6 +1,6 @@
1
- ciocore/VERSION,sha256=Bo6hJqkSSYdOV_xV-y8QJIim98LZgj5S485ebBwudlo,10
1
+ ciocore/VERSION,sha256=8GsYj-WuwuLZceRVqkJ--37Gpie719_Xudc2O7lFoKo,12
2
2
  ciocore/__init__.py,sha256=aTP7LeeosQA8BZE67gDV4jgfTK5zxmwZRjiTRu_ZWj0,646
3
- ciocore/api_client.py,sha256=ewOdANTjWraHOQ_MR7YZRC2YWXWoieCCEbQ9dIdUIdQ,32928
3
+ ciocore/api_client.py,sha256=SBxEwAiwn2XtH7T_ipefUbWhczXjoNdNbQBur1RV-Bw,32810
4
4
  ciocore/cli.py,sha256=jZ1lOKQiUcrMhsVmD9SVmPMFwHtgDF4SaoAf2-PBS54,15449
5
5
  ciocore/client_db.py,sha256=tTz3bl2xeDPPcYSDS3g3QgV_xYihJMx0Kj6OeN2klK0,12978
6
6
  ciocore/common.py,sha256=mBIS6KiYoQsjWe6aIFUGRRvCMl8BIN2kmLZ4J8icap8,14982
@@ -10,7 +10,7 @@ ciocore/config.py,sha256=rCL7kaFn1tYgSglN8q9Wx6SwMpoXTq0BMQGwPRVwVIg,8973
10
10
  ciocore/data.py,sha256=Ji0qUk8nJXBNakoHSqBiVx8O58SbZXyt273SHlEDn3U,7027
11
11
  ciocore/exceptions.py,sha256=4Oq-WX-qiN6kPUdBCHvvd6mtSQ0nCkDbJxWt2CNtpv8,1504
12
12
  ciocore/file_utils.py,sha256=swA7th9WhDEloW69YViRTKB-oeC9UmNdEGegfH1r-Gw,17176
13
- ciocore/hardware_set.py,sha256=FlRQiGCLRcSW7Oko_gzgVK8ZqJ_J92eT8e_AleAbS2E,17047
13
+ ciocore/hardware_set.py,sha256=kzLbKP0YP2DBaRQbzLW5VHkmcNmVR7rXVj7PUj2zgp4,17420
14
14
  ciocore/loggeria.py,sha256=2xdQRFb9NyXynU2O_pSOszJWcpoHgPwTUWJvERg7ODY,15251
15
15
  ciocore/package_environment.py,sha256=MEHV7jfs3NJIEYCIaW8JfJdBmelvPHZMmBzPlXETiRo,7808
16
16
  ciocore/package_query.py,sha256=2m5EBXfu1lmqupZrFF8f8mfkX_PgijpdMxCtFI5e5s0,5574
@@ -26,12 +26,12 @@ ciocore/docsite/index.html,sha256=xz215H_KHWBYI1HT7IRpAZ4d1ptUiO8Y4DlOmbEPgPk,20
26
26
  ciocore/docsite/logo.png,sha256=gArgFFWdw8w985-0TkuGIgU_pW9sziEMZdqytXb5WLo,2825
27
27
  ciocore/docsite/objects.inv,sha256=XwmLactPEWWC4fAWqHNPBXGsluRxLLTrwDLQqq51ONY,775
28
28
  ciocore/docsite/sitemap.xml,sha256=M_V85zl0y2adRvzJAnoCxlZH_Hl7TLnIb1A-6l_xGmI,109
29
- ciocore/docsite/sitemap.xml.gz,sha256=o3msedXC3uTmo0K7j_uAk2fndPXqtET5XrX2Tj5Tdc8,127
30
- ciocore/docsite/apidoc/api_client/index.html,sha256=D2ZiJP2ErZGF0geKR_iSJWiEwAn_TmrFotWugPKTiRo,189084
29
+ ciocore/docsite/sitemap.xml.gz,sha256=3Jlsa-36ZfMjbHYn936cxyK6OG-kL6cMIuXvnjApovY,127
30
+ ciocore/docsite/apidoc/api_client/index.html,sha256=mh9VwU1J3Ks6MWvo5a-PcUt5GYdm8s7KsIVDWfnOeXY,188372
31
31
  ciocore/docsite/apidoc/apidoc/index.html,sha256=KGsHBY6GBF380w338GfOIMWnwAyyLvw2i1RQFORdwlE,26171
32
32
  ciocore/docsite/apidoc/config/index.html,sha256=n3koKPRUza5-uHUt8hK8H8XyH6HG_U2CsGobdaN4KfY,72559
33
33
  ciocore/docsite/apidoc/data/index.html,sha256=QhqiXUd_3qk_jGRYB5JiqlJTem8Jg7aKa5mPPDT1978,50850
34
- ciocore/docsite/apidoc/hardware_set/index.html,sha256=4GEBYy5uLVlJqvdG71RdyrN7sKKuxszxipgmRi_NCbM,123042
34
+ ciocore/docsite/apidoc/hardware_set/index.html,sha256=FJLjrN3pzotVeYsF6aUa0RCYZzorPBMH_p5anZzI35U,124390
35
35
  ciocore/docsite/apidoc/package_environment/index.html,sha256=1d4hVlBXPy4bldkBH1GsRjVd-bxdYANmB-Mg7xIAC_4,69248
36
36
  ciocore/docsite/apidoc/package_tree/index.html,sha256=7GaOHXeM_oKH8Db25f2-h5kUI1R6pcp0bXxW1COCJxs,109393
37
37
  ciocore/docsite/assets/_mkdocstrings.css,sha256=K3bqYEmxlOHQ3-M11JNbBWHCBDBLarkFRm8HuEYrAG4,341
@@ -81,7 +81,7 @@ ciocore/docsite/cmdline/downloader/index.html,sha256=917XE3waukGnIXI9qxl0zYEf3vH
81
81
  ciocore/docsite/cmdline/packages/index.html,sha256=Ssb2R7eSubBNR824oc3jjhJfrG3JKOPojA-uiAczgeQ,20923
82
82
  ciocore/docsite/cmdline/uploader/index.html,sha256=TtLbHNlu4ofZ4bQBqam87RelWdHnVDSL7_rw_YqBbC8,25123
83
83
  ciocore/docsite/how-to-guides/index.html,sha256=rF-DMyk4k_jGUJRF3dKtMMiOgXS8OvBqAn-zxWy3AGs,20100
84
- ciocore/docsite/search/search_index.json,sha256=24JeQBJ6Vw_y6NO5S1UWia1ItSFVUQ8LitoTsBSu6f4,189214
84
+ ciocore/docsite/search/search_index.json,sha256=9GkGlvXOx8zMaOAMa-OFsXBO-tWRZmnOBOzKYCZVm0c,189485
85
85
  ciocore/docsite/stylesheets/extra.css,sha256=_Cxe9Dhg1BBi6Kqaz_iZD9z9VyqxA9vtONRjP4PVic0,354
86
86
  ciocore/docsite/stylesheets/tables.css,sha256=LE_zwGRxGcdPIy-9QiVPecOzlEBSqZb_WP5vDkFE0ZM,3235
87
87
  ciocore/downloader/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -110,7 +110,7 @@ tests/test_common.py,sha256=tY_-SY-JmJX09UehFs9RIDqZ785AmhfTl6eVKJeIUFY,763
110
110
  tests/test_config.py,sha256=-_G682Ss3Zr1FmcMkjla1zAZprX2tQKpKc5_wD28rII,13340
111
111
  tests/test_data.py,sha256=NIBXpCjG3Os3vpc1CkiVONrebro8D_jqQyJ0N3kbucU,5433
112
112
  tests/test_downloader.py,sha256=hceljsjnuvk5Vk5X4mHgavIEcpbv8ylPwpz7rTwJ-aE,4721
113
- tests/test_hardware_set.py,sha256=hW7A_suyYdU7WkB7qoHSBPLxaAP2CKqI0i_ULfO5GeY,4408
113
+ tests/test_hardware_set.py,sha256=E-jNduU1sp-IQa3L4oKGCTn-Tsn8tGUKPrcK4syFJbY,4862
114
114
  tests/test_imports_2and3.py,sha256=ehqpRYPVY7djBcb8OT_cnh86iCJJ9wuMWnfSR9RHxmY,507
115
115
  tests/test_job_downloader.py,sha256=_dZqyLZhc2Bq2n7-skERfodHx1JgFyHw8TamHp6ID9I,7025
116
116
  tests/test_package_environment.py,sha256=CdiC2PDVSnbcwTb4fsDTWqGYSzs1n5ca2KMoyISckGA,5893
@@ -120,8 +120,8 @@ tests/test_uploader.py,sha256=B1llTJt_fqR6e_V_Jxfw9z73QgkFlEPU87xLYGzt-TQ,2914
120
120
  tests/test_validator.py,sha256=2fY66ayNc08PGyj2vTI-V_1yeCWJDngkj2zkUM5TTCI,1526
121
121
  tests/mocks/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
122
122
  tests/mocks/glob.py,sha256=J2MH7nqi6NJOHuGdVWxhfeBd700_Ckj6cLh_8jSNkfg,215
123
- ciocore-8.1.1rc2.dist-info/METADATA,sha256=8SaM-iZm6LoxWP29V4tnE7WLPg2F8H40LP80vs3q51U,18641
124
- ciocore-8.1.1rc2.dist-info/WHEEL,sha256=DZajD4pwLWue70CAfc7YaxT1wLUciNBvN_TTcvXpltE,110
125
- ciocore-8.1.1rc2.dist-info/entry_points.txt,sha256=cCqcALMYbC4d8545V9w0Zysfg9MVuKWhzDQ2er4UfGE,47
126
- ciocore-8.1.1rc2.dist-info/top_level.txt,sha256=SvlM5JlqULzAz00JZWfiUhfjhqDzYzSWssA87zdJl0o,14
127
- ciocore-8.1.1rc2.dist-info/RECORD,,
123
+ ciocore-8.2.0b1.dist-info/METADATA,sha256=z73W0b6QgA8z0RvXf5ZMyWfeDEqYk5aog-voihjWTPY,18666
124
+ ciocore-8.2.0b1.dist-info/WHEEL,sha256=DZajD4pwLWue70CAfc7YaxT1wLUciNBvN_TTcvXpltE,110
125
+ ciocore-8.2.0b1.dist-info/entry_points.txt,sha256=cCqcALMYbC4d8545V9w0Zysfg9MVuKWhzDQ2er4UfGE,47
126
+ ciocore-8.2.0b1.dist-info/top_level.txt,sha256=SvlM5JlqULzAz00JZWfiUhfjhqDzYzSWssA87zdJl0o,14
127
+ ciocore-8.2.0b1.dist-info/RECORD,,
@@ -28,25 +28,31 @@ class TestCategorizedInstanceTypes(unittest.TestCase):
28
28
  self.hs = HardwareSet(CW_INSTANCE_TYPES)
29
29
 
30
30
  def test_number_of_categories(self):
31
- self.assertEqual(self.hs.number_of_categories(), 4)
31
+ self.assertEqual(self.hs.number_of_categories(), 5)
32
32
 
33
33
  def test_categories_sorted_on_order(self):
34
34
  labels = [i["label"] for i in self.hs.get_model()]
35
- self.assertEqual(labels, ["low", "mid", "high", "extra"])
35
+ self.assertEqual(labels, ["auto", "low", "mid", "high", "extra"])
36
36
 
37
37
  def test_content_count(self):
38
38
  low_category_values = [c["value"] for c in self.hs.get_model()[0]["content"]]
39
- self.assertEqual(low_category_values, ["cw-a-4-16", "cw-b-8-16"])
39
+ if len(low_category_values) == 1:
40
+ self.assertEqual(low_category_values, ['automatic_instance_type'])
41
+ else:
42
+ self.assertEqual(low_category_values, ["cw-a-4-16", "cw-b-8-16"])
40
43
 
41
44
  def test_in_several_categories(self):
42
45
  low_category_values = [c["value"] for c in self.hs.get_model()[0]["content"]]
43
46
  extra_category_values = [c["value"] for c in self.hs.get_model()[3]["content"]]
44
- self.assertIn("cw-a-4-16", low_category_values)
45
- self.assertIn("cw-a-4-16", extra_category_values)
47
+ if len(low_category_values) == 1:
48
+ self.assertEqual(low_category_values, ['automatic_instance_type'])
49
+ else:
50
+ self.assertIn("cw-a-4-16", low_category_values)
51
+ self.assertIn("cw-a-4-16", extra_category_values)
46
52
 
47
53
  def test_category_names(self):
48
54
  names = self.hs.labels()
49
- self.assertEqual(names, ["low", "mid", "high", "extra"])
55
+ self.assertEqual(names, ["auto", "low", "mid", "high", "extra"])
50
56
 
51
57
 
52
58
  class TestRecategorizeInstanceTypes(unittest.TestCase):
@@ -106,23 +112,26 @@ class TestUncategorizedInstanceTypes(unittest.TestCase):
106
112
  self.hs = HardwareSet(ALL_INSTANCE_TYPES)
107
113
 
108
114
  def test_number_of_categories_uncategorized(self):
109
- self.assertEqual(self.hs.number_of_categories(), 1)
115
+ self.assertEqual(self.hs.number_of_categories(), 2)
110
116
 
111
117
  def test_model_sorted_on_cores_mem(self):
112
118
  content = self.hs.get_model()[0]["content"]
113
119
  result = [c["label"] for c in content]
114
- self.assertEqual(
115
- result,
116
- [
117
- "windows 4 core 26.0GB Mem",
118
- "linux 4 core 27.0GB Mem",
119
- "linux 8 core 30.0GB Mem",
120
- "windows 32 core 208.0GB Mem",
121
- "linux 32 core 208.0GB Mem",
122
- "windows 64 core 416.0GB Mem",
123
- "linux 64 core 416.0GB Mem",
124
- ],
125
- )
120
+ if len(result) == 1:
121
+ self.assertEqual(result, ['Conductor will choose.'])
122
+ else:
123
+ self.assertEqual(
124
+ result,
125
+ [
126
+ "windows 4 core 26.0GB Mem",
127
+ "linux 4 core 27.0GB Mem",
128
+ "linux 8 core 30.0GB Mem",
129
+ "windows 32 core 208.0GB Mem",
130
+ "linux 32 core 208.0GB Mem",
131
+ "windows 64 core 416.0GB Mem",
132
+ "linux 64 core 416.0GB Mem",
133
+ ],
134
+ )
126
135
 
127
136
 
128
137
  class TestProvider(unittest.TestCase):