aioli-sdk 0.2.4.dev10__tar.gz → 0.2.4.dev11__tar.gz
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.
- {aioli_sdk-0.2.4.dev10 → aioli_sdk-0.2.4.dev11}/PKG-INFO +1 -1
- {aioli_sdk-0.2.4.dev10 → aioli_sdk-0.2.4.dev11}/aioli/__version__.py +1 -1
- {aioli_sdk-0.2.4.dev10 → aioli_sdk-0.2.4.dev11}/aioli/cli/deployment.py +42 -5
- {aioli_sdk-0.2.4.dev10 → aioli_sdk-0.2.4.dev11}/aioli/cli/model.py +41 -60
- {aioli_sdk-0.2.4.dev10 → aioli_sdk-0.2.4.dev11}/aioli/cli/test/test_cli.py +14 -29
- {aioli_sdk-0.2.4.dev10 → aioli_sdk-0.2.4.dev11}/aioli/cli/version.py +5 -1
- {aioli_sdk-0.2.4.dev10 → aioli_sdk-0.2.4.dev11}/aioli_sdk.egg-info/PKG-INFO +1 -1
- {aioli_sdk-0.2.4.dev10 → aioli_sdk-0.2.4.dev11}/aiolirest/__init__.py +1 -1
- {aioli_sdk-0.2.4.dev10 → aioli_sdk-0.2.4.dev11}/aiolirest/api/authentication_api.py +1 -1
- {aioli_sdk-0.2.4.dev10 → aioli_sdk-0.2.4.dev11}/aiolirest/api/deployments_api.py +1 -1
- {aioli_sdk-0.2.4.dev10 → aioli_sdk-0.2.4.dev11}/aiolirest/api/information_api.py +1 -1
- {aioli_sdk-0.2.4.dev10 → aioli_sdk-0.2.4.dev11}/aiolirest/api/packaged_models_api.py +18 -1
- {aioli_sdk-0.2.4.dev10 → aioli_sdk-0.2.4.dev11}/aiolirest/api/registries_api.py +1 -1
- {aioli_sdk-0.2.4.dev10 → aioli_sdk-0.2.4.dev11}/aiolirest/api/roles_api.py +1 -1
- {aioli_sdk-0.2.4.dev10 → aioli_sdk-0.2.4.dev11}/aiolirest/api/templates_api.py +1 -1
- {aioli_sdk-0.2.4.dev10 → aioli_sdk-0.2.4.dev11}/aiolirest/api/users_api.py +1 -1
- {aioli_sdk-0.2.4.dev10 → aioli_sdk-0.2.4.dev11}/aiolirest/api_client.py +1 -1
- {aioli_sdk-0.2.4.dev10 → aioli_sdk-0.2.4.dev11}/aiolirest/configuration.py +2 -2
- {aioli_sdk-0.2.4.dev10 → aioli_sdk-0.2.4.dev11}/aiolirest/exceptions.py +1 -1
- {aioli_sdk-0.2.4.dev10 → aioli_sdk-0.2.4.dev11}/aiolirest/models/__init__.py +1 -1
- {aioli_sdk-0.2.4.dev10 → aioli_sdk-0.2.4.dev11}/aiolirest/models/auto_scaling_template.py +1 -1
- {aioli_sdk-0.2.4.dev10 → aioli_sdk-0.2.4.dev11}/aiolirest/models/autoscaling.py +1 -1
- {aioli_sdk-0.2.4.dev10 → aioli_sdk-0.2.4.dev11}/aiolirest/models/configuration_resources.py +1 -1
- {aioli_sdk-0.2.4.dev10 → aioli_sdk-0.2.4.dev11}/aiolirest/models/deployment.py +1 -1
- {aioli_sdk-0.2.4.dev10 → aioli_sdk-0.2.4.dev11}/aiolirest/models/deployment_model_version.py +1 -1
- {aioli_sdk-0.2.4.dev10 → aioli_sdk-0.2.4.dev11}/aiolirest/models/deployment_request.py +1 -1
- {aioli_sdk-0.2.4.dev10 → aioli_sdk-0.2.4.dev11}/aiolirest/models/deployment_state.py +1 -1
- {aioli_sdk-0.2.4.dev10 → aioli_sdk-0.2.4.dev11}/aiolirest/models/error_response.py +1 -1
- {aioli_sdk-0.2.4.dev10 → aioli_sdk-0.2.4.dev11}/aiolirest/models/event_info.py +1 -1
- {aioli_sdk-0.2.4.dev10 → aioli_sdk-0.2.4.dev11}/aiolirest/models/failure_info.py +1 -1
- {aioli_sdk-0.2.4.dev10 → aioli_sdk-0.2.4.dev11}/aiolirest/models/login_request.py +1 -1
- {aioli_sdk-0.2.4.dev10 → aioli_sdk-0.2.4.dev11}/aiolirest/models/login_response.py +1 -1
- {aioli_sdk-0.2.4.dev10 → aioli_sdk-0.2.4.dev11}/aiolirest/models/model_auth_token.py +1 -1
- {aioli_sdk-0.2.4.dev10 → aioli_sdk-0.2.4.dev11}/aiolirest/models/model_response.py +1 -1
- {aioli_sdk-0.2.4.dev10 → aioli_sdk-0.2.4.dev11}/aiolirest/models/observability.py +1 -1
- {aioli_sdk-0.2.4.dev10 → aioli_sdk-0.2.4.dev11}/aiolirest/models/packaged_model.py +1 -1
- {aioli_sdk-0.2.4.dev10 → aioli_sdk-0.2.4.dev11}/aiolirest/models/packaged_model_request.py +1 -1
- {aioli_sdk-0.2.4.dev10 → aioli_sdk-0.2.4.dev11}/aiolirest/models/resource_profile.py +1 -1
- {aioli_sdk-0.2.4.dev10 → aioli_sdk-0.2.4.dev11}/aiolirest/models/resources_template.py +1 -1
- {aioli_sdk-0.2.4.dev10 → aioli_sdk-0.2.4.dev11}/aiolirest/models/role.py +1 -1
- {aioli_sdk-0.2.4.dev10 → aioli_sdk-0.2.4.dev11}/aiolirest/models/role_assignment.py +1 -1
- {aioli_sdk-0.2.4.dev10 → aioli_sdk-0.2.4.dev11}/aiolirest/models/role_assignments.py +1 -1
- {aioli_sdk-0.2.4.dev10 → aioli_sdk-0.2.4.dev11}/aiolirest/models/security.py +1 -1
- {aioli_sdk-0.2.4.dev10 → aioli_sdk-0.2.4.dev11}/aiolirest/models/success_response.py +1 -1
- {aioli_sdk-0.2.4.dev10 → aioli_sdk-0.2.4.dev11}/aiolirest/models/trained_model_registry.py +1 -1
- {aioli_sdk-0.2.4.dev10 → aioli_sdk-0.2.4.dev11}/aiolirest/models/trained_model_registry_request.py +1 -1
- {aioli_sdk-0.2.4.dev10 → aioli_sdk-0.2.4.dev11}/aiolirest/models/user.py +1 -1
- {aioli_sdk-0.2.4.dev10 → aioli_sdk-0.2.4.dev11}/aiolirest/models/user_patch_request.py +1 -1
- {aioli_sdk-0.2.4.dev10 → aioli_sdk-0.2.4.dev11}/aiolirest/models/user_request.py +1 -1
- {aioli_sdk-0.2.4.dev10 → aioli_sdk-0.2.4.dev11}/aiolirest/rest.py +1 -1
- {aioli_sdk-0.2.4.dev10 → aioli_sdk-0.2.4.dev11}/setup.py +1 -1
- {aioli_sdk-0.2.4.dev10 → aioli_sdk-0.2.4.dev11}/README.md +0 -0
- {aioli_sdk-0.2.4.dev10 → aioli_sdk-0.2.4.dev11}/aioli/__init__.py +0 -0
- {aioli_sdk-0.2.4.dev10 → aioli_sdk-0.2.4.dev11}/aioli/cli/__init__.py +0 -0
- {aioli_sdk-0.2.4.dev10 → aioli_sdk-0.2.4.dev11}/aioli/cli/__main__.py +0 -0
- {aioli_sdk-0.2.4.dev10 → aioli_sdk-0.2.4.dev11}/aioli/cli/_util.py +0 -0
- {aioli_sdk-0.2.4.dev10 → aioli_sdk-0.2.4.dev11}/aioli/cli/cli.py +0 -0
- {aioli_sdk-0.2.4.dev10 → aioli_sdk-0.2.4.dev11}/aioli/cli/errors.py +0 -0
- {aioli_sdk-0.2.4.dev10 → aioli_sdk-0.2.4.dev11}/aioli/cli/registry.py +0 -0
- {aioli_sdk-0.2.4.dev10 → aioli_sdk-0.2.4.dev11}/aioli/cli/render.py +0 -0
- {aioli_sdk-0.2.4.dev10 → aioli_sdk-0.2.4.dev11}/aioli/cli/role.py +0 -0
- {aioli_sdk-0.2.4.dev10 → aioli_sdk-0.2.4.dev11}/aioli/cli/sso.py +0 -0
- {aioli_sdk-0.2.4.dev10 → aioli_sdk-0.2.4.dev11}/aioli/cli/test/conftest.py +0 -0
- {aioli_sdk-0.2.4.dev10 → aioli_sdk-0.2.4.dev11}/aioli/cli/user.py +0 -0
- {aioli_sdk-0.2.4.dev10 → aioli_sdk-0.2.4.dev11}/aioli/common/__init__.py +0 -0
- {aioli_sdk-0.2.4.dev10 → aioli_sdk-0.2.4.dev11}/aioli/common/api/__init__.py +0 -0
- {aioli_sdk-0.2.4.dev10 → aioli_sdk-0.2.4.dev11}/aioli/common/api/_util.py +0 -0
- {aioli_sdk-0.2.4.dev10 → aioli_sdk-0.2.4.dev11}/aioli/common/api/authentication.py +0 -0
- {aioli_sdk-0.2.4.dev10 → aioli_sdk-0.2.4.dev11}/aioli/common/api/certs.py +0 -0
- {aioli_sdk-0.2.4.dev10 → aioli_sdk-0.2.4.dev11}/aioli/common/api/errors.py +0 -0
- {aioli_sdk-0.2.4.dev10 → aioli_sdk-0.2.4.dev11}/aioli/common/api/request.py +0 -0
- {aioli_sdk-0.2.4.dev10 → aioli_sdk-0.2.4.dev11}/aioli/common/check.py +0 -0
- {aioli_sdk-0.2.4.dev10 → aioli_sdk-0.2.4.dev11}/aioli/common/constants.py +0 -0
- {aioli_sdk-0.2.4.dev10 → aioli_sdk-0.2.4.dev11}/aioli/common/declarative_argparse.py +0 -0
- {aioli_sdk-0.2.4.dev10 → aioli_sdk-0.2.4.dev11}/aioli/common/requests.py +0 -0
- {aioli_sdk-0.2.4.dev10 → aioli_sdk-0.2.4.dev11}/aioli/common/util.py +0 -0
- {aioli_sdk-0.2.4.dev10 → aioli_sdk-0.2.4.dev11}/aioli/util.py +0 -0
- {aioli_sdk-0.2.4.dev10 → aioli_sdk-0.2.4.dev11}/aioli_sdk.egg-info/SOURCES.txt +0 -0
- {aioli_sdk-0.2.4.dev10 → aioli_sdk-0.2.4.dev11}/aioli_sdk.egg-info/dependency_links.txt +0 -0
- {aioli_sdk-0.2.4.dev10 → aioli_sdk-0.2.4.dev11}/aioli_sdk.egg-info/entry_points.txt +0 -0
- {aioli_sdk-0.2.4.dev10 → aioli_sdk-0.2.4.dev11}/aioli_sdk.egg-info/not-zip-safe +0 -0
- {aioli_sdk-0.2.4.dev10 → aioli_sdk-0.2.4.dev11}/aioli_sdk.egg-info/requires.txt +0 -0
- {aioli_sdk-0.2.4.dev10 → aioli_sdk-0.2.4.dev11}/aioli_sdk.egg-info/top_level.txt +0 -0
- {aioli_sdk-0.2.4.dev10 → aioli_sdk-0.2.4.dev11}/aiolirest/api/__init__.py +0 -0
- {aioli_sdk-0.2.4.dev10 → aioli_sdk-0.2.4.dev11}/aiolirest/api_response.py +0 -0
- {aioli_sdk-0.2.4.dev10 → aioli_sdk-0.2.4.dev11}/aiolirest/py.typed +0 -0
- {aioli_sdk-0.2.4.dev10 → aioli_sdk-0.2.4.dev11}/pyproject.toml +0 -0
- {aioli_sdk-0.2.4.dev10 → aioli_sdk-0.2.4.dev11}/setup.cfg +0 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
# © Copyright 2024 Hewlett Packard Enterprise Development LP
|
|
2
|
-
__version__ = "0.2.4-
|
|
2
|
+
__version__ = "0.2.4-dev11"
|
|
@@ -46,6 +46,12 @@ def show_deployment(args: Namespace) -> None:
|
|
|
46
46
|
d = deployment.to_dict()
|
|
47
47
|
# Remove clusterName for now - INF-243
|
|
48
48
|
d.pop("clusterName")
|
|
49
|
+
|
|
50
|
+
# Get the model version for the deployment
|
|
51
|
+
deployment_model_versions = packaged_models_api.models_versions_get(deployment.model)
|
|
52
|
+
for r in deployment_model_versions:
|
|
53
|
+
if r.deployment_id == d["id"]:
|
|
54
|
+
d["version"] = r.mdl_version
|
|
49
55
|
if args.json:
|
|
50
56
|
render.print_json(d)
|
|
51
57
|
else:
|
|
@@ -57,7 +63,6 @@ def list_deployments(args: Namespace) -> None:
|
|
|
57
63
|
with cli.setup_session(args) as session:
|
|
58
64
|
api_instance = aiolirest.DeploymentsApi(session)
|
|
59
65
|
response = api_instance.deployments_get()
|
|
60
|
-
|
|
61
66
|
model_api = aiolirest.PackagedModelsApi(session)
|
|
62
67
|
|
|
63
68
|
if args.json:
|
|
@@ -71,14 +76,17 @@ def format_json(response: List[Deployment], model_api: aiolirest.PackagedModelsA
|
|
|
71
76
|
for d in response:
|
|
72
77
|
# Don't use the d.to_json() method as it adds backslash escapes for double quote
|
|
73
78
|
m_dict = d.to_dict()
|
|
74
|
-
m_dict.pop("id")
|
|
75
79
|
m_dict.pop("modifiedAt")
|
|
76
80
|
# Use model name instead of id
|
|
77
81
|
model = model_api.models_id_get(d.model)
|
|
82
|
+
deployment_model_versions = model_api.models_versions_get(model.name)
|
|
83
|
+
for r in deployment_model_versions:
|
|
84
|
+
if r.deployment_id == m_dict["id"]:
|
|
85
|
+
m_dict["version"] = r.mdl_version
|
|
86
|
+
m_dict.pop("id")
|
|
78
87
|
m_dict["model"] = model.name
|
|
79
88
|
m_dict.pop("clusterName", None)
|
|
80
89
|
deps.append(m_dict)
|
|
81
|
-
|
|
82
90
|
render.print_json(deps)
|
|
83
91
|
|
|
84
92
|
|
|
@@ -90,8 +98,14 @@ def format_deployments(
|
|
|
90
98
|
def format_deployment(e: Deployment, models_api: aiolirest.PackagedModelsApi) -> List[Any]:
|
|
91
99
|
model = models_api.models_id_get(e.model)
|
|
92
100
|
state = e.state
|
|
101
|
+
total_failures = 0
|
|
102
|
+
|
|
93
103
|
if state is None:
|
|
94
104
|
state = DeploymentState()
|
|
105
|
+
else:
|
|
106
|
+
failure_info = state.failure_info
|
|
107
|
+
if failure_info:
|
|
108
|
+
total_failures = len(failure_info)
|
|
95
109
|
|
|
96
110
|
secondary_state = e.secondary_state
|
|
97
111
|
if secondary_state is None:
|
|
@@ -103,9 +117,17 @@ def format_deployments(
|
|
|
103
117
|
if auto_scaling is None:
|
|
104
118
|
auto_scaling = Autoscaling()
|
|
105
119
|
|
|
120
|
+
if total_failures > 1:
|
|
121
|
+
e.status = f"{e.status}\n({total_failures} errors)"
|
|
122
|
+
elif total_failures == 1:
|
|
123
|
+
e.status = f"{e.status}\n({total_failures} error)"
|
|
124
|
+
|
|
125
|
+
deployment_model_versions = models_api.models_versions_get(model.name)
|
|
126
|
+
version = next(r.mdl_version for r in deployment_model_versions if r.deployment_id == e.id)
|
|
106
127
|
result = [
|
|
107
128
|
e.name,
|
|
108
129
|
model.name,
|
|
130
|
+
version,
|
|
109
131
|
e.namespace,
|
|
110
132
|
e.status,
|
|
111
133
|
e.security.authentication_required,
|
|
@@ -118,12 +140,14 @@ def format_deployments(
|
|
|
118
140
|
headers = [
|
|
119
141
|
"Name",
|
|
120
142
|
"Model",
|
|
143
|
+
"Version",
|
|
121
144
|
"Namespace",
|
|
122
145
|
"Status",
|
|
123
146
|
"Auth Required",
|
|
124
147
|
"State",
|
|
125
148
|
"Traffic %",
|
|
126
149
|
]
|
|
150
|
+
|
|
127
151
|
values = [format_deployment(r, packaged_models_api) for r in response]
|
|
128
152
|
render.tabulate_or_csv(headers, values, args.csv)
|
|
129
153
|
|
|
@@ -337,7 +361,14 @@ main_cmd = Cmd(
|
|
|
337
361
|
help="The name of the deployment. Must begin with a letter, but may contain "
|
|
338
362
|
"letters, numbers, and hyphen",
|
|
339
363
|
),
|
|
340
|
-
Arg(
|
|
364
|
+
Arg(
|
|
365
|
+
"--model",
|
|
366
|
+
help=(
|
|
367
|
+
"The package model id, name or versioned-name (evaluated in that "
|
|
368
|
+
"order) to be deployed"
|
|
369
|
+
),
|
|
370
|
+
required="true",
|
|
371
|
+
),
|
|
341
372
|
]
|
|
342
373
|
+ common_deployment_args,
|
|
343
374
|
),
|
|
@@ -381,7 +412,13 @@ main_cmd = Cmd(
|
|
|
381
412
|
help="The new name of the deployment. Must begin with a letter, but may "
|
|
382
413
|
"contain letters, numbers, and hyphen",
|
|
383
414
|
),
|
|
384
|
-
Arg(
|
|
415
|
+
Arg(
|
|
416
|
+
"--model",
|
|
417
|
+
help=(
|
|
418
|
+
"The package model id, name or versioned-name (evaluated in that "
|
|
419
|
+
"order) to be deployed"
|
|
420
|
+
),
|
|
421
|
+
),
|
|
385
422
|
Arg("--pause", action="store_true", help="Pause the deployment"),
|
|
386
423
|
Arg("--resume", action="store_true", help="Resume the deployment"),
|
|
387
424
|
]
|
|
@@ -1,10 +1,7 @@
|
|
|
1
1
|
# © Copyright 2023-2024 Hewlett Packard Enterprise Development LP
|
|
2
|
-
import re
|
|
3
2
|
from argparse import Namespace
|
|
4
3
|
from typing import Any, List
|
|
5
4
|
|
|
6
|
-
from pydantic import StrictInt
|
|
7
|
-
|
|
8
5
|
import aiolirest
|
|
9
6
|
from aioli import cli
|
|
10
7
|
from aioli.cli import render
|
|
@@ -105,59 +102,29 @@ def create(args: Namespace) -> None:
|
|
|
105
102
|
api_instance.models_post(r)
|
|
106
103
|
|
|
107
104
|
|
|
108
|
-
def lookup_model(name: str,
|
|
105
|
+
def lookup_model(name: str, api: aiolirest.PackagedModelsApi) -> PackagedModel:
|
|
109
106
|
# From the database, get the model record. If the model exists in multiple versions,
|
|
110
107
|
# then sufficient version information must be part of the request.
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
return model # Found a single version of the specified model
|
|
120
|
-
if model_count > 1 and not args.version:
|
|
121
|
-
raise_version_required(name, model_count)
|
|
122
|
-
|
|
123
|
-
if model_count == 0:
|
|
124
|
-
# The specified model does not exist; extract the version suffix if any
|
|
125
|
-
regexp = re.compile(r"^(.+)\.[Vv](\d+)$")
|
|
126
|
-
m = regexp.match(name)
|
|
127
|
-
if m is None:
|
|
128
|
-
raise NotFoundException(
|
|
129
|
-
f"model {name} not found. Model versions may optionally be specified "
|
|
130
|
-
"using the suffix '.v#', for example, '.v1', '.v100'"
|
|
131
|
-
)
|
|
132
|
-
name = m.group(1)
|
|
133
|
-
version = m.group(2)
|
|
134
|
-
|
|
135
|
-
# if there is an explicit version specified, then use that
|
|
136
|
-
if args.version:
|
|
137
|
-
version = args.version
|
|
138
|
-
|
|
139
|
-
return lookup_model_and_version(name, version, models)
|
|
108
|
+
models: List[PackagedModel] = api.models_get(name)
|
|
109
|
+
if len(models):
|
|
110
|
+
return models[0]
|
|
111
|
+
|
|
112
|
+
raise NotFoundException(
|
|
113
|
+
f"model {name} not found. Model versions may optionally be specified "
|
|
114
|
+
"using the suffix '.v#', for example, '.v1', '.v100'"
|
|
115
|
+
)
|
|
140
116
|
|
|
141
117
|
|
|
142
118
|
def raise_version_required(name: str, count: int) -> None:
|
|
143
119
|
raise VersionRequiredException(f"specify a version as model {name} exists in {count} versions")
|
|
144
120
|
|
|
145
121
|
|
|
146
|
-
def lookup_model_and_version(name: str, version: str, models: List[PackagedModel]) -> PackagedModel:
|
|
147
|
-
# The version may optionally be expressed with a prefix of 'v'
|
|
148
|
-
version_no_prefix: str = version.lstrip("vV")
|
|
149
|
-
for r in models:
|
|
150
|
-
if r.name == name and r.version == StrictInt(version_no_prefix):
|
|
151
|
-
return r
|
|
152
|
-
raise NotFoundException(f"model {name} version {version} not found")
|
|
153
|
-
|
|
154
|
-
|
|
155
122
|
@authentication.required
|
|
156
123
|
def dashboard(args: Namespace) -> None:
|
|
157
124
|
with cli.setup_session(args) as session:
|
|
158
125
|
api_instance = aiolirest.PackagedModelsApi(session)
|
|
159
126
|
|
|
160
|
-
model = lookup_model(args.name,
|
|
127
|
+
model = lookup_model(args.name, api_instance)
|
|
161
128
|
|
|
162
129
|
observability = api_instance.models_id_observability_get(model.id)
|
|
163
130
|
launch_dashboard(args, observability.dashboard_url)
|
|
@@ -168,7 +135,7 @@ def show_model(args: Namespace) -> None:
|
|
|
168
135
|
with cli.setup_session(args) as session:
|
|
169
136
|
api_instance = aiolirest.PackagedModelsApi(session)
|
|
170
137
|
|
|
171
|
-
model = lookup_model(args.name,
|
|
138
|
+
model = lookup_model(args.name, api_instance)
|
|
172
139
|
registries_api = aiolirest.RegistriesApi(session)
|
|
173
140
|
|
|
174
141
|
rname = lookup_registry_name_by_id(model.registry, registries_api)
|
|
@@ -186,7 +153,7 @@ def show_model(args: Namespace) -> None:
|
|
|
186
153
|
def update(args: Namespace) -> None:
|
|
187
154
|
with cli.setup_session(args) as session:
|
|
188
155
|
api_instance = aiolirest.PackagedModelsApi(session)
|
|
189
|
-
found = lookup_model(args.modelname,
|
|
156
|
+
found = lookup_model(args.modelname, api_instance)
|
|
190
157
|
request = PackagedModelRequest(
|
|
191
158
|
description=found.description,
|
|
192
159
|
image=found.image,
|
|
@@ -262,7 +229,7 @@ def update(args: Namespace) -> None:
|
|
|
262
229
|
def delete_model(args: Namespace) -> None:
|
|
263
230
|
with cli.setup_session(args) as session:
|
|
264
231
|
api_instance = aiolirest.PackagedModelsApi(session)
|
|
265
|
-
found =
|
|
232
|
+
found = lookup_model(args.name, api_instance)
|
|
266
233
|
|
|
267
234
|
assert found.id is not None
|
|
268
235
|
api_instance.models_id_delete(found.id)
|
|
@@ -272,7 +239,7 @@ def delete_model(args: Namespace) -> None:
|
|
|
272
239
|
def auth_token(args: Namespace) -> None:
|
|
273
240
|
with cli.setup_session(args) as session:
|
|
274
241
|
api_instance = aiolirest.PackagedModelsApi(session)
|
|
275
|
-
found = lookup_model(args.name,
|
|
242
|
+
found = lookup_model(args.name, api_instance)
|
|
276
243
|
assert found.id is not None
|
|
277
244
|
response = api_instance.models_id_token_get(found.id)
|
|
278
245
|
t = response.to_dict()
|
|
@@ -283,7 +250,7 @@ def auth_token(args: Namespace) -> None:
|
|
|
283
250
|
def list_versions(args: Namespace) -> None:
|
|
284
251
|
with cli.setup_session(args) as session:
|
|
285
252
|
api_instance = aiolirest.PackagedModelsApi(session)
|
|
286
|
-
found = lookup_model(args.name,
|
|
253
|
+
found = lookup_model(args.name, api_instance)
|
|
287
254
|
assert found.id is not None
|
|
288
255
|
response = api_instance.models_versions_get(found.id)
|
|
289
256
|
|
|
@@ -339,6 +306,14 @@ common_model_args: ArgsDescription = [
|
|
|
339
306
|
Arg("--requests-gpu", help="GPU request"),
|
|
340
307
|
]
|
|
341
308
|
|
|
309
|
+
VERSIONED_MODEL_HELP_MSG = (
|
|
310
|
+
"The packaged model id, name or versioned-name (evaluated in that order). "
|
|
311
|
+
"A versioned-name is the package model name with suffix of the version "
|
|
312
|
+
"with the format 'name.V###' where '###' is the version number. For example, "
|
|
313
|
+
"a model named 'my-model' with a version of '23' would be represented by "
|
|
314
|
+
"versioned-name of: my-model.V23"
|
|
315
|
+
)
|
|
316
|
+
|
|
342
317
|
main_cmd = Cmd(
|
|
343
318
|
"m|odel|s",
|
|
344
319
|
None,
|
|
@@ -378,9 +353,8 @@ main_cmd = Cmd(
|
|
|
378
353
|
[
|
|
379
354
|
Arg(
|
|
380
355
|
"name",
|
|
381
|
-
help=
|
|
356
|
+
help=VERSIONED_MODEL_HELP_MSG,
|
|
382
357
|
),
|
|
383
|
-
Arg("--version", help="The packaged model version to show"),
|
|
384
358
|
],
|
|
385
359
|
),
|
|
386
360
|
# Show command.
|
|
@@ -391,13 +365,12 @@ main_cmd = Cmd(
|
|
|
391
365
|
[
|
|
392
366
|
Arg(
|
|
393
367
|
"name",
|
|
394
|
-
help=
|
|
368
|
+
help=VERSIONED_MODEL_HELP_MSG,
|
|
395
369
|
),
|
|
396
370
|
Group(
|
|
397
371
|
Arg("--yaml", action="store_true", help="print as YAML", default=True),
|
|
398
372
|
Arg("--json", action="store_true", help="print as JSON"),
|
|
399
373
|
),
|
|
400
|
-
Arg("--version", help="The packaged model version to show"),
|
|
401
374
|
],
|
|
402
375
|
),
|
|
403
376
|
# Update command
|
|
@@ -406,14 +379,16 @@ main_cmd = Cmd(
|
|
|
406
379
|
update,
|
|
407
380
|
"modify a packaged model",
|
|
408
381
|
[
|
|
409
|
-
Arg(
|
|
382
|
+
Arg(
|
|
383
|
+
"modelname",
|
|
384
|
+
help=VERSIONED_MODEL_HELP_MSG,
|
|
385
|
+
),
|
|
410
386
|
Arg(
|
|
411
387
|
"--name",
|
|
412
388
|
help="The new name of the packaged model. Must begin with a letter, but may "
|
|
413
389
|
"contain letters, numbers, and hyphen",
|
|
414
390
|
),
|
|
415
391
|
Arg("--image", help="Docker container image servicing the packaged model"),
|
|
416
|
-
Arg("--version", help="The packaged model version to update"),
|
|
417
392
|
]
|
|
418
393
|
+ common_model_args,
|
|
419
394
|
),
|
|
@@ -422,8 +397,10 @@ main_cmd = Cmd(
|
|
|
422
397
|
delete_model,
|
|
423
398
|
"delete a packaged model",
|
|
424
399
|
[
|
|
425
|
-
Arg(
|
|
426
|
-
|
|
400
|
+
Arg(
|
|
401
|
+
"name",
|
|
402
|
+
help=VERSIONED_MODEL_HELP_MSG,
|
|
403
|
+
),
|
|
427
404
|
],
|
|
428
405
|
),
|
|
429
406
|
Cmd(
|
|
@@ -431,8 +408,10 @@ main_cmd = Cmd(
|
|
|
431
408
|
auth_token,
|
|
432
409
|
"get packaged model auth token",
|
|
433
410
|
[
|
|
434
|
-
Arg(
|
|
435
|
-
|
|
411
|
+
Arg(
|
|
412
|
+
"name",
|
|
413
|
+
help=VERSIONED_MODEL_HELP_MSG,
|
|
414
|
+
),
|
|
436
415
|
],
|
|
437
416
|
),
|
|
438
417
|
Cmd(
|
|
@@ -441,8 +420,10 @@ main_cmd = Cmd(
|
|
|
441
420
|
"list of deployment versions for a packaged model",
|
|
442
421
|
[
|
|
443
422
|
Arg("--csv", action="store_true", help="print as CSV"),
|
|
444
|
-
Arg(
|
|
445
|
-
|
|
423
|
+
Arg(
|
|
424
|
+
"name",
|
|
425
|
+
help=VERSIONED_MODEL_HELP_MSG,
|
|
426
|
+
),
|
|
446
427
|
],
|
|
447
428
|
),
|
|
448
429
|
],
|
|
@@ -327,21 +327,6 @@ class TestCli:
|
|
|
327
327
|
).decode("utf-8")
|
|
328
328
|
assert yaml_output == yaml_output2, "Expect the same output using .V1"
|
|
329
329
|
|
|
330
|
-
yaml_output2 = subprocess.check_output(
|
|
331
|
-
["aioli", "model", "show", "iris-tf-keras", "--version", "1"]
|
|
332
|
-
).decode("utf-8")
|
|
333
|
-
assert yaml_output == yaml_output2, "Expect the same output using --version 1"
|
|
334
|
-
|
|
335
|
-
yaml_output2 = subprocess.check_output(
|
|
336
|
-
["aioli", "model", "show", "iris-tf-keras", "--version", "v1"]
|
|
337
|
-
).decode("utf-8")
|
|
338
|
-
assert yaml_output == yaml_output2, "Expect the same output using --version v1"
|
|
339
|
-
|
|
340
|
-
yaml_output2 = subprocess.check_output(
|
|
341
|
-
["aioli", "model", "show", "iris-tf-keras", "--version", "V1"]
|
|
342
|
-
).decode("utf-8")
|
|
343
|
-
assert yaml_output == yaml_output2, "Expect the same output using --version V1"
|
|
344
|
-
|
|
345
330
|
# fmt: off
|
|
346
331
|
def test_model_list_json(self, setup_login: None) -> None:
|
|
347
332
|
expected = (
|
|
@@ -402,7 +387,7 @@ class TestCli:
|
|
|
402
387
|
actual = subprocess.check_output(["aioli", "model", "list"]).decode("utf-8")
|
|
403
388
|
|
|
404
389
|
assert (actual.find(expected)) > 0
|
|
405
|
-
assert os.system("aioli model delete openllm
|
|
390
|
+
assert os.system("aioli model delete openllm.v1") == 0
|
|
406
391
|
|
|
407
392
|
def test_model_update_bad_model_name(self, setup_login: None) -> None:
|
|
408
393
|
# Attempt to update model specifying the version incorrectly. Here we specify
|
|
@@ -414,7 +399,7 @@ class TestCli:
|
|
|
414
399
|
)
|
|
415
400
|
except subprocess.CalledProcessError as e:
|
|
416
401
|
assert e.returncode == 1
|
|
417
|
-
expected = "Failed to modify a packaged model: model iris-tf-keras.1 not
|
|
402
|
+
expected = "Failed to modify a packaged model: model 'iris-tf-keras.1' does not exist."
|
|
418
403
|
actual: str = e.output.decode("utf-8")
|
|
419
404
|
assert actual.find(expected) == 0
|
|
420
405
|
|
|
@@ -472,8 +457,7 @@ class TestCli:
|
|
|
472
457
|
# Create a third version of the model using the second version
|
|
473
458
|
assert (
|
|
474
459
|
os.system(
|
|
475
|
-
"aioli model update iris-tf-keras --name iris-tf-keras "
|
|
476
|
-
"--version 2 "
|
|
460
|
+
"aioli model update iris-tf-keras.v2 --name iris-tf-keras "
|
|
477
461
|
"--registry bento-registry1 "
|
|
478
462
|
"--url s3://demo-bento-registry/iris-tf-keras_updated_v3 "
|
|
479
463
|
"--image fictional.registry.example/updated_imagename "
|
|
@@ -495,8 +479,7 @@ class TestCli:
|
|
|
495
479
|
# (specifying the version with the optional v{n} format)
|
|
496
480
|
assert (
|
|
497
481
|
os.system(
|
|
498
|
-
"aioli model update iris-tf-keras --name iris-tf-keras-v4 "
|
|
499
|
-
"--version v2 "
|
|
482
|
+
"aioli model update iris-tf-keras.v2 --name iris-tf-keras-v4 "
|
|
500
483
|
"--registry bento-registry1 "
|
|
501
484
|
"--url s3://demo-bento-registry/iris-tf-keras_updated_v3 "
|
|
502
485
|
"--image fictional.registry.example/updated_imagename "
|
|
@@ -527,7 +510,7 @@ class TestCli:
|
|
|
527
510
|
)
|
|
528
511
|
actual = subprocess.check_output(["aioli", "deployment", "list"]).decode("utf-8")
|
|
529
512
|
expected = (
|
|
530
|
-
"iris-tf-keras-deployment | iris-tf-keras | aioli "
|
|
513
|
+
"iris-tf-keras-deployment | iris-tf-keras | 3 | aioli "
|
|
531
514
|
"| Deploying | False | Deploying | 0"
|
|
532
515
|
)
|
|
533
516
|
|
|
@@ -565,8 +548,9 @@ class TestCli:
|
|
|
565
548
|
== 0
|
|
566
549
|
)
|
|
567
550
|
actual = subprocess.check_output(["aioli", "deployment", "list"]).decode("utf-8")
|
|
551
|
+
|
|
568
552
|
expected = (
|
|
569
|
-
"iris-tf-keras-deployment | iris-tf-keras | aioli "
|
|
553
|
+
"iris-tf-keras-deployment | iris-tf-keras | 3 | aioli "
|
|
570
554
|
"| Deploying | True | Deploying | 0"
|
|
571
555
|
)
|
|
572
556
|
assert actual.find(expected) > 0
|
|
@@ -621,7 +605,8 @@ class TestCli:
|
|
|
621
605
|
' "status": "Deploying",\n'
|
|
622
606
|
' "trafficPercentage": 0\n'
|
|
623
607
|
' },\n' # noqa: Q000
|
|
624
|
-
' "status": "Deploying"
|
|
608
|
+
' "status": "Deploying",\n'
|
|
609
|
+
' "version": "3"\n'
|
|
625
610
|
' }\n' # noqa: Q000
|
|
626
611
|
']\n' # noqa: Q000
|
|
627
612
|
)
|
|
@@ -710,11 +695,11 @@ class TestCli:
|
|
|
710
695
|
assert os.system("aioli deployment delete iris-tf-keras-deployment-2") == 0
|
|
711
696
|
|
|
712
697
|
def test_model_delete(self, setup_login: None) -> None:
|
|
713
|
-
assert os.system("aioli model delete iris-tf-keras1
|
|
714
|
-
assert os.system("aioli model delete iris-tf-keras
|
|
715
|
-
assert os.system("aioli model delete iris-tf-keras
|
|
716
|
-
assert os.system("aioli model delete iris-tf-keras
|
|
717
|
-
assert os.system("aioli model delete iris-tf-keras-v4
|
|
698
|
+
assert os.system("aioli model delete iris-tf-keras1") == 0
|
|
699
|
+
assert os.system("aioli model delete iris-tf-keras.v1") == 0
|
|
700
|
+
assert os.system("aioli model delete iris-tf-keras.v2") == 0
|
|
701
|
+
assert os.system("aioli model delete iris-tf-keras.v3") == 0
|
|
702
|
+
assert os.system("aioli model delete iris-tf-keras-v4.v1") == 0
|
|
718
703
|
|
|
719
704
|
def test_registry_delete(self, setup_login: None) -> None:
|
|
720
705
|
# Delete the registry entry
|
|
@@ -77,7 +77,11 @@ def check_version(parsed_args: argparse.Namespace) -> None:
|
|
|
77
77
|
print(
|
|
78
78
|
termcolor.colored(
|
|
79
79
|
"Controller version {} is less than CLI version {}. "
|
|
80
|
-
"
|
|
80
|
+
"This CLI may utilize features not supported by an older "
|
|
81
|
+
"controller. Install a compatible CLI with: "
|
|
82
|
+
" pip install aioli-sdk=={}".format(
|
|
83
|
+
controller_version, client_version, controller_version
|
|
84
|
+
),
|
|
81
85
|
"yellow",
|
|
82
86
|
),
|
|
83
87
|
file=sys.stderr,
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
|
|
8
8
|
HPE MLIS is *Aioli* -- The AI On-line Inference Platform that enables easy deployment, tracking, and serving of your packaged models regardless of your preferred AI framework.
|
|
9
9
|
|
|
10
|
-
The version of the OpenAPI document: 0.2.4-
|
|
10
|
+
The version of the OpenAPI document: 0.2.4-dev11
|
|
11
11
|
Contact: community@determined-ai
|
|
12
12
|
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
13
13
|
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
HPE MLIS is *Aioli* -- The AI On-line Inference Platform that enables easy deployment, tracking, and serving of your packaged models regardless of your preferred AI framework.
|
|
7
7
|
|
|
8
|
-
The version of the OpenAPI document: 0.2.4-
|
|
8
|
+
The version of the OpenAPI document: 0.2.4-dev11
|
|
9
9
|
Contact: community@determined-ai
|
|
10
10
|
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
11
11
|
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
HPE MLIS is *Aioli* -- The AI On-line Inference Platform that enables easy deployment, tracking, and serving of your packaged models regardless of your preferred AI framework.
|
|
7
7
|
|
|
8
|
-
The version of the OpenAPI document: 0.2.4-
|
|
8
|
+
The version of the OpenAPI document: 0.2.4-dev11
|
|
9
9
|
Contact: community@determined-ai
|
|
10
10
|
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
11
11
|
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
HPE MLIS is *Aioli* -- The AI On-line Inference Platform that enables easy deployment, tracking, and serving of your packaged models regardless of your preferred AI framework.
|
|
7
7
|
|
|
8
|
-
The version of the OpenAPI document: 0.2.4-
|
|
8
|
+
The version of the OpenAPI document: 0.2.4-dev11
|
|
9
9
|
Contact: community@determined-ai
|
|
10
10
|
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
11
11
|
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
HPE MLIS is *Aioli* -- The AI On-line Inference Platform that enables easy deployment, tracking, and serving of your packaged models regardless of your preferred AI framework.
|
|
7
7
|
|
|
8
|
-
The version of the OpenAPI document: 0.2.4-
|
|
8
|
+
The version of the OpenAPI document: 0.2.4-dev11
|
|
9
9
|
Contact: community@determined-ai
|
|
10
10
|
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
11
11
|
|
|
@@ -58,6 +58,7 @@ class PackagedModelsApi:
|
|
|
58
58
|
@validate_call
|
|
59
59
|
def models_get(
|
|
60
60
|
self,
|
|
61
|
+
model_ref: Annotated[Optional[StrictStr], Field(description="PackagedModel ID, Name or versioned Name (evaluated in that order)")] = None,
|
|
61
62
|
_request_timeout: Union[
|
|
62
63
|
None,
|
|
63
64
|
Annotated[StrictFloat, Field(gt=0)],
|
|
@@ -75,6 +76,8 @@ class PackagedModelsApi:
|
|
|
75
76
|
|
|
76
77
|
Return the properties of all configured models.
|
|
77
78
|
|
|
79
|
+
:param model_ref: PackagedModel ID, Name or versioned Name (evaluated in that order)
|
|
80
|
+
:type model_ref: str
|
|
78
81
|
:param _request_timeout: timeout setting for this request. If one
|
|
79
82
|
number provided, it will be total request
|
|
80
83
|
timeout. It can also be a pair (tuple) of
|
|
@@ -98,6 +101,7 @@ class PackagedModelsApi:
|
|
|
98
101
|
""" # noqa: E501
|
|
99
102
|
|
|
100
103
|
_param = self._models_get_serialize(
|
|
104
|
+
model_ref=model_ref,
|
|
101
105
|
_request_auth=_request_auth,
|
|
102
106
|
_content_type=_content_type,
|
|
103
107
|
_headers=_headers,
|
|
@@ -123,6 +127,7 @@ class PackagedModelsApi:
|
|
|
123
127
|
@validate_call
|
|
124
128
|
def models_get_with_http_info(
|
|
125
129
|
self,
|
|
130
|
+
model_ref: Annotated[Optional[StrictStr], Field(description="PackagedModel ID, Name or versioned Name (evaluated in that order)")] = None,
|
|
126
131
|
_request_timeout: Union[
|
|
127
132
|
None,
|
|
128
133
|
Annotated[StrictFloat, Field(gt=0)],
|
|
@@ -140,6 +145,8 @@ class PackagedModelsApi:
|
|
|
140
145
|
|
|
141
146
|
Return the properties of all configured models.
|
|
142
147
|
|
|
148
|
+
:param model_ref: PackagedModel ID, Name or versioned Name (evaluated in that order)
|
|
149
|
+
:type model_ref: str
|
|
143
150
|
:param _request_timeout: timeout setting for this request. If one
|
|
144
151
|
number provided, it will be total request
|
|
145
152
|
timeout. It can also be a pair (tuple) of
|
|
@@ -163,6 +170,7 @@ class PackagedModelsApi:
|
|
|
163
170
|
""" # noqa: E501
|
|
164
171
|
|
|
165
172
|
_param = self._models_get_serialize(
|
|
173
|
+
model_ref=model_ref,
|
|
166
174
|
_request_auth=_request_auth,
|
|
167
175
|
_content_type=_content_type,
|
|
168
176
|
_headers=_headers,
|
|
@@ -188,6 +196,7 @@ class PackagedModelsApi:
|
|
|
188
196
|
@validate_call
|
|
189
197
|
def models_get_without_preload_content(
|
|
190
198
|
self,
|
|
199
|
+
model_ref: Annotated[Optional[StrictStr], Field(description="PackagedModel ID, Name or versioned Name (evaluated in that order)")] = None,
|
|
191
200
|
_request_timeout: Union[
|
|
192
201
|
None,
|
|
193
202
|
Annotated[StrictFloat, Field(gt=0)],
|
|
@@ -205,6 +214,8 @@ class PackagedModelsApi:
|
|
|
205
214
|
|
|
206
215
|
Return the properties of all configured models.
|
|
207
216
|
|
|
217
|
+
:param model_ref: PackagedModel ID, Name or versioned Name (evaluated in that order)
|
|
218
|
+
:type model_ref: str
|
|
208
219
|
:param _request_timeout: timeout setting for this request. If one
|
|
209
220
|
number provided, it will be total request
|
|
210
221
|
timeout. It can also be a pair (tuple) of
|
|
@@ -228,6 +239,7 @@ class PackagedModelsApi:
|
|
|
228
239
|
""" # noqa: E501
|
|
229
240
|
|
|
230
241
|
_param = self._models_get_serialize(
|
|
242
|
+
model_ref=model_ref,
|
|
231
243
|
_request_auth=_request_auth,
|
|
232
244
|
_content_type=_content_type,
|
|
233
245
|
_headers=_headers,
|
|
@@ -248,6 +260,7 @@ class PackagedModelsApi:
|
|
|
248
260
|
|
|
249
261
|
def _models_get_serialize(
|
|
250
262
|
self,
|
|
263
|
+
model_ref,
|
|
251
264
|
_request_auth,
|
|
252
265
|
_content_type,
|
|
253
266
|
_headers,
|
|
@@ -269,6 +282,10 @@ class PackagedModelsApi:
|
|
|
269
282
|
|
|
270
283
|
# process the path parameters
|
|
271
284
|
# process the query parameters
|
|
285
|
+
if model_ref is not None:
|
|
286
|
+
|
|
287
|
+
_query_params.append(('model-ref', model_ref))
|
|
288
|
+
|
|
272
289
|
# process the header parameters
|
|
273
290
|
# process the form parameters
|
|
274
291
|
# process the body parameter
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
HPE MLIS is *Aioli* -- The AI On-line Inference Platform that enables easy deployment, tracking, and serving of your packaged models regardless of your preferred AI framework.
|
|
7
7
|
|
|
8
|
-
The version of the OpenAPI document: 0.2.4-
|
|
8
|
+
The version of the OpenAPI document: 0.2.4-dev11
|
|
9
9
|
Contact: community@determined-ai
|
|
10
10
|
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
11
11
|
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
HPE MLIS is *Aioli* -- The AI On-line Inference Platform that enables easy deployment, tracking, and serving of your packaged models regardless of your preferred AI framework.
|
|
7
7
|
|
|
8
|
-
The version of the OpenAPI document: 0.2.4-
|
|
8
|
+
The version of the OpenAPI document: 0.2.4-dev11
|
|
9
9
|
Contact: community@determined-ai
|
|
10
10
|
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
11
11
|
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
HPE MLIS is *Aioli* -- The AI On-line Inference Platform that enables easy deployment, tracking, and serving of your packaged models regardless of your preferred AI framework.
|
|
7
7
|
|
|
8
|
-
The version of the OpenAPI document: 0.2.4-
|
|
8
|
+
The version of the OpenAPI document: 0.2.4-dev11
|
|
9
9
|
Contact: community@determined-ai
|
|
10
10
|
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
11
11
|
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
HPE MLIS is *Aioli* -- The AI On-line Inference Platform that enables easy deployment, tracking, and serving of your packaged models regardless of your preferred AI framework.
|
|
7
7
|
|
|
8
|
-
The version of the OpenAPI document: 0.2.4-
|
|
8
|
+
The version of the OpenAPI document: 0.2.4-dev11
|
|
9
9
|
Contact: community@determined-ai
|
|
10
10
|
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
11
11
|
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
HPE MLIS is *Aioli* -- The AI On-line Inference Platform that enables easy deployment, tracking, and serving of your packaged models regardless of your preferred AI framework.
|
|
7
7
|
|
|
8
|
-
The version of the OpenAPI document: 0.2.4-
|
|
8
|
+
The version of the OpenAPI document: 0.2.4-dev11
|
|
9
9
|
Contact: community@determined-ai
|
|
10
10
|
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
11
11
|
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
HPE MLIS is *Aioli* -- The AI On-line Inference Platform that enables easy deployment, tracking, and serving of your packaged models regardless of your preferred AI framework.
|
|
7
7
|
|
|
8
|
-
The version of the OpenAPI document: 0.2.4-
|
|
8
|
+
The version of the OpenAPI document: 0.2.4-dev11
|
|
9
9
|
Contact: community@determined-ai
|
|
10
10
|
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
11
11
|
|
|
@@ -389,7 +389,7 @@ conf = aiolirest.Configuration(
|
|
|
389
389
|
return "Python SDK Debug Report:\n"\
|
|
390
390
|
"OS: {env}\n"\
|
|
391
391
|
"Python Version: {pyversion}\n"\
|
|
392
|
-
"Version of the API: 0.2.4-
|
|
392
|
+
"Version of the API: 0.2.4-dev11\n"\
|
|
393
393
|
"SDK Package Version: 1.0.0".\
|
|
394
394
|
format(env=sys.platform, pyversion=sys.version)
|
|
395
395
|
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
HPE MLIS is *Aioli* -- The AI On-line Inference Platform that enables easy deployment, tracking, and serving of your packaged models regardless of your preferred AI framework.
|
|
7
7
|
|
|
8
|
-
The version of the OpenAPI document: 0.2.4-
|
|
8
|
+
The version of the OpenAPI document: 0.2.4-dev11
|
|
9
9
|
Contact: community@determined-ai
|
|
10
10
|
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
11
11
|
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
HPE MLIS is *Aioli* -- The AI On-line Inference Platform that enables easy deployment, tracking, and serving of your packaged models regardless of your preferred AI framework.
|
|
8
8
|
|
|
9
|
-
The version of the OpenAPI document: 0.2.4-
|
|
9
|
+
The version of the OpenAPI document: 0.2.4-dev11
|
|
10
10
|
Contact: community@determined-ai
|
|
11
11
|
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
12
12
|
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
HPE MLIS is *Aioli* -- The AI On-line Inference Platform that enables easy deployment, tracking, and serving of your packaged models regardless of your preferred AI framework.
|
|
7
7
|
|
|
8
|
-
The version of the OpenAPI document: 0.2.4-
|
|
8
|
+
The version of the OpenAPI document: 0.2.4-dev11
|
|
9
9
|
Contact: community@determined-ai
|
|
10
10
|
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
11
11
|
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
HPE MLIS is *Aioli* -- The AI On-line Inference Platform that enables easy deployment, tracking, and serving of your packaged models regardless of your preferred AI framework.
|
|
7
7
|
|
|
8
|
-
The version of the OpenAPI document: 0.2.4-
|
|
8
|
+
The version of the OpenAPI document: 0.2.4-dev11
|
|
9
9
|
Contact: community@determined-ai
|
|
10
10
|
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
11
11
|
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
HPE MLIS is *Aioli* -- The AI On-line Inference Platform that enables easy deployment, tracking, and serving of your packaged models regardless of your preferred AI framework.
|
|
7
7
|
|
|
8
|
-
The version of the OpenAPI document: 0.2.4-
|
|
8
|
+
The version of the OpenAPI document: 0.2.4-dev11
|
|
9
9
|
Contact: community@determined-ai
|
|
10
10
|
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
11
11
|
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
HPE MLIS is *Aioli* -- The AI On-line Inference Platform that enables easy deployment, tracking, and serving of your packaged models regardless of your preferred AI framework.
|
|
7
7
|
|
|
8
|
-
The version of the OpenAPI document: 0.2.4-
|
|
8
|
+
The version of the OpenAPI document: 0.2.4-dev11
|
|
9
9
|
Contact: community@determined-ai
|
|
10
10
|
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
11
11
|
|
{aioli_sdk-0.2.4.dev10 → aioli_sdk-0.2.4.dev11}/aiolirest/models/deployment_model_version.py
RENAMED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
HPE MLIS is *Aioli* -- The AI On-line Inference Platform that enables easy deployment, tracking, and serving of your packaged models regardless of your preferred AI framework.
|
|
7
7
|
|
|
8
|
-
The version of the OpenAPI document: 0.2.4-
|
|
8
|
+
The version of the OpenAPI document: 0.2.4-dev11
|
|
9
9
|
Contact: community@determined-ai
|
|
10
10
|
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
11
11
|
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
HPE MLIS is *Aioli* -- The AI On-line Inference Platform that enables easy deployment, tracking, and serving of your packaged models regardless of your preferred AI framework.
|
|
7
7
|
|
|
8
|
-
The version of the OpenAPI document: 0.2.4-
|
|
8
|
+
The version of the OpenAPI document: 0.2.4-dev11
|
|
9
9
|
Contact: community@determined-ai
|
|
10
10
|
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
11
11
|
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
HPE MLIS is *Aioli* -- The AI On-line Inference Platform that enables easy deployment, tracking, and serving of your packaged models regardless of your preferred AI framework.
|
|
7
7
|
|
|
8
|
-
The version of the OpenAPI document: 0.2.4-
|
|
8
|
+
The version of the OpenAPI document: 0.2.4-dev11
|
|
9
9
|
Contact: community@determined-ai
|
|
10
10
|
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
11
11
|
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
HPE MLIS is *Aioli* -- The AI On-line Inference Platform that enables easy deployment, tracking, and serving of your packaged models regardless of your preferred AI framework.
|
|
7
7
|
|
|
8
|
-
The version of the OpenAPI document: 0.2.4-
|
|
8
|
+
The version of the OpenAPI document: 0.2.4-dev11
|
|
9
9
|
Contact: community@determined-ai
|
|
10
10
|
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
11
11
|
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
HPE MLIS is *Aioli* -- The AI On-line Inference Platform that enables easy deployment, tracking, and serving of your packaged models regardless of your preferred AI framework.
|
|
7
7
|
|
|
8
|
-
The version of the OpenAPI document: 0.2.4-
|
|
8
|
+
The version of the OpenAPI document: 0.2.4-dev11
|
|
9
9
|
Contact: community@determined-ai
|
|
10
10
|
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
11
11
|
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
HPE MLIS is *Aioli* -- The AI On-line Inference Platform that enables easy deployment, tracking, and serving of your packaged models regardless of your preferred AI framework.
|
|
7
7
|
|
|
8
|
-
The version of the OpenAPI document: 0.2.4-
|
|
8
|
+
The version of the OpenAPI document: 0.2.4-dev11
|
|
9
9
|
Contact: community@determined-ai
|
|
10
10
|
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
11
11
|
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
HPE MLIS is *Aioli* -- The AI On-line Inference Platform that enables easy deployment, tracking, and serving of your packaged models regardless of your preferred AI framework.
|
|
7
7
|
|
|
8
|
-
The version of the OpenAPI document: 0.2.4-
|
|
8
|
+
The version of the OpenAPI document: 0.2.4-dev11
|
|
9
9
|
Contact: community@determined-ai
|
|
10
10
|
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
11
11
|
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
HPE MLIS is *Aioli* -- The AI On-line Inference Platform that enables easy deployment, tracking, and serving of your packaged models regardless of your preferred AI framework.
|
|
7
7
|
|
|
8
|
-
The version of the OpenAPI document: 0.2.4-
|
|
8
|
+
The version of the OpenAPI document: 0.2.4-dev11
|
|
9
9
|
Contact: community@determined-ai
|
|
10
10
|
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
11
11
|
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
HPE MLIS is *Aioli* -- The AI On-line Inference Platform that enables easy deployment, tracking, and serving of your packaged models regardless of your preferred AI framework.
|
|
7
7
|
|
|
8
|
-
The version of the OpenAPI document: 0.2.4-
|
|
8
|
+
The version of the OpenAPI document: 0.2.4-dev11
|
|
9
9
|
Contact: community@determined-ai
|
|
10
10
|
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
11
11
|
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
HPE MLIS is *Aioli* -- The AI On-line Inference Platform that enables easy deployment, tracking, and serving of your packaged models regardless of your preferred AI framework.
|
|
7
7
|
|
|
8
|
-
The version of the OpenAPI document: 0.2.4-
|
|
8
|
+
The version of the OpenAPI document: 0.2.4-dev11
|
|
9
9
|
Contact: community@determined-ai
|
|
10
10
|
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
11
11
|
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
HPE MLIS is *Aioli* -- The AI On-line Inference Platform that enables easy deployment, tracking, and serving of your packaged models regardless of your preferred AI framework.
|
|
7
7
|
|
|
8
|
-
The version of the OpenAPI document: 0.2.4-
|
|
8
|
+
The version of the OpenAPI document: 0.2.4-dev11
|
|
9
9
|
Contact: community@determined-ai
|
|
10
10
|
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
11
11
|
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
HPE MLIS is *Aioli* -- The AI On-line Inference Platform that enables easy deployment, tracking, and serving of your packaged models regardless of your preferred AI framework.
|
|
7
7
|
|
|
8
|
-
The version of the OpenAPI document: 0.2.4-
|
|
8
|
+
The version of the OpenAPI document: 0.2.4-dev11
|
|
9
9
|
Contact: community@determined-ai
|
|
10
10
|
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
11
11
|
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
HPE MLIS is *Aioli* -- The AI On-line Inference Platform that enables easy deployment, tracking, and serving of your packaged models regardless of your preferred AI framework.
|
|
7
7
|
|
|
8
|
-
The version of the OpenAPI document: 0.2.4-
|
|
8
|
+
The version of the OpenAPI document: 0.2.4-dev11
|
|
9
9
|
Contact: community@determined-ai
|
|
10
10
|
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
11
11
|
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
HPE MLIS is *Aioli* -- The AI On-line Inference Platform that enables easy deployment, tracking, and serving of your packaged models regardless of your preferred AI framework.
|
|
7
7
|
|
|
8
|
-
The version of the OpenAPI document: 0.2.4-
|
|
8
|
+
The version of the OpenAPI document: 0.2.4-dev11
|
|
9
9
|
Contact: community@determined-ai
|
|
10
10
|
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
11
11
|
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
HPE MLIS is *Aioli* -- The AI On-line Inference Platform that enables easy deployment, tracking, and serving of your packaged models regardless of your preferred AI framework.
|
|
7
7
|
|
|
8
|
-
The version of the OpenAPI document: 0.2.4-
|
|
8
|
+
The version of the OpenAPI document: 0.2.4-dev11
|
|
9
9
|
Contact: community@determined-ai
|
|
10
10
|
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
11
11
|
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
HPE MLIS is *Aioli* -- The AI On-line Inference Platform that enables easy deployment, tracking, and serving of your packaged models regardless of your preferred AI framework.
|
|
7
7
|
|
|
8
|
-
The version of the OpenAPI document: 0.2.4-
|
|
8
|
+
The version of the OpenAPI document: 0.2.4-dev11
|
|
9
9
|
Contact: community@determined-ai
|
|
10
10
|
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
11
11
|
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
HPE MLIS is *Aioli* -- The AI On-line Inference Platform that enables easy deployment, tracking, and serving of your packaged models regardless of your preferred AI framework.
|
|
7
7
|
|
|
8
|
-
The version of the OpenAPI document: 0.2.4-
|
|
8
|
+
The version of the OpenAPI document: 0.2.4-dev11
|
|
9
9
|
Contact: community@determined-ai
|
|
10
10
|
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
11
11
|
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
HPE MLIS is *Aioli* -- The AI On-line Inference Platform that enables easy deployment, tracking, and serving of your packaged models regardless of your preferred AI framework.
|
|
7
7
|
|
|
8
|
-
The version of the OpenAPI document: 0.2.4-
|
|
8
|
+
The version of the OpenAPI document: 0.2.4-dev11
|
|
9
9
|
Contact: community@determined-ai
|
|
10
10
|
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
11
11
|
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
HPE MLIS is *Aioli* -- The AI On-line Inference Platform that enables easy deployment, tracking, and serving of your packaged models regardless of your preferred AI framework.
|
|
7
7
|
|
|
8
|
-
The version of the OpenAPI document: 0.2.4-
|
|
8
|
+
The version of the OpenAPI document: 0.2.4-dev11
|
|
9
9
|
Contact: community@determined-ai
|
|
10
10
|
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
11
11
|
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
HPE MLIS is *Aioli* -- The AI On-line Inference Platform that enables easy deployment, tracking, and serving of your packaged models regardless of your preferred AI framework.
|
|
7
7
|
|
|
8
|
-
The version of the OpenAPI document: 0.2.4-
|
|
8
|
+
The version of the OpenAPI document: 0.2.4-dev11
|
|
9
9
|
Contact: community@determined-ai
|
|
10
10
|
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
11
11
|
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
HPE MLIS is *Aioli* -- The AI On-line Inference Platform that enables easy deployment, tracking, and serving of your packaged models regardless of your preferred AI framework.
|
|
7
7
|
|
|
8
|
-
The version of the OpenAPI document: 0.2.4-
|
|
8
|
+
The version of the OpenAPI document: 0.2.4-dev11
|
|
9
9
|
Contact: community@determined-ai
|
|
10
10
|
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
11
11
|
|
{aioli_sdk-0.2.4.dev10 → aioli_sdk-0.2.4.dev11}/aiolirest/models/trained_model_registry_request.py
RENAMED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
HPE MLIS is *Aioli* -- The AI On-line Inference Platform that enables easy deployment, tracking, and serving of your packaged models regardless of your preferred AI framework.
|
|
7
7
|
|
|
8
|
-
The version of the OpenAPI document: 0.2.4-
|
|
8
|
+
The version of the OpenAPI document: 0.2.4-dev11
|
|
9
9
|
Contact: community@determined-ai
|
|
10
10
|
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
11
11
|
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
HPE MLIS is *Aioli* -- The AI On-line Inference Platform that enables easy deployment, tracking, and serving of your packaged models regardless of your preferred AI framework.
|
|
7
7
|
|
|
8
|
-
The version of the OpenAPI document: 0.2.4-
|
|
8
|
+
The version of the OpenAPI document: 0.2.4-dev11
|
|
9
9
|
Contact: community@determined-ai
|
|
10
10
|
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
11
11
|
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
HPE MLIS is *Aioli* -- The AI On-line Inference Platform that enables easy deployment, tracking, and serving of your packaged models regardless of your preferred AI framework.
|
|
7
7
|
|
|
8
|
-
The version of the OpenAPI document: 0.2.4-
|
|
8
|
+
The version of the OpenAPI document: 0.2.4-dev11
|
|
9
9
|
Contact: community@determined-ai
|
|
10
10
|
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
11
11
|
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
HPE MLIS is *Aioli* -- The AI On-line Inference Platform that enables easy deployment, tracking, and serving of your packaged models regardless of your preferred AI framework.
|
|
7
7
|
|
|
8
|
-
The version of the OpenAPI document: 0.2.4-
|
|
8
|
+
The version of the OpenAPI document: 0.2.4-dev11
|
|
9
9
|
Contact: community@determined-ai
|
|
10
10
|
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
11
11
|
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
HPE MLIS is *Aioli* -- The AI On-line Inference Platform that enables easy deployment, tracking, and serving of your packaged models regardless of your preferred AI framework.
|
|
7
7
|
|
|
8
|
-
The version of the OpenAPI document: 0.2.4-
|
|
8
|
+
The version of the OpenAPI document: 0.2.4-dev11
|
|
9
9
|
Contact: community@determined-ai
|
|
10
10
|
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
11
11
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|