cgcsdk 1.0.5__py3-none-any.whl → 1.0.7__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.
@@ -14,7 +14,9 @@ CUSTOM_EXCEPTIONS = {
14
14
  409: {
15
15
  "PVC_NAME_ALREADY_EXISTS": "Volume with this name already exists.",
16
16
  "PVC_DELETE_EXCEPTION": "Can't delete mounted volume, try with force",
17
- "RESOURCE_TEMPLATE_NAME_ALREADY_EXISTS": "Template with this name already exists.",
17
+ "RESOURCE_PORTS_ALREADY_EXISTS": "Port with this name already exists.",
18
+ "RESOURCE_TEMPLATE_NAME_ALREADY_EXISTS": "Resource with this name already exists.",
19
+ "JOB_CREATE_ALREADY_EXISTS": "Job with this name already exists.",
18
20
  },
19
21
  404: {
20
22
  "PVC_CREATE_NO_SC": "Selected disk type and access mode unavailable",
@@ -29,11 +31,14 @@ CUSTOM_EXCEPTIONS = {
29
31
  "COMPUTE_CREATE_TEMPLATE_NOT_FOUND": "There is no template with this name.",
30
32
  "COMPUTE_TEMPLATE_NAME_NOT_FOUND": "No app with this name.",
31
33
  "COMPUTE_RESOURCE_QUOTA_NOT_FOUND": "You do not have enforced limits on your namespace.",
34
+ "JOB_NOT_FOUND": "Job with this name not found.",
35
+ "RESOURCE_NOT_FOUND": "Resource with this name not found.",
32
36
  },
33
37
  400: {
34
38
  "WRONG_DATE_FORMAT": "Wrong date format.",
35
39
  "ENTITY_NOT_ALLOWED": "You can't create this entity.",
36
40
  "PVC_MOUNT_ALREADY_MOUNTED": "This volume is already mounted.",
37
41
  "TEMPLATE_NAME_SYSTEM_RESERVED": "You can't create app with this name.",
42
+ "JOB_LACKS_REQUIRED_PARAMETER": "Job requires container image parameter.",
38
43
  },
39
44
  }
@@ -15,14 +15,14 @@ def load_user_api_keys():
15
15
 
16
16
  @key_error_decorator_for_helpers
17
17
  def get_api_url_and_prepare_headers():
18
- """Loads API_URL and user api keys into single function. Ment to be used as single point of truth for all andpoints except register - due to different Content-Type header
18
+ """Loads API_URL and user api keys into single function. Mend to be used as single point of truth for all endpoints except register - due to different Content-Type header
19
19
 
20
20
  :return: API_URL and headers
21
21
  :rtype: string and dict
22
22
  """
23
23
  api_key, api_secret = load_user_api_keys()
24
24
  headers = {
25
- "Content-Type": "application/json",
25
+ "Content-Type": "application/json; charset=UTF-8",
26
26
  "accept": "application/json",
27
27
  "api-key": api_key,
28
28
  "api-secret": api_secret,
@@ -0,0 +1,70 @@
1
+ Metadata-Version: 2.1
2
+ Name: cgcsdk
3
+ Version: 1.0.7
4
+ Summary: Comtegra GPU Cloud REST API client
5
+ Author: Comtegra AI Team
6
+ Author-email: ai@comtegra.pl
7
+ License: BSD 2-clause
8
+ Project-URL: Documentation, https://example.com/documentation/
9
+ Project-URL: GitHub, https://github.com/foobar/foobar/
10
+ Project-URL: Changelog, https://github.com/foobar/foobar/blob/master/CHANGELOG.md
11
+ Keywords: cloud,sdk,orchestrator,kubernetes,jupyter-notebook
12
+ Classifier: Development Status :: 1 - Planning
13
+ Classifier: Intended Audience :: Science/Research
14
+ Classifier: License :: OSI Approved :: BSD License
15
+ Classifier: Operating System :: POSIX :: Linux
16
+ Classifier: Programming Language :: Python :: 3
17
+ Classifier: Programming Language :: Python :: 3.4
18
+ Classifier: Programming Language :: Python :: 3.5
19
+ Classifier: Programming Language :: Python :: 3.8
20
+ Classifier: Programming Language :: Python :: 3.9
21
+ Classifier: Programming Language :: Python :: 3.10
22
+ Description-Content-Type: text/markdown
23
+ License-File: LICENSE
24
+ Requires-Dist: click
25
+ Requires-Dist: python-dotenv
26
+ Requires-Dist: tabulate
27
+ Requires-Dist: pycryptodomex
28
+ Requires-Dist: paramiko >=2.11
29
+ Requires-Dist: statsd
30
+ Requires-Dist: requests
31
+ Requires-Dist: setuptools
32
+ Requires-Dist: colorama
33
+ Requires-Dist: redis
34
+ Requires-Dist: pymongo
35
+ Requires-Dist: psycopg2-binary
36
+
37
+ # Comtegra GPU Cloud CLI Client
38
+
39
+ ## Basic info
40
+
41
+ CGC Clinet is complete solution to create and manage your compute resources through CLI interface and python code. It incorporates CLI and SDK in one package.
42
+
43
+ CGC CLI is a command line interface for Comtegra GPU Cloud. CGC CLI enables management of your Comtegra GPU Cloud resources. Current version of the app provides support for compute, storage and network resurces to be created, listed and deleted. Every compute resource is given to you as an URL, which is accessible from open Internet.
44
+
45
+ To enable better access to your storage resources, every account has the ability to spawn free of charge filebrowser which is local implementation of dropbox. Remember to mount newely created volumes to it.
46
+
47
+ For now, we provide the ability to spawn compute resources like:
48
+
49
+ 1. [Jupyter notebook](https://jupyter.org/) with tensorflow or pytorch installed as default
50
+ 2. [Triton inferencing server](https://docs.nvidia.com/deeplearning/triton-inference-server/) for large scale inferencing
51
+ 3. [Label studio](https://labelstud.io/) for easy management of your data annotation tasks with variety of modes
52
+ 4. [Rapids](https://rapids.ai/) suite of accelerated libraries for data processing
53
+
54
+ Notebooks are equiped with all CUDA libraries and GPU drivers which enables the usage of GPU for accelerated computations.
55
+ Apart from compute resources, we provide the database engines accessible from within your namespace:
56
+
57
+ 1. [MongoDB](https://www.mongodb.org/)
58
+ 2. [PostgreSQL](https://www.postgresql.org/)
59
+ 3. [Redis](https://redis.io/)
60
+ 4. [Weaviate](https://weaviate.io/)
61
+
62
+ More are coming!
63
+ Please follow instructions to get started.
64
+
65
+ ## More info
66
+
67
+ If you'd like to know more visit:
68
+
69
+ - [Comtegra GPU Website](https://cgc.comtegra.cloud)
70
+ - [Docs](https://docs.cgc.comtegra.cloud)
@@ -1,12 +1,12 @@
1
- cgc/.env,sha256=4WIMONz4kDhj4OoFOm52Rauw6Ba84NI3HKiCBB3t1-o,209
2
- cgc/CHANGELOG.md,sha256=WHHXunoy5D1qKLhG3InzyLPU8gRYtZrLD_jBljBZBLw,7433
1
+ cgc/.env,sha256=0RLfGys6OqABCJ5Ak-tj_AUbvaLN1A6Erd4O-fnAUXE,209
2
+ cgc/CHANGELOG.md,sha256=unRU_finGpvnpbv2U4hFa1E_IJ_g0X6uoGW4jTmZ3P8,7808
3
3
  cgc/__init__.py,sha256=d03Xv8Pw4ktNyUHfmicP6XfxYPXnVYLaCZPyUlg_RNQ,326
4
- cgc/cgc.py,sha256=kPLg3h-3kjlMBiwZGOM7yvXJ7pzkVglAbWWQ7KX8jeY,1377
4
+ cgc/cgc.py,sha256=wcngqkKT1AxkKcc-F63cBrfx9mxLKfDM8H8ciuIFnyw,1493
5
5
  cgc/config.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
6
6
  cgc/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
7
- cgc/commands/cgc_cmd.py,sha256=tct8ZBplLsqD-gjxsnwx_uJo1361iOnZvvxGIGYMU_c,4310
8
- cgc/commands/cgc_cmd_responses.py,sha256=ToPjvGf3zUbFLhLwv-BV8ZAvAHg1xS99iprM928MnOY,2026
9
- cgc/commands/cgc_helpers.py,sha256=nDq9qLRpF2yu9vvYvDjnIYKudTNdrRop0XAOLYm6zxs,1509
7
+ cgc/commands/cgc_cmd.py,sha256=QwqjZl9FmAMOvuUQMJm-wOV88OxbdwK5UIS0zkg-mAo,4956
8
+ cgc/commands/cgc_cmd_responses.py,sha256=wO9Hf5_4jaw1ZRhQvh9Za0S_vhc22t-0_CoEGz5ndNE,2245
9
+ cgc/commands/cgc_helpers.py,sha256=ngArFjVw-8P_2g7J8k3b9xgDxfJw7JeaOtkhTySMSGU,1174
10
10
  cgc/commands/exceptions.py,sha256=l3Sms3D2fxSpLQQQEYeLWxO3to82myTQ0VFgFYdQdLU,45
11
11
  cgc/commands/auth/__init__.py,sha256=K8HkHHotMnK7SQRAst5rx_wprHEphPo_w2KToEymjAY,399
12
12
  cgc/commands/auth/auth_cmd.py,sha256=jfijV-C0uOnpj5LcOgsW7Sn5JiemZ-nuQRQUEjEvaEk,3856
@@ -17,29 +17,34 @@ cgc/commands/billing/billing_cmd.py,sha256=T1E5WW5Z-RlzddaotimTuvLvIbGihNpStIBET
17
17
  cgc/commands/billing/billing_responses.py,sha256=HAD5N-Odx3Jz1OmhO4v66rHoXpTYIOGlXDsrs0da9dk,1949
18
18
  cgc/commands/billing/billing_utils.py,sha256=zXLbBBcWeOgur-r0OKiIjaKeaxMNxASXWzCTeTsyC6o,4711
19
19
  cgc/commands/compute/__init__.py,sha256=lCdLfZ0ECSHtXEUSwq5YRHH85yXHchSsz8ZJvmClPtI,239
20
- cgc/commands/compute/compute_cmd.py,sha256=_4yt6sGWwbqZSUcc-VjtF2luTwyeQVbu2MsDXpUL1lY,15266
21
- cgc/commands/compute/compute_models.py,sha256=DzktT7nR6eG3po6iIayQjnczmnZruAl00Q9o3okqdng,1139
20
+ cgc/commands/compute/compute_cmd.py,sha256=jgO61ULXIAuRn1LcFn0VU0X2-oLvBQB-0_OYMzXau0w,15490
21
+ cgc/commands/compute/compute_models.py,sha256=Am9UdlTGZRGIEOw4oHvFHwedM1IMunOTCVuhZ8nMiRc,1173
22
22
  cgc/commands/compute/compute_responses.py,sha256=eOmcllyOqPYqN0kSUzSpuC2S1rFmkkawgc_F-0-LSIQ,5807
23
- cgc/commands/compute/compute_utills.py,sha256=oANUoJRt0L2VDKoMsAhEkE5lfigjRrX9fJjhWpG1Mc4,8615
23
+ cgc/commands/compute/compute_utills.py,sha256=XXnd_EuF9vCmW14r0ThlN98ScKSx3KAeqFbWy2g2mlk,8812
24
24
  cgc/commands/db/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
25
- cgc/commands/db/db_cmd.py,sha256=zVcA5GHsW2sZ0Q826q7Va-4Y9iGmw-J7aBPwu-PWF8I,3293
25
+ cgc/commands/db/db_cmd.py,sha256=r0iwQ9oIQLcozshVyaHBxQMijYLrcfKvm0bXr9jGhek,3309
26
26
  cgc/commands/debug/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
27
27
  cgc/commands/debug/debug_cmd.py,sha256=kuAuh5YOqzGFjoiYZwfM9FJ1z5OeSpC0JAIUEzS83lM,412
28
+ cgc/commands/jobs/__init__.py,sha256=E-438wgIzlnGmXs5jgmWAhJ1KNV6UXF2gz8SXu3UxA0,231
29
+ cgc/commands/jobs/job_utils.py,sha256=BMwd7GA-WxC-NfpiziCQkG1TCNP98S3DWNpYmJbFCLY,5952
30
+ cgc/commands/jobs/jobs_cmd.py,sha256=Q-orK6B9Zk1zAf8sOM6QqF9Eeu092P-UEg4GRA-zX-s,6555
31
+ cgc/commands/jobs/jobs_responses.py,sha256=XYFTWHKvHKeZ-aOWlO0MI0iZnVm77SKqg9Y3N2CJaZU,1771
28
32
  cgc/commands/resource/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
29
- cgc/commands/resource/resource_cmd.py,sha256=nHIlUxtMJQnffy2TfcJy_N1Q6juMPsCK7gc542-fhmU,4021
33
+ cgc/commands/resource/resource_cmd.py,sha256=ALROaJPRK5BB8R_oEC7JzOl3J8umMmhC_HJuwGFaw_M,4053
30
34
  cgc/commands/resource/resource_responses.py,sha256=sES7mAi_Cv5B6Z3I_6eUOqVwOr2HgMO45cz8MiNZetQ,197
31
35
  cgc/commands/volume/__init__.py,sha256=Ou3kyb72aaXkrVCfQCVdniA65R2xHsRFgebooG1gflA,384
32
36
  cgc/commands/volume/data_model.py,sha256=meprXdaXLo3mMTZta1ks1-BJ7G0rO16qi_ycH-sXJpY,1295
33
- cgc/commands/volume/volume_cmd.py,sha256=C2K6PclAYhRm5optlmSxj4KujonYu8kdu1kGJQ0Nck4,7609
37
+ cgc/commands/volume/volume_cmd.py,sha256=5bd0vq5--Y7IfniO33tGBYH0Z67Le2s_AMTiwJcPBA4,7673
34
38
  cgc/commands/volume/volume_responses.py,sha256=WefUohXxXZ9Znfc6P2XjoAM2RlA19hMKcVaW-xG9HWs,3199
35
39
  cgc/commands/volume/volume_utils.py,sha256=n6s0FgpsYyxFMp_JdMRCzRi5Ar3_Svg9JDvWSdX4lhk,1919
36
- cgc/sdk/__init__.py,sha256=2KWwBgq1wxwrB1uTYfN4TvKoNAWiy5qugb1L7YPspfo,271
40
+ cgc/sdk/__init__.py,sha256=qR4-ySTsunbZBRqtUGa6DAzW-E8fXf1wlDSwIifLOeU,297
37
41
  cgc/sdk/exceptions.py,sha256=99XIzDO6LYKjex715troH-MkGUN7hi2Bit4KHfSHDis,214
38
42
  cgc/sdk/handlers.py,sha256=ECCHNe1pErsXFlmwHewsWRvYqzAZ5j5TrSqwernpLJk,868
43
+ cgc/sdk/job.py,sha256=SclaqhY0rDACT_yg9e9AiYTsmXglIt6iTharwUPSAa4,5332
39
44
  cgc/sdk/mongodb.py,sha256=TJ2XU7nilNRXLOIpQQPrRiVxHN2TaVM5QOSuMRtNDVs,7221
40
45
  cgc/sdk/postgresql.py,sha256=ziXaMMwjSF3k1OAID3F9npqWVxreQaoZ8wn7X8x1FZw,1637
41
46
  cgc/sdk/redis.py,sha256=W5wS9Sgyv4098yzWAwG7qEk4HEDwscE3JmWgPC3NCzc,2844
42
- cgc/sdk/resource.py,sha256=X1MqX2dYom5G8zu27onTdZR7tZK6-VlBgH9MXoQwfLY,13460
47
+ cgc/sdk/resource.py,sha256=Wodt8pe15zg1uuclfV4Qxntffph70ULhNig_gOgMKz8,13544
43
48
  cgc/telemetry/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
44
49
  cgc/telemetry/basic.py,sha256=XagCcyH4QSEPmfiQ1WCjqXslnJO6IaJCY0AMPySd5rc,3175
45
50
  cgc/tests/__init__.py,sha256=8aI3MVpkzaj0_UX02kZCtY5vmGO0rnq0mw2H04-OHf8,102743
@@ -55,9 +60,9 @@ cgc/tests/desired_responses/test_volume_list.txt,sha256=vYB1p50BBHD801q7LUdDc_ac
55
60
  cgc/utils/__init__.py,sha256=l9JF-WnvmhlolxbDKlJPsxquZ-fjtvv7wKvn2zpu5IM,3466
56
61
  cgc/utils/click_group.py,sha256=Scfw8eMIyt2dE1ezUq2JuiI-E_LklqXQXJEr7L-EG6A,633
57
62
  cgc/utils/config_utils.py,sha256=VFTrcN9QeOByIobhh48TfAm-BWON4PN8zX0H8PdUNTU,2729
58
- cgc/utils/custom_exceptions.py,sha256=V50fXz09c_VNzLkgVNCFihIN1o-lUqRV0XMpy8zTgH8,2068
63
+ cgc/utils/custom_exceptions.py,sha256=eVduUpAwUqSCi1hyqal36xj-kWVcy9AeGdhbs1praYI,2432
59
64
  cgc/utils/message_utils.py,sha256=jdUHtR2-gEvyxYu1T0OY-a6cBz5N8TatRaxKNuNcJtU,1766
60
- cgc/utils/prepare_headers.py,sha256=FK04VFreStH6xcfgP8s5zmePilQPn0bKhCajgV0f2sY,2546
65
+ cgc/utils/prepare_headers.py,sha256=xNDins83jdMre80s3orsR3Xu0jPUd82CHppvLq2tbeA,2561
61
66
  cgc/utils/requests_helper.py,sha256=ghn8LTxWqfRvy7BXQdxD4VHX8b-ypHkbnFXY05ig7_A,2050
62
67
  cgc/utils/response_utils.py,sha256=9vJqAt2UFJ1n-oesFPe6CB_ooGoStjl-twY_31Jt4_I,7374
63
68
  cgc/utils/update.py,sha256=AsQwhcBqsjgNPKn6AN6ojt0Ew5otvJXyshys6bjr7DQ,413
@@ -69,9 +74,9 @@ cgc/utils/cryptography/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3
69
74
  cgc/utils/cryptography/aes_crypto.py,sha256=S0rKg38oy7rM5lTrP6DDpjLA-XRxuZggAXyxMFHtyzY,3333
70
75
  cgc/utils/cryptography/encryption_module.py,sha256=rbblBBorHYPGl-iKblyZX3_NuPEvUTpnH1l_RgNGCbA,1958
71
76
  cgc/utils/cryptography/rsa_crypto.py,sha256=h3jU5qPpj9uVjP1rTqZJTdYB5yjhD9HZpr_nD439h9Q,4180
72
- cgcsdk-1.0.5.dist-info/LICENSE,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
73
- cgcsdk-1.0.5.dist-info/METADATA,sha256=rVxdoWqe-3QobxnPQ9LS40TLAAnVEkvUxkXDwM-5f98,1418
74
- cgcsdk-1.0.5.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
75
- cgcsdk-1.0.5.dist-info/entry_points.txt,sha256=bdfIHeJ6Y-BBr5yupCVoK7SUrJj1yNdew8OtIOg_3No,36
76
- cgcsdk-1.0.5.dist-info/top_level.txt,sha256=nqW9tqcIcCXFigQT69AuOk7XHKc4pCuv4HGJQGXb6iA,12
77
- cgcsdk-1.0.5.dist-info/RECORD,,
77
+ cgcsdk-1.0.7.dist-info/LICENSE,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
78
+ cgcsdk-1.0.7.dist-info/METADATA,sha256=lJihZEso4JIomyx6n8X1CA5GHAQT9B3XCWrFR1dANjw,3174
79
+ cgcsdk-1.0.7.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
80
+ cgcsdk-1.0.7.dist-info/entry_points.txt,sha256=bdfIHeJ6Y-BBr5yupCVoK7SUrJj1yNdew8OtIOg_3No,36
81
+ cgcsdk-1.0.7.dist-info/top_level.txt,sha256=nqW9tqcIcCXFigQT69AuOk7XHKc4pCuv4HGJQGXb6iA,12
82
+ cgcsdk-1.0.7.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: bdist_wheel (0.42.0)
2
+ Generator: bdist_wheel (0.43.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -1,39 +0,0 @@
1
- Metadata-Version: 2.1
2
- Name: cgcsdk
3
- Version: 1.0.5
4
- Summary: Comtegra GPU Cloud REST API client
5
- Author: Comtegra AI Team
6
- Author-email: ai@comtegra.pl
7
- License: BSD 2-clause
8
- Project-URL: Documentation, https://example.com/documentation/
9
- Project-URL: GitHub, https://github.com/foobar/foobar/
10
- Project-URL: Changelog, https://github.com/foobar/foobar/blob/master/CHANGELOG.md
11
- Keywords: cloud,sdk,orchestrator,kubernetes,jupyter-notebook
12
- Classifier: Development Status :: 1 - Planning
13
- Classifier: Intended Audience :: Science/Research
14
- Classifier: License :: OSI Approved :: BSD License
15
- Classifier: Operating System :: POSIX :: Linux
16
- Classifier: Programming Language :: Python :: 3
17
- Classifier: Programming Language :: Python :: 3.4
18
- Classifier: Programming Language :: Python :: 3.5
19
- Classifier: Programming Language :: Python :: 3.8
20
- Classifier: Programming Language :: Python :: 3.9
21
- Classifier: Programming Language :: Python :: 3.10
22
- Description-Content-Type: text/markdown
23
- License-File: LICENSE
24
- Requires-Dist: click
25
- Requires-Dist: python-dotenv
26
- Requires-Dist: tabulate
27
- Requires-Dist: pycryptodomex
28
- Requires-Dist: paramiko >=2.11
29
- Requires-Dist: statsd
30
- Requires-Dist: requests
31
- Requires-Dist: setuptools
32
- Requires-Dist: colorama
33
- Requires-Dist: redis
34
- Requires-Dist: pymongo
35
- Requires-Dist: psycopg2-binary
36
-
37
- # CGC Client - K8s Cloud
38
-
39
- cgc command line client for k8s Comtegra cloud environment.