qwak-sdk 0.5.95__py3-none-any.whl → 0.5.97__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 qwak-sdk might be problematic. Click here for more details.
- qwak_sdk/__init__.py +1 -1
- qwak_sdk/commands/models/build/_logic/client_logs/messages.py +12 -12
- qwak_sdk/commands/models/build/_logic/phase/c_deploy/build_polling_status.py +1 -0
- qwak_sdk/commands/models/build/_logic/phase/c_deploy/deploy_build.py +1 -0
- qwak_sdk/commands/models/build/ui.py +1 -0
- qwak_sdk/commands/projects/create/ui.py +32 -1
- {qwak_sdk-0.5.95.dist-info → qwak_sdk-0.5.97.dist-info}/METADATA +3 -2
- {qwak_sdk-0.5.95.dist-info → qwak_sdk-0.5.97.dist-info}/RECORD +10 -10
- {qwak_sdk-0.5.95.dist-info → qwak_sdk-0.5.97.dist-info}/WHEEL +0 -0
- {qwak_sdk-0.5.95.dist-info → qwak_sdk-0.5.97.dist-info}/entry_points.txt +0 -0
qwak_sdk/__init__.py
CHANGED
|
@@ -1,36 +1,36 @@
|
|
|
1
1
|
BUILD_LOGS_URL = (
|
|
2
|
-
"
|
|
2
|
+
"{base_url}/models/{model_id}/build/{build_id}"
|
|
3
3
|
)
|
|
4
4
|
|
|
5
5
|
SUCCESS_MSG_REMOTE = """
|
|
6
6
|
Build ID \033[4m{build_id}\033[0m triggered remotely
|
|
7
7
|
|
|
8
|
-
###########
|
|
8
|
+
########### Follow build logs in the CLI
|
|
9
9
|
qwak models builds logs -b {build_id} --follow
|
|
10
10
|
|
|
11
|
-
###########
|
|
12
|
-
|
|
11
|
+
########### Follow build logs in the platform
|
|
12
|
+
{base_url}/models/{model_id}/build/{build_id}
|
|
13
13
|
"""
|
|
14
14
|
|
|
15
15
|
SUCCESS_MSG_REMOTE_WITH_DEPLOY = """
|
|
16
16
|
Build ID \033[4m{build_id}\033[0m finished successfully and deployed
|
|
17
17
|
|
|
18
|
-
###########
|
|
19
|
-
|
|
18
|
+
########### View the model using platform
|
|
19
|
+
{base_url}/models/{model_id}
|
|
20
20
|
"""
|
|
21
21
|
|
|
22
22
|
FAILED_CONTACT_QWAK_SUPPORT = """
|
|
23
23
|
Build ID \033[4m{build_id}\033[0m failed!!
|
|
24
|
-
You can share the logs from \033[4m{log_file}.zip\033[0m with
|
|
24
|
+
You can share the logs from \033[4m{log_file}.zip\033[0m with the support team.
|
|
25
25
|
"""
|
|
26
26
|
|
|
27
27
|
FAILED_REMOTE_BUILD_SUGGESTION = """
|
|
28
|
-
Your build failed.
|
|
29
|
-
|
|
28
|
+
Your build failed. Check the failure reason in the platform:
|
|
29
|
+
{base_url}/models/{model_id}/build/{build_id}
|
|
30
30
|
"""
|
|
31
31
|
|
|
32
32
|
FAILED_DEPLOY_BUILD_SUGGESTION = """
|
|
33
|
-
Deploying the build
|
|
34
|
-
|
|
35
|
-
|
|
33
|
+
Deploying the build failed. Check the failure reason in the platform:
|
|
34
|
+
{base_url}/models/{model_id}?tabId=1
|
|
35
|
+
Try and redeploy this build either from the platform or the CLI
|
|
36
36
|
"""
|
|
@@ -34,6 +34,7 @@ class BuildPollingStatusStep(Step):
|
|
|
34
34
|
status=BuildStatus.Name(status)
|
|
35
35
|
),
|
|
36
36
|
suggestion=FAILED_REMOTE_BUILD_SUGGESTION.format(
|
|
37
|
+
base_url=self.context.platform_url,
|
|
37
38
|
build_id=self.context.build_id,
|
|
38
39
|
model_id=self.context.model_id,
|
|
39
40
|
project_uuid=self.context.project_uuid,
|
|
@@ -41,6 +41,7 @@ class DeployBuildStep(Step):
|
|
|
41
41
|
raise QwakDeployNewBuildFailedException(
|
|
42
42
|
message=self.DEPLOY_FAILURE_EXCEPTION_MESSAGE.format(e=e),
|
|
43
43
|
suggestion=FAILED_DEPLOY_BUILD_SUGGESTION.format(
|
|
44
|
+
base_url=self.context.platform_url,
|
|
44
45
|
build_id=self.context.build_id,
|
|
45
46
|
model_id=self.context.model_id,
|
|
46
47
|
project_uuid=self.context.project_uuid,
|
|
@@ -1,14 +1,45 @@
|
|
|
1
|
+
import re
|
|
1
2
|
from typing import Optional
|
|
2
3
|
|
|
3
4
|
import click
|
|
5
|
+
from click import Argument, Context
|
|
4
6
|
|
|
5
7
|
from qwak_sdk.commands.projects.create._logic import execute as execute_create
|
|
6
8
|
from qwak_sdk.commands.ui_tools import output_as_json
|
|
7
9
|
from qwak_sdk.inner.tools.cli_tools import QwakCommand
|
|
8
10
|
|
|
9
11
|
|
|
12
|
+
def validate_name(_: Context, argument: Argument, value: str) -> str:
|
|
13
|
+
"""
|
|
14
|
+
Validate that `value` is a valid project name.
|
|
15
|
+
A valid project name must:
|
|
16
|
+
- Start with a lowercase letter,
|
|
17
|
+
- Contain only lowercase letters or hyphens,
|
|
18
|
+
- End with a lowercase letter,
|
|
19
|
+
- Not be empty.
|
|
20
|
+
:param _: Unused parameter for click's callback signature.
|
|
21
|
+
:param argument: Argument provided.
|
|
22
|
+
:param value: The project name to validate.
|
|
23
|
+
:raise click.BadParameter: If the validation fails.
|
|
24
|
+
:return: The validated project name.
|
|
25
|
+
"""
|
|
26
|
+
# Validate that `value`:
|
|
27
|
+
# - starts with a lowercase letter,
|
|
28
|
+
# - contains only lowercase letters or hyphens,
|
|
29
|
+
# - ends with a lowercase letter,
|
|
30
|
+
# - and is not empty.
|
|
31
|
+
if not re.fullmatch(r"[a-z](?:[a-z-]*[a-z])?", value):
|
|
32
|
+
raise click.BadParameter(
|
|
33
|
+
f"{argument.name} must be lower-cased, "
|
|
34
|
+
"start and end with a letter, and only contain letters or hyphens (-)."
|
|
35
|
+
)
|
|
36
|
+
return value
|
|
37
|
+
|
|
38
|
+
|
|
10
39
|
@click.command("create", cls=QwakCommand)
|
|
11
|
-
@click.argument(
|
|
40
|
+
@click.argument(
|
|
41
|
+
"name", metavar="name", type=click.STRING, required=True, callback=validate_name
|
|
42
|
+
)
|
|
12
43
|
@click.option(
|
|
13
44
|
"--description",
|
|
14
45
|
metavar="DESCRIPTION",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: qwak-sdk
|
|
3
|
-
Version: 0.5.
|
|
3
|
+
Version: 0.5.97
|
|
4
4
|
Summary: Qwak SDK and CLI for qwak models
|
|
5
5
|
License: Apache-2.0
|
|
6
6
|
Keywords: mlops,ml,deployment,serving,model
|
|
@@ -22,6 +22,7 @@ Provides-Extra: feature-store
|
|
|
22
22
|
Provides-Extra: feedback
|
|
23
23
|
Provides-Extra: local-deployment
|
|
24
24
|
Requires-Dist: boto3 (>=1.24.116,<2.0.0) ; extra == "batch" or extra == "feedback" or extra == "local-deployment"
|
|
25
|
+
Requires-Dist: click (==8.1.8)
|
|
25
26
|
Requires-Dist: cloudpickle (==2.2.1) ; extra == "feature-store"
|
|
26
27
|
Requires-Dist: cookiecutter
|
|
27
28
|
Requires-Dist: croniter (==1.4.1)
|
|
@@ -34,7 +35,7 @@ Requires-Dist: pyarrow (>=6.0.0) ; extra == "batch" or extra == "feature-store"
|
|
|
34
35
|
Requires-Dist: pyathena (>=2.2.0,!=2.18.0) ; extra == "feature-store"
|
|
35
36
|
Requires-Dist: pyspark (==3.4.2) ; extra == "feature-store"
|
|
36
37
|
Requires-Dist: python-json-logger (>=3.2.1,<4.0.0)
|
|
37
|
-
Requires-Dist: qwak-core (>=0.4.
|
|
38
|
+
Requires-Dist: qwak-core (>=0.4.297)
|
|
38
39
|
Requires-Dist: qwak-inference (>=0.1.20,<0.2.0)
|
|
39
40
|
Requires-Dist: rich (>=13.0.0)
|
|
40
41
|
Requires-Dist: tabulate (>=0.8.0)
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
qwak_sdk/__init__.py,sha256=
|
|
1
|
+
qwak_sdk/__init__.py,sha256=GYAUYSYIahA_d7h-byIpxUuoWYyroDs1iIQzkHlNvjs,135
|
|
2
2
|
qwak_sdk/cli.py,sha256=frMefF0AmLI1g5A9aADNueUkMDjRHikKlmXIA2i4kYA,4510
|
|
3
3
|
qwak_sdk/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
4
4
|
qwak_sdk/commands/_logic/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -106,7 +106,7 @@ qwak_sdk/commands/models/build/_logic/client_logs/__init__.py,sha256=47DEQpj8HBS
|
|
|
106
106
|
qwak_sdk/commands/models/build/_logic/client_logs/cli_phase_run_handler.py,sha256=xz_IemL5plfpRzv_DJ-Be-5SrL2_K_d2fP4ENEc9OGM,4687
|
|
107
107
|
qwak_sdk/commands/models/build/_logic/client_logs/cli_trigger_build_logger.py,sha256=suvt6i68it5NXcX61tEbgZMoqsz8ntJqKh4OipSE1xY,719
|
|
108
108
|
qwak_sdk/commands/models/build/_logic/client_logs/logger.py,sha256=L2UrMlvDkkZ27UfrYMQRJMPLctn1ee6HjCdVDlM863E,2897
|
|
109
|
-
qwak_sdk/commands/models/build/_logic/client_logs/messages.py,sha256=
|
|
109
|
+
qwak_sdk/commands/models/build/_logic/client_logs/messages.py,sha256=e90WeIt0YE8kjEWCmEBFgRT8YXTU7gUpeQr_JSRNLTc,1045
|
|
110
110
|
qwak_sdk/commands/models/build/_logic/client_logs/spinner.py,sha256=iph1eVC7QtSzNobNP2j_x0DC2k7bbka9eT8rcBpZGeQ,359
|
|
111
111
|
qwak_sdk/commands/models/build/_logic/client_logs/trigger_build_logger.py,sha256=NTqa4u-wmba7znCwoG0g2AmwLnO9XtFTkisDAvkQvmQ,1621
|
|
112
112
|
qwak_sdk/commands/models/build/_logic/client_logs/utils.py,sha256=0VcMlmWHtOR1fR4JUDQTDqeQmi3tH3cG8pBZf5Hfusc,311
|
|
@@ -115,14 +115,14 @@ qwak_sdk/commands/models/build/_logic/phase/a_fetch_model_code/__init__.py,sha25
|
|
|
115
115
|
qwak_sdk/commands/models/build/_logic/phase/a_fetch_model_code/get_sdk_version_step.py,sha256=hF9WoMZUcUQcVJgkNIvQsX-SIL29GEQhlFgiTZzjykg,385
|
|
116
116
|
qwak_sdk/commands/models/build/_logic/phase/b_remote_register_qwak_build/__init__.py,sha256=5W2pbxqGPYqagdZ1efUndbK24nvWzv9YgsU0E8Drp5M,592
|
|
117
117
|
qwak_sdk/commands/models/build/_logic/phase/c_deploy/__init__.py,sha256=Ak5f901KsQIA9BIXgtSCAaf7Es_IiCb0gRjPCeY1g_c,182
|
|
118
|
-
qwak_sdk/commands/models/build/_logic/phase/c_deploy/build_polling_status.py,sha256=
|
|
119
|
-
qwak_sdk/commands/models/build/_logic/phase/c_deploy/deploy_build.py,sha256=
|
|
118
|
+
qwak_sdk/commands/models/build/_logic/phase/c_deploy/build_polling_status.py,sha256=eAjsBXb1Dbthj2zO7D63JUQ2pIgl7zypgozsWF5DBeM,2197
|
|
119
|
+
qwak_sdk/commands/models/build/_logic/phase/c_deploy/deploy_build.py,sha256=8W_Wk5KFSz_sSnh-MUj5n7bycY-57QdyiOWjWY9loKY,2298
|
|
120
120
|
qwak_sdk/commands/models/build/_logic/util/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
121
121
|
qwak_sdk/commands/models/build/_logic/util/protobuf_factory.py,sha256=ar_oY38w_x0sxgVF7EBs5h7gchNsDntvtKK5sSYxb24,1686
|
|
122
122
|
qwak_sdk/commands/models/build/_logic/util/step_decorator.py,sha256=HLZyCGdqe3Ir7SaPWp1YNRHJpjXG-e-bbAvnOFysAVM,1913
|
|
123
123
|
qwak_sdk/commands/models/build/_logic/util/text.py,sha256=tH-v19Mt8l90sMVxku5XRtrderT0qdRqJ-jLijqannA,188
|
|
124
124
|
qwak_sdk/commands/models/build/_logic/wait_until_finished.py,sha256=DxIyNK-MFjxSh9xe7dJx-znmz8ZOqelK-cJQvr7YI9g,1220
|
|
125
|
-
qwak_sdk/commands/models/build/ui.py,sha256=
|
|
125
|
+
qwak_sdk/commands/models/build/ui.py,sha256=dB2oG9V-KD0eqVnxCobUmnyXrmAvt2GnJlosoYXt_lg,9933
|
|
126
126
|
qwak_sdk/commands/models/builds/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
127
127
|
qwak_sdk/commands/models/builds/builds_commands_group.py,sha256=0nSfTY8TracXG61rFboQWUTXJisHO6dgtJKeijy6ru8,491
|
|
128
128
|
qwak_sdk/commands/models/builds/cancel/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -257,7 +257,7 @@ qwak_sdk/commands/models/runtime/update/ui.py,sha256=24GX7V05zK0HwLdNIBMaf1zJ9CC
|
|
|
257
257
|
qwak_sdk/commands/projects/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
258
258
|
qwak_sdk/commands/projects/create/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
259
259
|
qwak_sdk/commands/projects/create/_logic.py,sha256=SXgOBjG7MBMdi8SCCJA_GTv93neki3K9RUEsskKUybE,377
|
|
260
|
-
qwak_sdk/commands/projects/create/ui.py,sha256=
|
|
260
|
+
qwak_sdk/commands/projects/create/ui.py,sha256=hohbMpnEb_XwUn23b028bZhsjMAtiV6_pJwYArI0ADE,2289
|
|
261
261
|
qwak_sdk/commands/projects/delete/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
262
262
|
qwak_sdk/commands/projects/delete/_logic.py,sha256=vDuNp11v1DbzQ2aPfIGkZgZiWQjhC_rOag00YNloPhw,203
|
|
263
263
|
qwak_sdk/commands/projects/delete/ui.py,sha256=clzkGbY7P21qUGGUx-wSJzzLMrYvaZNMVqtxRMpG6f8,813
|
|
@@ -319,7 +319,7 @@ qwak_sdk/tools/colors.py,sha256=7pui_GGjC4uZKYFsIyXaJjYsjLxJVHb4OrfTgr93hqo,287
|
|
|
319
319
|
qwak_sdk/tools/files.py,sha256=AyKJTOy7NhvP3SrqwIw_lxYNCOy1CvLgMmSJpWZ0OKM,2257
|
|
320
320
|
qwak_sdk/tools/log_handling.py,sha256=Aa1EmxUPCX8YWiZRutUvnqPv6K_z1zoGMwIWsEv24mM,6327
|
|
321
321
|
qwak_sdk/tools/utils.py,sha256=SHmU4r_m2ABZyFYMC03P17GvltPbYbmB39hvalIZEtI,1168
|
|
322
|
-
qwak_sdk-0.5.
|
|
323
|
-
qwak_sdk-0.5.
|
|
324
|
-
qwak_sdk-0.5.
|
|
325
|
-
qwak_sdk-0.5.
|
|
322
|
+
qwak_sdk-0.5.97.dist-info/METADATA,sha256=Zs2l13ZpdIcBGPrNQVaD9Atsmc83ESea2iWs3GHNXSo,2333
|
|
323
|
+
qwak_sdk-0.5.97.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
|
|
324
|
+
qwak_sdk-0.5.97.dist-info/entry_points.txt,sha256=vSl0ELYDyj640oMM57u0AjBP87wtLYxCcGOendhEx80,47
|
|
325
|
+
qwak_sdk-0.5.97.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|