azureml-core 1.56.0__py3-none-any.whl → 1.57.0__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.
- azureml/_base_sdk_common/_version.py +1 -1
- azureml/_file_utils/file_utils.py +19 -19
- azureml/_project/azureml_base_images.json +7 -7
- azureml/_vendor/azure_storage/blob/_encryption.py +1 -2
- azureml/_vendor/azure_storage/blob/_shared/policies.py +20 -20
- azureml/_vendor/azure_storage/fileshare/_shared/policies.py +20 -20
- azureml/_workspace/_utils.py +3 -1
- azureml/core/authentication.py +1 -4
- azureml/core/compute/computeinstance.py +54 -0
- azureml/core/conda_dependencies.py +1 -1
- azureml/core/datastore.py +23 -23
- azureml/core/model.py +1 -8
- azureml/core/runconfig.py +16 -5
- azureml/core/webservice/aks.py +0 -4
- azureml/core/webservice/local.py +0 -4
- azureml/core/webservice/webservice.py +0 -4
- azureml/data/context_managers.py +1 -1
- {azureml_core-1.56.0.dist-info → azureml_core-1.57.0.dist-info}/METADATA +32 -32
- {azureml_core-1.56.0.dist-info → azureml_core-1.57.0.dist-info}/RECORD +23 -23
- {azureml_core-1.56.0.dist-info → azureml_core-1.57.0.dist-info}/WHEEL +1 -1
- {azureml_core-1.56.0.dist-info → azureml_core-1.57.0.dist-info}/LICENSE.txt +0 -0
- {azureml_core-1.56.0.dist-info → azureml_core-1.57.0.dist-info}/entry_points.txt +0 -0
- {azureml_core-1.56.0.dist-info → azureml_core-1.57.0.dist-info}/top_level.txt +0 -0
@@ -1 +1 @@
|
|
1
|
-
ver = "1.
|
1
|
+
ver = "1.57.0"
|
@@ -24,11 +24,11 @@ from azure.common import AzureMissingResourceHttpError
|
|
24
24
|
module_logger = logging.getLogger(__name__)
|
25
25
|
|
26
26
|
|
27
|
-
def _validate_content_match(
|
28
|
-
|
29
|
-
'
|
30
|
-
if
|
31
|
-
raise AzureMLException(
|
27
|
+
def _validate_content_match(server_256, computed_sha256):
|
28
|
+
_ERROR_sha256_MISMATCH = \
|
29
|
+
'sha256 mismatch. Expected value is \'{0}\', computed value is \'{1}\'.'
|
30
|
+
if server_256 != computed_sha256:
|
31
|
+
raise AzureMLException(_ERROR_sha256_MISMATCH.format(server_256, computed_sha256))
|
32
32
|
|
33
33
|
|
34
34
|
def normalize_path_and_join(path, name):
|
@@ -247,14 +247,14 @@ def download_file(source_uri, path=None, max_retries=5, stream=True, protocol="h
|
|
247
247
|
# download using requests.Session
|
248
248
|
def _handle_response(response):
|
249
249
|
makedirs_for_file_path(path)
|
250
|
-
|
250
|
+
sha256_hash = hashlib.sha256()
|
251
251
|
with open(path, 'wb') as write_to_file:
|
252
252
|
for chunk in response.iter_content(chunk_size=1024):
|
253
253
|
if chunk:
|
254
|
-
|
254
|
+
sha256_hash.update(chunk)
|
255
255
|
write_to_file.write(chunk)
|
256
256
|
if _validate_check_sum:
|
257
|
-
_validate_content(
|
257
|
+
_validate_content(sha256_hash, response)
|
258
258
|
|
259
259
|
_request_file_with_retry(source_uri, _handle_response, max_retries, stream, session)
|
260
260
|
|
@@ -319,37 +319,37 @@ def download_file_stream(source_uri, encoding="utf-8", download_to_bytes=False,
|
|
319
319
|
# download using requests.Session
|
320
320
|
def _handle_response(response):
|
321
321
|
bytes_str = bytes()
|
322
|
-
|
322
|
+
sha256_hash = hashlib.sha256()
|
323
323
|
if response.status_code != 200:
|
324
324
|
response.raise_for_status()
|
325
325
|
for chunk in response.iter_content(chunk_size=1024):
|
326
326
|
if chunk:
|
327
|
-
|
327
|
+
sha256_hash.update(chunk)
|
328
328
|
bytes_str += chunk
|
329
329
|
if _validate_check_sum:
|
330
|
-
_validate_content(
|
330
|
+
_validate_content(sha256_hash, response)
|
331
331
|
return bytes_str if download_to_bytes else bytes_str.decode(encoding)
|
332
332
|
|
333
333
|
return _request_file_with_retry(source_uri, _handle_response, max_retries, stream, session)
|
334
334
|
|
335
335
|
|
336
|
-
def _validate_content(
|
336
|
+
def _validate_content(sha256_hash, response):
|
337
337
|
"""
|
338
|
-
Validate the content of response with
|
338
|
+
Validate the content of response with sha256_hash
|
339
339
|
|
340
|
-
:param
|
341
|
-
:type
|
340
|
+
:param sha256_hash:
|
341
|
+
:type sha256_hash: _Hash
|
342
342
|
:param response: the response object
|
343
343
|
:type response: requests.Response
|
344
344
|
:return: None
|
345
345
|
:rtype: None
|
346
346
|
"""
|
347
|
-
if 'content-
|
348
|
-
_validate_content_match(response.headers['content-
|
349
|
-
base64.b64encode(
|
347
|
+
if 'content-sha256' in response.headers:
|
348
|
+
_validate_content_match(response.headers['content-sha256'],
|
349
|
+
base64.b64encode(sha256_hash.digest()).decode('utf-8'))
|
350
350
|
else:
|
351
351
|
module_logger.debug(
|
352
|
-
"validate_check_sum flag is set to true but content-
|
352
|
+
"validate_check_sum flag is set to true but content-sha256 not found on respose header")
|
353
353
|
|
354
354
|
|
355
355
|
def get_directory_size(path, size_limit=None, include_function=None, exclude_function=None):
|
@@ -1,9 +1,9 @@
|
|
1
1
|
{
|
2
|
-
"mcr.microsoft.com/azureml/openmpi4.1.0-cuda11.1-cudnn8-ubuntu20.04": "
|
3
|
-
"mcr.microsoft.com/azureml/openmpi4.1.0-cuda11.2-cudnn8-ubuntu20.04": "
|
4
|
-
"mcr.microsoft.com/azureml/openmpi4.1.0-cuda11.3-cudnn8-ubuntu20.04": "
|
5
|
-
"mcr.microsoft.com/azureml/openmpi4.1.0-cuda11.6-cudnn8-ubuntu20.04": "
|
6
|
-
"mcr.microsoft.com/azureml/openmpi4.1.0-cuda11.8-cudnn8-ubuntu22.04": "
|
7
|
-
"mcr.microsoft.com/azureml/openmpi4.1.0-ubuntu20.04": "
|
8
|
-
"mcr.microsoft.com/azureml/openmpi4.1.0-ubuntu22.04": "
|
2
|
+
"mcr.microsoft.com/azureml/openmpi4.1.0-cuda11.1-cudnn8-ubuntu20.04": "20240709.v1",
|
3
|
+
"mcr.microsoft.com/azureml/openmpi4.1.0-cuda11.2-cudnn8-ubuntu20.04": "20240709.v1",
|
4
|
+
"mcr.microsoft.com/azureml/openmpi4.1.0-cuda11.3-cudnn8-ubuntu20.04": "20240709.v1",
|
5
|
+
"mcr.microsoft.com/azureml/openmpi4.1.0-cuda11.6-cudnn8-ubuntu20.04": "20240709.v1",
|
6
|
+
"mcr.microsoft.com/azureml/openmpi4.1.0-cuda11.8-cudnn8-ubuntu22.04": "20240709.v1",
|
7
|
+
"mcr.microsoft.com/azureml/openmpi4.1.0-ubuntu20.04": "20240709.v1",
|
8
|
+
"mcr.microsoft.com/azureml/openmpi4.1.0-ubuntu22.04": "20240709.v1"
|
9
9
|
}
|
@@ -251,8 +251,7 @@ class GCMBlobEncryptionStream:
|
|
251
251
|
:param bytes data: The data to encrypt.
|
252
252
|
"""
|
253
253
|
# Each region MUST use a different nonce
|
254
|
-
nonce =
|
255
|
-
self.nonce_counter += 1
|
254
|
+
nonce = os.urandom(12)
|
256
255
|
|
257
256
|
aesgcm = AESGCM(self.content_encryption_key)
|
258
257
|
|
@@ -101,11 +101,11 @@ def is_retry(response, mode): # pylint: disable=too-many-return-statements
|
|
101
101
|
if status in [501, 505]:
|
102
102
|
return False
|
103
103
|
return True
|
104
|
-
# retry if invalid content
|
105
|
-
if response.context.get('validate_content', False) and response.http_response.headers.get('content-
|
106
|
-
|
107
|
-
encode_base64(StorageContentValidation.
|
108
|
-
if response.http_response.headers['content-
|
104
|
+
# retry if invalid content sha256
|
105
|
+
if response.context.get('validate_content', False) and response.http_response.headers.get('content-sha256'):
|
106
|
+
computed_sha256 = response.http_request.headers.get('content-sha256', None) or \
|
107
|
+
encode_base64(StorageContentValidation.get_content_sha256(response.http_response.body()))
|
108
|
+
if response.http_response.headers['content-sha256'] != computed_sha256:
|
109
109
|
return True
|
110
110
|
return False
|
111
111
|
|
@@ -343,17 +343,17 @@ class StorageContentValidation(SansIOHTTPPolicy):
|
|
343
343
|
|
344
344
|
This will overwrite any headers already defined in the request.
|
345
345
|
"""
|
346
|
-
header_name = 'Content-
|
346
|
+
header_name = 'Content-sha256'
|
347
347
|
|
348
348
|
def __init__(self, **kwargs): # pylint: disable=unused-argument
|
349
349
|
super(StorageContentValidation, self).__init__()
|
350
350
|
|
351
351
|
@staticmethod
|
352
|
-
def
|
352
|
+
def get_content_sha256(data):
|
353
353
|
data = data or b""
|
354
|
-
|
354
|
+
sha256 = hashlib.sha256() # nosec
|
355
355
|
if isinstance(data, bytes):
|
356
|
-
|
356
|
+
sha256.update(data)
|
357
357
|
elif hasattr(data, 'read'):
|
358
358
|
pos = 0
|
359
359
|
try:
|
@@ -361,7 +361,7 @@ class StorageContentValidation(SansIOHTTPPolicy):
|
|
361
361
|
except: # pylint: disable=bare-except
|
362
362
|
pass
|
363
363
|
for chunk in iter(lambda: data.read(4096), b""):
|
364
|
-
|
364
|
+
sha256.update(chunk)
|
365
365
|
try:
|
366
366
|
data.seek(pos, SEEK_SET)
|
367
367
|
except (AttributeError, IOError):
|
@@ -369,25 +369,25 @@ class StorageContentValidation(SansIOHTTPPolicy):
|
|
369
369
|
else:
|
370
370
|
raise ValueError("Data should be bytes or a seekable file-like object.")
|
371
371
|
|
372
|
-
return
|
372
|
+
return sha256.digest()
|
373
373
|
|
374
374
|
def on_request(self, request):
|
375
375
|
# type: (PipelineRequest, Any) -> None
|
376
376
|
validate_content = request.context.options.pop('validate_content', False)
|
377
377
|
if validate_content and request.http_request.method != 'GET':
|
378
|
-
|
379
|
-
request.http_request.headers[self.header_name] =
|
380
|
-
request.context['
|
378
|
+
computed_sha256 = encode_base64(StorageContentValidation.get_content_sha256(request.http_request.data))
|
379
|
+
request.http_request.headers[self.header_name] = computed_sha256
|
380
|
+
request.context['validate_content_sha256'] = computed_sha256
|
381
381
|
request.context['validate_content'] = validate_content
|
382
382
|
|
383
383
|
def on_response(self, request, response):
|
384
|
-
if response.context.get('validate_content', False) and response.http_response.headers.get('content-
|
385
|
-
|
386
|
-
encode_base64(StorageContentValidation.
|
387
|
-
if response.http_response.headers['content-
|
384
|
+
if response.context.get('validate_content', False) and response.http_response.headers.get('content-sha256'):
|
385
|
+
computed_sha256 = request.context.get('validate_content_sha256') or \
|
386
|
+
encode_base64(StorageContentValidation.get_content_sha256(response.http_response.body()))
|
387
|
+
if response.http_response.headers['content-sha256'] != computed_sha256:
|
388
388
|
raise AzureError(
|
389
|
-
'
|
390
|
-
response.http_response.headers['content-
|
389
|
+
'sha256 mismatch. Expected value is \'{0}\', computed value is \'{1}\'.'.format(
|
390
|
+
response.http_response.headers['content-sha256'], computed_sha256),
|
391
391
|
response=response.http_response
|
392
392
|
)
|
393
393
|
|
@@ -97,11 +97,11 @@ def is_retry(response, mode): # pylint: disable=too-many-return-statements
|
|
97
97
|
if status in [501, 505]:
|
98
98
|
return False
|
99
99
|
return True
|
100
|
-
# retry if invalid content
|
101
|
-
if response.context.get('validate_content', False) and response.http_response.headers.get('content-
|
102
|
-
|
103
|
-
encode_base64(StorageContentValidation.
|
104
|
-
if response.http_response.headers['content-
|
100
|
+
# retry if invalid content sha256
|
101
|
+
if response.context.get('validate_content', False) and response.http_response.headers.get('content-sha256'):
|
102
|
+
computed_sha256 = response.http_request.headers.get('content-sha256', None) or \
|
103
|
+
encode_base64(StorageContentValidation.get_content_sha256(response.http_response.body()))
|
104
|
+
if response.http_response.headers['content-sha256'] != computed_sha256:
|
105
105
|
return True
|
106
106
|
return False
|
107
107
|
|
@@ -329,17 +329,17 @@ class StorageContentValidation(SansIOHTTPPolicy):
|
|
329
329
|
|
330
330
|
This will overwrite any headers already defined in the request.
|
331
331
|
"""
|
332
|
-
header_name = 'Content-
|
332
|
+
header_name = 'Content-sha256'
|
333
333
|
|
334
334
|
def __init__(self, **kwargs): # pylint: disable=unused-argument
|
335
335
|
super(StorageContentValidation, self).__init__()
|
336
336
|
|
337
337
|
@staticmethod
|
338
|
-
def
|
338
|
+
def get_content_sha256(data):
|
339
339
|
data = data or b""
|
340
|
-
|
340
|
+
sha256 = hashlib.sha256() # nosec
|
341
341
|
if isinstance(data, bytes):
|
342
|
-
|
342
|
+
sha256.update(data)
|
343
343
|
elif hasattr(data, 'read'):
|
344
344
|
pos = 0
|
345
345
|
try:
|
@@ -347,7 +347,7 @@ class StorageContentValidation(SansIOHTTPPolicy):
|
|
347
347
|
except: # pylint: disable=bare-except
|
348
348
|
pass
|
349
349
|
for chunk in iter(lambda: data.read(4096), b""):
|
350
|
-
|
350
|
+
sha256.update(chunk)
|
351
351
|
try:
|
352
352
|
data.seek(pos, SEEK_SET)
|
353
353
|
except (AttributeError, IOError):
|
@@ -355,25 +355,25 @@ class StorageContentValidation(SansIOHTTPPolicy):
|
|
355
355
|
else:
|
356
356
|
raise ValueError("Data should be bytes or a seekable file-like object.")
|
357
357
|
|
358
|
-
return
|
358
|
+
return sha256.digest()
|
359
359
|
|
360
360
|
def on_request(self, request):
|
361
361
|
# type: (PipelineRequest, Any) -> None
|
362
362
|
validate_content = request.context.options.pop('validate_content', False)
|
363
363
|
if validate_content and request.http_request.method != 'GET':
|
364
|
-
|
365
|
-
request.http_request.headers[self.header_name] =
|
366
|
-
request.context['
|
364
|
+
computed_sha256 = encode_base64(StorageContentValidation.get_content_sha256(request.http_request.data))
|
365
|
+
request.http_request.headers[self.header_name] = computed_sha256
|
366
|
+
request.context['validate_content_sha256'] = computed_sha256
|
367
367
|
request.context['validate_content'] = validate_content
|
368
368
|
|
369
369
|
def on_response(self, request, response):
|
370
|
-
if response.context.get('validate_content', False) and response.http_response.headers.get('content-
|
371
|
-
|
372
|
-
encode_base64(StorageContentValidation.
|
373
|
-
if response.http_response.headers['content-
|
370
|
+
if response.context.get('validate_content', False) and response.http_response.headers.get('content-sha256'):
|
371
|
+
computed_sha256 = request.context.get('validate_content_sha256') or \
|
372
|
+
encode_base64(StorageContentValidation.get_content_sha256(response.http_response.body()))
|
373
|
+
if response.http_response.headers['content-sha256'] != computed_sha256:
|
374
374
|
raise AzureError(
|
375
|
-
'
|
376
|
-
response.http_response.headers['content-
|
375
|
+
'sha256 mismatch. Expected value is \'{0}\', computed value is \'{1}\'.'.format(
|
376
|
+
response.http_response.headers['content-sha256'], computed_sha256),
|
377
377
|
response=response.http_response
|
378
378
|
)
|
379
379
|
|
azureml/_workspace/_utils.py
CHANGED
@@ -52,7 +52,9 @@ def get_application_insights_region(workspace_region):
|
|
52
52
|
"southindia": "centralindia",
|
53
53
|
"polandcentral": "northeurope",
|
54
54
|
"italynorth": "westeurope",
|
55
|
-
"chinaeast3": "chinaeast2"
|
55
|
+
"chinaeast3": "chinaeast2",
|
56
|
+
"spaincentral": "francecentral",
|
57
|
+
"israelcentral": "westeurope"
|
56
58
|
}.get(workspace_region, workspace_region)
|
57
59
|
|
58
60
|
|
azureml/core/authentication.py
CHANGED
@@ -1566,10 +1566,7 @@ class AzureMLTokenAuthentication(AbstractAuthentication):
|
|
1566
1566
|
@staticmethod
|
1567
1567
|
def _get_token(token, should_encrypt=False):
|
1568
1568
|
password = os.environ.get("AZUREML_RUN_TOKEN_PASS")
|
1569
|
-
|
1570
|
-
m = hashlib.sha256()
|
1571
|
-
m.update(random_string.encode())
|
1572
|
-
salt = m.digest()
|
1569
|
+
salt = os.urandom(16)
|
1573
1570
|
kdf = PBKDF2HMAC(
|
1574
1571
|
algorithm=hashes.SHA256(),
|
1575
1572
|
length=32,
|
@@ -365,6 +365,60 @@ class ComputeInstance(ComputeTarget):
|
|
365
365
|
vnet_name, subnet_name, tags, description, assigned_user_object_id, assigned_user_tenant_id)
|
366
366
|
return config
|
367
367
|
|
368
|
+
def update_sso_settings(self, value):
|
369
|
+
"""Update single sign-on settings of the compute instance.
|
370
|
+
|
371
|
+
:param value: The value of sso settings
|
372
|
+
:type value: bool
|
373
|
+
:return: Whether the update was successful or not
|
374
|
+
:rtype: bool
|
375
|
+
"""
|
376
|
+
return self._update_sso_settings(self.workspace, self.name, value)
|
377
|
+
|
378
|
+
@staticmethod
|
379
|
+
def _update_sso_settings(workspace, compute_name, value):
|
380
|
+
"""Update single sign-on settings.
|
381
|
+
|
382
|
+
:param workspace: The workspace.
|
383
|
+
:type workspace: azureml.core.Workspace
|
384
|
+
:param compute_name: The compute name.
|
385
|
+
:type compute_name: string
|
386
|
+
:param value: The value of sso settings
|
387
|
+
:type value: bool
|
388
|
+
:return: Whether the update was successful or not
|
389
|
+
:rtype: bool
|
390
|
+
"""
|
391
|
+
if not workspace:
|
392
|
+
return False
|
393
|
+
|
394
|
+
enable_sso_fmt = '{}/subscriptions/{}/resourcegroups/{}/providers/' \
|
395
|
+
'Microsoft.MachineLearningServices/workspaces/{}/computes/{}/enableSso'
|
396
|
+
arm_endpoint = ComputeTarget._get_resource_manager_endpoint(workspace)
|
397
|
+
endpoint = enable_sso_fmt.format(arm_endpoint,
|
398
|
+
workspace.subscription_id,
|
399
|
+
workspace.resource_group,
|
400
|
+
workspace.name,
|
401
|
+
compute_name)
|
402
|
+
headers = workspace._auth.get_authentication_header()
|
403
|
+
ComputeTarget._add_request_tracking_headers(headers)
|
404
|
+
params = {'api-version': MLC_WORKSPACE_API_VERSION}
|
405
|
+
compute_update_payload = {'EnableSSO': value}
|
406
|
+
|
407
|
+
try:
|
408
|
+
resp = ClientBase._execute_func(get_requests_session().post, endpoint,
|
409
|
+
params=params, headers=headers, json=compute_update_payload)
|
410
|
+
resp.raise_for_status()
|
411
|
+
except requests.exceptions.HTTPError:
|
412
|
+
raise ComputeTargetException('Single sign-on settings update request failed:\n'
|
413
|
+
'Response Code: {}\n'
|
414
|
+
'Headers: {}\n'
|
415
|
+
'Content: {}'.format(resp.status_code, resp.headers, resp.content))
|
416
|
+
|
417
|
+
if resp.status_code != 200:
|
418
|
+
return False
|
419
|
+
|
420
|
+
return True
|
421
|
+
|
368
422
|
@staticmethod
|
369
423
|
def _build_create_payload(config, location, subscription_id):
|
370
424
|
"""Construct the payload needed to create an ComputeInstance.
|
@@ -29,7 +29,7 @@ PIP = 'pip'
|
|
29
29
|
PYTHON_PREFIX = 'python'
|
30
30
|
VERSION_REGEX = re.compile(r'(\d+)\.(\d+)(\.(\d+))?([ab](\d+))?$')
|
31
31
|
CNTK_DEFAULT_VERSION = '2.7'
|
32
|
-
PYTHON_DEFAULT_VERSION = '3.
|
32
|
+
PYTHON_DEFAULT_VERSION = '3.9.12'
|
33
33
|
LINUX_PLATFORM = 'linux'
|
34
34
|
WINDOWS_PLATFORM = 'win32'
|
35
35
|
TENSORFLOW_DEFAULT_VERSION = '2.2.0'
|
azureml/core/datastore.py
CHANGED
@@ -54,29 +54,29 @@ class Datastore(object):
|
|
54
54
|
|
55
55
|
.. code-block:: python
|
56
56
|
|
57
|
-
from azureml.exceptions import UserErrorException
|
58
|
-
|
59
|
-
blob_datastore_name='MyBlobDatastore'
|
60
|
-
account_name=os.getenv("BLOB_ACCOUNTNAME_62", "<my-account-name>") # Storage account name
|
61
|
-
container_name=os.getenv("BLOB_CONTAINER_62", "<my-container-name>") # Name of Azure blob container
|
62
|
-
account_key=os.getenv("BLOB_ACCOUNT_KEY_62", "<my-account-key>") # Storage account key
|
63
|
-
|
64
|
-
try:
|
65
|
-
|
66
|
-
|
67
|
-
except UserErrorException:
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
blob_data_ref = DataReference(
|
77
|
-
|
78
|
-
|
79
|
-
|
57
|
+
# from azureml.exceptions import UserErrorException
|
58
|
+
#
|
59
|
+
# blob_datastore_name='MyBlobDatastore'
|
60
|
+
# account_name=os.getenv("BLOB_ACCOUNTNAME_62", "<my-account-name>") # Storage account name
|
61
|
+
# container_name=os.getenv("BLOB_CONTAINER_62", "<my-container-name>") # Name of Azure blob container
|
62
|
+
# account_key=os.getenv("BLOB_ACCOUNT_KEY_62", "<my-account-key>") # Storage account key
|
63
|
+
#
|
64
|
+
# try:
|
65
|
+
# blob_datastore = Datastore.get(ws, blob_datastore_name)
|
66
|
+
# print("Found Blob Datastore with name: %s" % blob_datastore_name)
|
67
|
+
# except UserErrorException:
|
68
|
+
# blob_datastore = Datastore.register_azure_blob_container(
|
69
|
+
# workspace=ws,
|
70
|
+
# datastore_name=blob_datastore_name,
|
71
|
+
# account_name=account_name, # Storage account name
|
72
|
+
# container_name=container_name, # Name of Azure blob container
|
73
|
+
# account_key=account_key) # Storage account key
|
74
|
+
# print("Registered blob datastore with name: %s" % blob_datastore_name)
|
75
|
+
#
|
76
|
+
# blob_data_ref = DataReference(
|
77
|
+
# datastore=blob_datastore,
|
78
|
+
# data_reference_name="blob_test_data",
|
79
|
+
# path_on_datastore="testdata")
|
80
80
|
|
81
81
|
Full sample is available from
|
82
82
|
https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/machine-learning-pipelines/intro-to-pipelines/aml-pipelines-data-transfer.ipynb
|
azureml/core/model.py
CHANGED
@@ -150,10 +150,6 @@ class Model(object):
|
|
150
150
|
description="Ridge regression model to predict diabetes",
|
151
151
|
workspace=ws)
|
152
152
|
|
153
|
-
Full sample is available from
|
154
|
-
https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/deployment/deploy-to-local/register-model-deploy-local-advanced.ipynb
|
155
|
-
|
156
|
-
|
157
153
|
The following sample shows how to register a model specifying framework, input and output
|
158
154
|
datasets, and resource configuration.
|
159
155
|
|
@@ -526,10 +522,6 @@ class Model(object):
|
|
526
522
|
description="Ridge regression model to predict diabetes",
|
527
523
|
workspace=ws)
|
528
524
|
|
529
|
-
Full sample is available from
|
530
|
-
https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/deployment/deploy-to-local/register-model-deploy-local-advanced.ipynb
|
531
|
-
|
532
|
-
|
533
525
|
If you have a model that was produced as a result of an experiment run, you can register it
|
534
526
|
from a run object directly without downloading it to a local file first. In order to do that use
|
535
527
|
the :func:`azureml.core.run.Run.register_model` method as documented in the :class:`azureml.core.run.Run`
|
@@ -647,6 +639,7 @@ class Model(object):
|
|
647
639
|
|
648
640
|
if child_paths:
|
649
641
|
for path in child_paths:
|
642
|
+
model_path = os.path.normpath(model_path)
|
650
643
|
if not os.path.exists(os.path.join(model_path, path)):
|
651
644
|
raise WebserviceException('Error, provided child path "{}" cannot be found'.format(path),
|
652
645
|
logger=module_logger)
|
azureml/core/runconfig.py
CHANGED
@@ -1445,7 +1445,6 @@ class RunConfiguration(_AbstractRunConfigElement):
|
|
1445
1445
|
|
1446
1446
|
# True if the specified path is a project directory. False if the path specified is a file.
|
1447
1447
|
project_dir_case = True
|
1448
|
-
path = os.path.normpath(path)
|
1449
1448
|
if os.path.exists(path) and os.path.isdir(path):
|
1450
1449
|
# This should be the project directory
|
1451
1450
|
if name is None and self._name is None:
|
@@ -1457,7 +1456,7 @@ class RunConfiguration(_AbstractRunConfigElement):
|
|
1457
1456
|
else:
|
1458
1457
|
# A user might have specified the file location to save.
|
1459
1458
|
parent_dir = os.path.dirname(path)
|
1460
|
-
|
1459
|
+
parent_dir = os.path.normpath(parent_dir)
|
1461
1460
|
if os.path.exists(parent_dir) and os.path.isdir(parent_dir):
|
1462
1461
|
project_dir_case = False
|
1463
1462
|
else:
|
@@ -1530,6 +1529,7 @@ class RunConfiguration(_AbstractRunConfigElement):
|
|
1530
1529
|
run_config_dir_name = get_run_config_dir_name(path) + "/"
|
1531
1530
|
full_runconfig_path = os.path.join(path, run_config_dir_name + name)
|
1532
1531
|
|
1532
|
+
full_runconfig_path = os.path.normpath(full_runconfig_path)
|
1533
1533
|
if os.path.isfile(full_runconfig_path):
|
1534
1534
|
full_runconfig_path = os.path.normpath(full_runconfig_path)
|
1535
1535
|
return RunConfiguration._load_from_path(full_runconfig_path=full_runconfig_path,
|
@@ -1539,10 +1539,12 @@ class RunConfiguration(_AbstractRunConfigElement):
|
|
1539
1539
|
|
1540
1540
|
# Appending .runconfig suffix for backcompat case.
|
1541
1541
|
full_runconfig_path = full_runconfig_path + RUNCONFIGURATION_EXTENSION
|
1542
|
+
full_runconfig_path = os.path.normpath(full_runconfig_path)
|
1542
1543
|
if not os.path.isfile(full_runconfig_path) and name:
|
1543
1544
|
# check for file not in .azureml or aml_config directory
|
1544
1545
|
full_runconfig_path = os.path.join(path, name + RUNCONFIGURATION_EXTENSION)
|
1545
1546
|
|
1547
|
+
full_runconfig_path = os.path.normpath(full_runconfig_path)
|
1546
1548
|
if os.path.isfile(full_runconfig_path):
|
1547
1549
|
# Setting name=name_with_ext, so that any subsequent save happens
|
1548
1550
|
# on the name.runconfig file instead of name
|
@@ -1568,6 +1570,7 @@ class RunConfiguration(_AbstractRunConfigElement):
|
|
1568
1570
|
:return: The run configuration object.
|
1569
1571
|
:rtype: RunConfiguration
|
1570
1572
|
"""
|
1573
|
+
full_runconfig_path = os.path.normpath(full_runconfig_path)
|
1571
1574
|
with open(full_runconfig_path, "r") as run_config:
|
1572
1575
|
# Loads with all the comments intact.
|
1573
1576
|
commented_map_dict = ruamelyaml.round_trip_load(run_config)
|
@@ -1590,14 +1593,18 @@ class RunConfiguration(_AbstractRunConfigElement):
|
|
1590
1593
|
:raises: UserErrorException
|
1591
1594
|
"""
|
1592
1595
|
file_found = False
|
1593
|
-
legacy_full_file_path = os.path.normpath(legacy_full_file_path)
|
1594
1596
|
legacy_full_file_path = os.path.join(path, AML_CONFIG_DIR, name + RUNCONFIGURATION_EXTENSION)
|
1597
|
+
legacy_full_file_path = os.path.normpath(legacy_full_file_path)
|
1595
1598
|
full_file_path = os.path.join(path, AZUREML_DIR, name + RUNCONFIGURATION_EXTENSION)
|
1599
|
+
legacy_full_file_path = os.path.normpath(legacy_full_file_path)
|
1596
1600
|
if os.path.isfile(legacy_full_file_path):
|
1597
1601
|
file_found = True
|
1602
|
+
legacy_full_file_path = os.path.normpath(legacy_full_file_path)
|
1598
1603
|
os.remove(legacy_full_file_path)
|
1604
|
+
full_file_path = os.path.normpath(full_file_path)
|
1599
1605
|
if os.path.isfile(full_file_path):
|
1600
1606
|
file_found = True
|
1607
|
+
full_file_path = os.path.normpath(full_file_path)
|
1601
1608
|
os.remove(full_file_path)
|
1602
1609
|
|
1603
1610
|
if file_found == False:
|
@@ -1708,6 +1715,7 @@ class RunConfiguration(_AbstractRunConfigElement):
|
|
1708
1715
|
raise UserErrorException("Compute target = {} doesn't exist at {}".format(
|
1709
1716
|
run_config_object.target, compute_target_path))
|
1710
1717
|
|
1718
|
+
compute_target_path = os.path.normpath(compute_target_path)
|
1711
1719
|
with open(compute_target_path, "r") as compute_target_file:
|
1712
1720
|
compute_target_dict = ruamelyaml.round_trip_load(compute_target_file)
|
1713
1721
|
if "baseDockerImage" in compute_target_dict:
|
@@ -1765,16 +1773,17 @@ class RunConfiguration(_AbstractRunConfigElement):
|
|
1765
1773
|
:return:
|
1766
1774
|
:rtype: None
|
1767
1775
|
"""
|
1768
|
-
spark_dependencies_path = os.path.normpath(spark_dependencies_path)
|
1769
1776
|
if spark_dependencies_file:
|
1770
1777
|
# Reading spark dependencies file.
|
1771
1778
|
spark_dependencies_path = os.path.join(
|
1772
1779
|
path, spark_dependencies_file)
|
1780
|
+
spark_dependencies_path = os.path.normpath(spark_dependencies_path)
|
1773
1781
|
|
1774
1782
|
if not os.path.isfile(spark_dependencies_path):
|
1775
1783
|
raise UserErrorException("Spark dependencies file = {} doesn't exist at {}".format(
|
1776
1784
|
spark_dependencies_file, spark_dependencies_path))
|
1777
1785
|
|
1786
|
+
spark_dependencies_path = os.path.normpath(spark_dependencies_path)
|
1778
1787
|
with open(spark_dependencies_path, "r") as spark_file:
|
1779
1788
|
if use_commented_map:
|
1780
1789
|
spark_file_dict = ruamelyaml.round_trip_load(spark_file)
|
@@ -1831,12 +1840,14 @@ class RunConfiguration(_AbstractRunConfigElement):
|
|
1831
1840
|
_yaml_set_comment_before_after_key_with_error(
|
1832
1841
|
commented_map_dict, "environment", "The file path that contains the environment configuration.")
|
1833
1842
|
|
1843
|
+
full_runconfig_path = os.path.normpath(full_runconfig_path)
|
1834
1844
|
with open(full_runconfig_path, 'w') as outfile:
|
1835
1845
|
ruamelyaml.round_trip_dump(commented_map_dict, outfile)
|
1836
1846
|
full_env_path = os.path.normpath(full_env_path)
|
1837
1847
|
with open(full_env_path, 'w') as outfile:
|
1838
1848
|
ruamelyaml.round_trip_dump(environment_commented_map, outfile)
|
1839
1849
|
else:
|
1850
|
+
full_runconfig_path = os.path.normpath(full_runconfig_path)
|
1840
1851
|
with open(full_runconfig_path, 'w') as outfile:
|
1841
1852
|
ruamelyaml.round_trip_dump(commented_map_dict, outfile)
|
1842
1853
|
|
@@ -2014,9 +2025,9 @@ class RunConfiguration(_AbstractRunConfigElement):
|
|
2014
2025
|
# Check if environment is specified as a dict or a file reference.
|
2015
2026
|
if "environment" in commented_map_or_dict and type(commented_map_or_dict["environment"]) == str:
|
2016
2027
|
# environment is specified as a file reference.
|
2017
|
-
environment_path = os.path.normpath(environment_path)
|
2018
2028
|
environment_path = os.path.join(dir_to_load,
|
2019
2029
|
commented_map_or_dict["environment"])
|
2030
|
+
environment_path = os.path.normpath(environment_path)
|
2020
2031
|
with open(environment_path, "r") as environment_config:
|
2021
2032
|
# Replacing string path with the actual environment serialized dictionary.
|
2022
2033
|
commented_map_or_dict["environment"] = ruamelyaml.round_trip_load(environment_config)
|
azureml/core/webservice/aks.py
CHANGED
@@ -70,10 +70,6 @@ class AksWebservice(Webservice):
|
|
70
70
|
# # Enable token auth and disable (key) auth on the webservice
|
71
71
|
# aks_config = AksWebservice.deploy_configuration(token_auth_enabled=True, auth_enabled=False)
|
72
72
|
|
73
|
-
Full sample is available from
|
74
|
-
https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/deployment/production-deploy-to-aks/production-deploy-to-aks.ipynb
|
75
|
-
|
76
|
-
|
77
73
|
There are a number of ways to deploy a model as a webservice, including with the:
|
78
74
|
|
79
75
|
* ``deploy`` method of the :class:`azureml.core.model.Model` for models already registered in the workspace.
|
azureml/core/webservice/local.py
CHANGED
@@ -95,10 +95,6 @@ class LocalWebservice(Webservice):
|
|
95
95
|
|
96
96
|
local_service.wait_for_deployment()
|
97
97
|
|
98
|
-
Full sample is available from
|
99
|
-
https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/deployment/deploy-to-local/register-model-deploy-local.ipynb
|
100
|
-
|
101
|
-
|
102
98
|
:param workspace: The workspace object containing any Model objects that will be retrieved.
|
103
99
|
:type workspace: azureml.core.Workspace
|
104
100
|
:param name: The name of the Webservice object to retrieve.
|
@@ -84,10 +84,6 @@ class Webservice(ABC):
|
|
84
84
|
# # Enable token auth and disable (key) auth on the webservice
|
85
85
|
# aks_config = AksWebservice.deploy_configuration(token_auth_enabled=True, auth_enabled=False)
|
86
86
|
|
87
|
-
Full sample is available from
|
88
|
-
https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/deployment/production-deploy-to-aks/production-deploy-to-aks.ipynb
|
89
|
-
|
90
|
-
|
91
87
|
The following sample shows how to find an existing :class:`azureml.core.webservice.AciWebservice` in a
|
92
88
|
workspace and delete it if it exists so the name can be reused.
|
93
89
|
|
azureml/data/context_managers.py
CHANGED
@@ -1003,7 +1003,7 @@ class DatasetContextManager(_CommonContextManager):
|
|
1003
1003
|
import hashlib
|
1004
1004
|
|
1005
1005
|
path_elems = os.path.normpath(path).split(os.path.sep)
|
1006
|
-
hashed_path_elems = list(map(lambda p: hashlib.
|
1006
|
+
hashed_path_elems = list(map(lambda p: hashlib.sha256(bytes(p, encoding='utf-8')).hexdigest(), path_elems))
|
1007
1007
|
return os.path.join(*hashed_path_elems)
|
1008
1008
|
|
1009
1009
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: azureml-core
|
3
|
-
Version: 1.
|
3
|
+
Version: 1.57.0
|
4
4
|
Summary: Azure Machine Learning core packages, modules, and classes
|
5
5
|
Home-page: https://docs.microsoft.com/python/api/overview/azure/ml/?view=azure-ml-py
|
6
6
|
Author: Microsoft Corp
|
@@ -18,38 +18,38 @@ Description-Content-Type: text/x-rst
|
|
18
18
|
License-File: LICENSE.txt
|
19
19
|
Requires-Dist: pytz
|
20
20
|
Requires-Dist: backports.tempfile
|
21
|
-
Requires-Dist: pathspec
|
22
|
-
Requires-Dist: requests[socks]
|
23
|
-
Requires-Dist: msal
|
24
|
-
Requires-Dist: msal-extensions
|
25
|
-
Requires-Dist: knack
|
26
|
-
Requires-Dist: azure-core
|
21
|
+
Requires-Dist: pathspec<1.0.0
|
22
|
+
Requires-Dist: requests[socks]<3.0.0,>=2.19.1
|
23
|
+
Requires-Dist: msal<2.0.0,>=1.15.0
|
24
|
+
Requires-Dist: msal-extensions<=2.0.0,>=0.3.0
|
25
|
+
Requires-Dist: knack<0.12.0
|
26
|
+
Requires-Dist: azure-core<2.0.0
|
27
27
|
Requires-Dist: pkginfo
|
28
|
-
Requires-Dist: argcomplete
|
29
|
-
Requires-Dist: humanfriendly
|
30
|
-
Requires-Dist: paramiko
|
31
|
-
Requires-Dist: azure-mgmt-resource
|
32
|
-
Requires-Dist: azure-mgmt-containerregistry
|
33
|
-
Requires-Dist: azure-mgmt-storage
|
34
|
-
Requires-Dist: azure-mgmt-keyvault
|
35
|
-
Requires-Dist: azure-mgmt-authorization
|
36
|
-
Requires-Dist: azure-mgmt-network
|
37
|
-
Requires-Dist: azure-graphrbac
|
38
|
-
Requires-Dist: azure-common
|
39
|
-
Requires-Dist: msrest
|
40
|
-
Requires-Dist: msrestazure
|
41
|
-
Requires-Dist: urllib3
|
42
|
-
Requires-Dist: packaging
|
43
|
-
Requires-Dist: python-dateutil
|
44
|
-
Requires-Dist: ndg-httpsclient
|
45
|
-
Requires-Dist: SecretStorage
|
46
|
-
Requires-Dist: jsonpickle
|
47
|
-
Requires-Dist: contextlib2
|
48
|
-
Requires-Dist: docker
|
49
|
-
Requires-Dist: PyJWT
|
50
|
-
Requires-Dist: adal
|
51
|
-
Requires-Dist: pyopenssl
|
52
|
-
Requires-Dist: jmespath
|
28
|
+
Requires-Dist: argcomplete<4
|
29
|
+
Requires-Dist: humanfriendly<11.0,>=4.7
|
30
|
+
Requires-Dist: paramiko<4.0.0,>=2.0.8
|
31
|
+
Requires-Dist: azure-mgmt-resource<=24.0.0,>=15.0.0
|
32
|
+
Requires-Dist: azure-mgmt-containerregistry<11,>=8.2.0
|
33
|
+
Requires-Dist: azure-mgmt-storage<=22.0.0,>=16.0.0
|
34
|
+
Requires-Dist: azure-mgmt-keyvault<11.0.0,>=0.40.0
|
35
|
+
Requires-Dist: azure-mgmt-authorization<5,>=0.40.0
|
36
|
+
Requires-Dist: azure-mgmt-network<=26.0.0
|
37
|
+
Requires-Dist: azure-graphrbac<1.0.0,>=0.40.0
|
38
|
+
Requires-Dist: azure-common<2.0.0,>=1.1.12
|
39
|
+
Requires-Dist: msrest<=0.7.1,>=0.5.1
|
40
|
+
Requires-Dist: msrestazure<=0.7,>=0.4.33
|
41
|
+
Requires-Dist: urllib3<3.0.0,>1.26.17
|
42
|
+
Requires-Dist: packaging<=25.0,>=20.0
|
43
|
+
Requires-Dist: python-dateutil<3.0.0,>=2.7.3
|
44
|
+
Requires-Dist: ndg-httpsclient<=0.5.1
|
45
|
+
Requires-Dist: SecretStorage<4.0.0
|
46
|
+
Requires-Dist: jsonpickle<4.0.0
|
47
|
+
Requires-Dist: contextlib2<22.0.0
|
48
|
+
Requires-Dist: docker<8.0.0
|
49
|
+
Requires-Dist: PyJWT<3.0.0
|
50
|
+
Requires-Dist: adal<=1.2.7,>=1.2.0
|
51
|
+
Requires-Dist: pyopenssl<25.0.0
|
52
|
+
Requires-Dist: jmespath<2.0.0
|
53
53
|
|
54
54
|
|
55
55
|
The azureml-core provides core packages, modules, and classes for Azure Machine Learning and includes the following:
|
@@ -8,7 +8,7 @@ azureml/_async/worker_pool.py,sha256=L0wPG7JskcjmgCfcIruIyk71pRkL0HbcTritBdcC2rk
|
|
8
8
|
azureml/_base_sdk_common/__init__.py,sha256=E04eAB1KyV8xIhdRtGDe2IaYMteRQ194h7Pem5ic8Kg,356
|
9
9
|
azureml/_base_sdk_common/_arcadia_token_wrapper.py,sha256=4dMGzRM6pdQiz7BI6PvcW2_pjs3t7lsZck39AiOvmbw,2112
|
10
10
|
azureml/_base_sdk_common/_docstring_wrapper.py,sha256=haPzBtUqTgx4gipecCMggR_pHBaMiUmlkZj-fUHo1do,3390
|
11
|
-
azureml/_base_sdk_common/_version.py,sha256=
|
11
|
+
azureml/_base_sdk_common/_version.py,sha256=pKRE-b8ZodY91QrUmiROejrMae5bLeP3jTZtGWQsdpE,16
|
12
12
|
azureml/_base_sdk_common/abstract_run_config_element.py,sha256=TTTVNWr17ss1AuWkKPFXgVzcGQt11QlEJ2weIsIZ5qc,1190
|
13
13
|
azureml/_base_sdk_common/auth_utils.py,sha256=c7jiAw_u70xU7HymEgtiGvqch8OqfoGzLW6Mdjuo9Lo,2512
|
14
14
|
azureml/_base_sdk_common/common.py,sha256=b26CXL0LDUV5JGPYGDMtRk1xrPCc3G8cQJyR3jbKLW8,27590
|
@@ -205,7 +205,7 @@ azureml/_compute/data/synapse_compute_template.json,sha256=IBWiGWT7Mmp-Z_Pw-zYx4
|
|
205
205
|
azureml/_execution/__init__.py,sha256=2XIGQap-7lSF-4gfhUFtGzpx9FB7-iUVpW_2omvxiII,269
|
206
206
|
azureml/_execution/_commands.py,sha256=ejWcDHBwSqDBa1zcW33F2PdpnfLJs4p-6qnyC9ikgrE,36803
|
207
207
|
azureml/_file_utils/__init__.py,sha256=eyb8nF-WJiQdBlbj7M8WIFxvSPl2Y4qny2f4OQDGcwk,625
|
208
|
-
azureml/_file_utils/file_utils.py,sha256=
|
208
|
+
azureml/_file_utils/file_utils.py,sha256=FYDomlqLO7Z5iIGREm0xp2G14FGSPO6HhlAC5HoNkuM,20535
|
209
209
|
azureml/_file_utils/upload.py,sha256=W-IcpakJ1-TWtpnaeGpXXhijixmT9coHr4aaKFgTfnk,3626
|
210
210
|
azureml/_history/__init__.py,sha256=2XIGQap-7lSF-4gfhUFtGzpx9FB7-iUVpW_2omvxiII,269
|
211
211
|
azureml/_history/utils/__init__.py,sha256=JlCCObuOLZyNhIZlsoL51KtFxiY4xKIIzIRDBcdeu6Y,183
|
@@ -247,7 +247,7 @@ azureml/_model_management/data/mms_workspace_image_payload_template.json,sha256=
|
|
247
247
|
azureml/_project/__init__.py,sha256=fXk56x7HrgsyVMGN5yuE08JN9x0JszBhsBNBX5NOneY,412
|
248
248
|
azureml/_project/_commands.py,sha256=gUNeO7UoxFDplcm5dT68t2pAL_rTKRY8_0oZIS0O_ec,39864
|
249
249
|
azureml/_project/_compute_target_commands.py,sha256=nsL0-XPsxLaANF_ZZ73pFDqgTxEe7l2c2c7B7qouPfk,12504
|
250
|
-
azureml/_project/azureml_base_images.json,sha256
|
250
|
+
azureml/_project/azureml_base_images.json,sha256=DZ9xcAmNQ_r25ylymdR3Ob_BSXOsJhxYweYLlXMskC0,601
|
251
251
|
azureml/_project/azureml_sdk_scope.txt,sha256=OM-LZGG5t7Vy3Pe9sg1Ll09U5BbVf7RDyEROVEk8-L0,1067
|
252
252
|
azureml/_project/file_utilities.py,sha256=nrWTVp1QB_6jhZQ2fJOXDx49UXafRRmd5VzAs9ceBNo,2597
|
253
253
|
azureml/_project/ignore_file.py,sha256=LV_-DZ0qGV95a6UhMZcSeqV_bl0DwKnaHh7iO6Dwu_M,3219
|
@@ -991,7 +991,7 @@ azureml/_vendor/azure_storage/blob/_blob_service_client.py,sha256=Gf0NcVe8gYb7tR
|
|
991
991
|
azureml/_vendor/azure_storage/blob/_container_client.py,sha256=cFMkWy_9P9TKqiBaDpWKqpu6uhZKaBOLlOIC7kNvJtI,83005
|
992
992
|
azureml/_vendor/azure_storage/blob/_deserialize.py,sha256=RHJNhg33YmXeREeo6qSnKvCLgADsaeRP06PeVfcL-Jg,8234
|
993
993
|
azureml/_vendor/azure_storage/blob/_download.py,sha256=cLQWcrpzuAV0Fj91LSX-3Hg_-l9AeRPAO9STC0ku7kE,28172
|
994
|
-
azureml/_vendor/azure_storage/blob/_encryption.py,sha256=
|
994
|
+
azureml/_vendor/azure_storage/blob/_encryption.py,sha256=_L0xgUmaXmb4rEAveX-qJcrVcd4QvD77KlWWk0j2sTA,41963
|
995
995
|
azureml/_vendor/azure_storage/blob/_lease.py,sha256=qt1KPJWoJHMSaWctZtDz4Zw9OBGMk3WcVrqQLE8bmmQ,16970
|
996
996
|
azureml/_vendor/azure_storage/blob/_list_blobs_helper.py,sha256=UlgLkI5qLpgAWUnDLdqo_tv5nv6bzSGCzWID3NRfAyY,11320
|
997
997
|
azureml/_vendor/azure_storage/blob/_models.py,sha256=uj-AQV34CiWwFqWirwqwsygijrKrWVn35xsRnfI07Fs,58622
|
@@ -1039,7 +1039,7 @@ azureml/_vendor/azure_storage/blob/_shared/base_client_async.py,sha256=PNsYgfTr8
|
|
1039
1039
|
azureml/_vendor/azure_storage/blob/_shared/constants.py,sha256=n0xb0FqKqE-XGSq5CrdWBelqMUW_z1JQ1WibTyEW9KA,723
|
1040
1040
|
azureml/_vendor/azure_storage/blob/_shared/models.py,sha256=5KDJgjuYdYrEF3Cm73dFJJ0x1zsFliyS5NVXxeGXDkA,21156
|
1041
1041
|
azureml/_vendor/azure_storage/blob/_shared/parser.py,sha256=wP82M2ANty3AngJfSQu_dTgmYHxWeQGufLZ-thDv0vc,637
|
1042
|
-
azureml/_vendor/azure_storage/blob/_shared/policies.py,sha256=
|
1042
|
+
azureml/_vendor/azure_storage/blob/_shared/policies.py,sha256=ttrOPwROJl01W2Tv_4ILDg5RXEF7unXtYM3WevYyQz4,29739
|
1043
1043
|
azureml/_vendor/azure_storage/blob/_shared/policies_async.py,sha256=4Dwl_3gQXBuD97MR8a_K3ebhE-hGSWVb2RDvoaX_ULc,11783
|
1044
1044
|
azureml/_vendor/azure_storage/blob/_shared/request_handlers.py,sha256=FWtqRnBW5WWhzY8uvvCY8UPLU0SXycYJJMIMQwp3WKs,10292
|
1045
1045
|
azureml/_vendor/azure_storage/blob/_shared/response_handlers.py,sha256=VEbx4XKAU16X8_e9CphY5dmiLDSr-hCSpI2zHzTFjb8,8835
|
@@ -1105,7 +1105,7 @@ azureml/_vendor/azure_storage/fileshare/_shared/base_client_async.py,sha256=Cj7f
|
|
1105
1105
|
azureml/_vendor/azure_storage/fileshare/_shared/constants.py,sha256=XO5yJq0E_YWSaOOXq5Cvq8VsewS1Efag-4k4DUfyPKY,686
|
1106
1106
|
azureml/_vendor/azure_storage/fileshare/_shared/models.py,sha256=cP8tpsaMeieCwLREgrRZb8zcDZJ3O48XQa_ZSUCBcwo,21171
|
1107
1107
|
azureml/_vendor/azure_storage/fileshare/_shared/parser.py,sha256=wP82M2ANty3AngJfSQu_dTgmYHxWeQGufLZ-thDv0vc,637
|
1108
|
-
azureml/_vendor/azure_storage/fileshare/_shared/policies.py,sha256=
|
1108
|
+
azureml/_vendor/azure_storage/fileshare/_shared/policies.py,sha256=c5M4VfJatg6fDqFpsIDrGQhdbBf6dnU7X8UYzaR_PUA,28209
|
1109
1109
|
azureml/_vendor/azure_storage/fileshare/_shared/policies_async.py,sha256=FwBNdLu8PeGtOJNT8TWsNN_ONGUFr3H1v_uRkJTlER4,10213
|
1110
1110
|
azureml/_vendor/azure_storage/fileshare/_shared/request_handlers.py,sha256=tSwTBOgBhTSRvlQRaPuHYs4dW408B8YhP-IJ6TvB7wU,10010
|
1111
1111
|
azureml/_vendor/azure_storage/fileshare/_shared/response_handlers.py,sha256=RF4gsAzVIE9_2G7jZE6xHPIXwIrJSj4nIVEgyZPI9Qo,8837
|
@@ -1153,7 +1153,7 @@ azureml/_vendor/ruamel/yaml/util.py,sha256=OuYsMZEqNNE8Suzc_6GwJALdQCPLy8VhPe3Qx
|
|
1153
1153
|
azureml/_workspace/__init__.py,sha256=2XIGQap-7lSF-4gfhUFtGzpx9FB7-iUVpW_2omvxiII,269
|
1154
1154
|
azureml/_workspace/_arm_deployment_orchestrator.py,sha256=SnaR44naFsUkRQKvVElA95lqJr7jH79pUBLWrHkNTQ8,6585
|
1155
1155
|
azureml/_workspace/_private_endpoint_deployment_orchestrator.py,sha256=xwAZPEAwSN-oCwx2dfdgVHBJ3yAC8vTvTP06G7KERwI,7410
|
1156
|
-
azureml/_workspace/_utils.py,sha256=
|
1156
|
+
azureml/_workspace/_utils.py,sha256=uNGJBfm54llkyIitC_XLLTqZLxLO8sLobzijQCzzohw,24438
|
1157
1157
|
azureml/_workspace/arm_template_builder.py,sha256=9EvORjIo0buprK7I9cFunFw1ENLPVZLP_-NZFJYKebk,20398
|
1158
1158
|
azureml/_workspace/custom.py,sha256=hWqmadHcUCAwvTyf5-iEfUp99YMt87H4J_tFrwkxMww,19391
|
1159
1159
|
azureml/_workspace/mlservicesworkspacetemplate.json,sha256=qfBAmfALbkvJxNK10SimckoCrsblGlkdMEa5FTc4NNE,4094
|
@@ -1174,23 +1174,23 @@ azureml/core/_experiment_method.py,sha256=qaQutRXOxlSzTUikJiT2d129Q9d1OXsKml3fAc
|
|
1174
1174
|
azureml/core/_metrics.py,sha256=8qlcdMFgtqiX7diKxmmb8BofDB3ybBr8vzW6whbwqaE,38757
|
1175
1175
|
azureml/core/_portal.py,sha256=MvzYl-0m1M9nmorgWl7gbpHtQhkf5bL92Ul9H0pB2ds,5987
|
1176
1176
|
azureml/core/_serialization_utils.py,sha256=MnNB6Q62Wv1T1F_obbyVczkGmw1_TqgpruaSf80CWK4,12059
|
1177
|
-
azureml/core/authentication.py,sha256=
|
1177
|
+
azureml/core/authentication.py,sha256=HhqjBJoTYEzaTwe9ijjHaouShy-kQBlKIH2991uqYTw,107477
|
1178
1178
|
azureml/core/compute_target.py,sha256=Fy_fGutRdrwlTnp9owKd9YCniEqsCfhKxqTJudoBnXQ,17547
|
1179
|
-
azureml/core/conda_dependencies.py,sha256=
|
1179
|
+
azureml/core/conda_dependencies.py,sha256=bAaglFFFdib3hAgt0zFkyUn3s1D6LAYHQOtTPJArEJ4,41264
|
1180
1180
|
azureml/core/container_registry.py,sha256=PGwGMaZ0pEolaKv1s_wpAJjJoqB5krEfjbDmbkrvv5Q,2422
|
1181
1181
|
azureml/core/databricks.py,sha256=cbJT89_kc80Rfb5RoCHVttqVHI8_0HeXwSxC4fHXNQo,20593
|
1182
1182
|
azureml/core/dataset.py,sha256=lWnN4kpkEStugePes-qhTqbkKl5y3W_HjMZNWk6FRL0,65849
|
1183
|
-
azureml/core/datastore.py,sha256=
|
1183
|
+
azureml/core/datastore.py,sha256=EMbZCkIJcYhi5cugUXS4c8dQxuEwO-Cx6BgznLYP_m0,44333
|
1184
1184
|
azureml/core/environment.py,sha256=YF8TWgsKRdzRUNISKx383SVQQNcdmPzgpZpDoePPk9w,79070
|
1185
1185
|
azureml/core/experiment.py,sha256=yC3lVr97RoFXFZGNb1tQUdKJTlK_88jLBjKZXeLun3Q,24537
|
1186
1186
|
azureml/core/keyvault.py,sha256=QchGc35DAimaWzdeEH-1wVatFgFFSWUgMNvtH5othIM,6602
|
1187
1187
|
azureml/core/linked_service.py,sha256=zZEu28ooMIb9fUmuKtqfmNU25GwEvqKciGpDmVoqM5Y,9547
|
1188
|
-
azureml/core/model.py,sha256=
|
1188
|
+
azureml/core/model.py,sha256=zAIPgnN5ATPEG0eWFCducNvTlOxVM4y-P1mmWrYPpeU,142704
|
1189
1189
|
azureml/core/private_endpoint.py,sha256=rywS6SyNxOFz8EMXC7j3vEyN6jVSf4uTy-DPthA0D0U,6354
|
1190
1190
|
azureml/core/profile.py,sha256=YqmxLsKONfrLMwmkat7fDYYKtMA3F5N1ndnr9jIWTSc,18627
|
1191
1191
|
azureml/core/resource_configuration.py,sha256=BtHJWVf_RqeNRJddVfembTOyXrSF2Tt8EwB7DLK7ZHQ,6001
|
1192
1192
|
azureml/core/run.py,sha256=evL5bH2uCwayelN-xCCG7SR3hch3Cd8UK8uVIDiOZGM,115120
|
1193
|
-
azureml/core/runconfig.py,sha256=
|
1193
|
+
azureml/core/runconfig.py,sha256=7gvpUItgo65flcqqGKMJgX8AjOTMw_vtZkC-5zg8XKc,100921
|
1194
1194
|
azureml/core/script_run.py,sha256=S8-fvK2UkuSReoWDYZKpf4TtD4JV7MD1yPuufzOMBGI,12412
|
1195
1195
|
azureml/core/script_run_config.py,sha256=wlbVeXEsliyZ2YTbxvPFwS2W0qiVRApQrv89T5cPDZE,27688
|
1196
1196
|
azureml/core/util.py,sha256=G8Olw1seYwpkIHnaMgnh-Nb9rfXqWWhsKRUAIjnflX0,1487
|
@@ -1201,7 +1201,7 @@ azureml/core/compute/aks.py,sha256=qNkNsbjRpb7fi6yKt9doDoWOB07HTEiejgFAJPVAWAg,7
|
|
1201
1201
|
azureml/core/compute/amlcompute.py,sha256=MUFnV4Zo7ZoertnC6qBdCsqRrv87H5YOVuDKq7JvNbQ,86369
|
1202
1202
|
azureml/core/compute/batch.py,sha256=F5KfltJqSjh7vLGPV8gnIdHDmfAyZgHY4JSOjgi12hc,16355
|
1203
1203
|
azureml/core/compute/compute.py,sha256=xnlIz6jidaXICP4scsNrpYWdUG1gK5g6aQumABngadM,41710
|
1204
|
-
azureml/core/compute/computeinstance.py,sha256=
|
1204
|
+
azureml/core/compute/computeinstance.py,sha256=zgt2FhKoaZtuz5YH2M_lmsJDJgcCbtg-ct4tSNoxJ8g,62230
|
1205
1205
|
azureml/core/compute/databricks.py,sha256=6J770r3dgqY3WY1FMUA_9RI7poTvUqjMEfr348J_FFg,20711
|
1206
1206
|
azureml/core/compute/datafactory.py,sha256=EPBs_-cv2DfxgYALC3vDq4p0BbqmLz2w1oumd7z_paY,20424
|
1207
1207
|
azureml/core/compute/dsvm.py,sha256=RoIg5K_TvOQs5mEblm6poxzHPDm1ZGXKexclBBEwJms,15915
|
@@ -1216,11 +1216,11 @@ azureml/core/image/image.py,sha256=xQBrQ1-ARfyRPlET_L4mdGKT0uUKi0OkXIBP-dhQFjM,4
|
|
1216
1216
|
azureml/core/image/unknown_image.py,sha256=2dRt-Ot5VduwM8ZP7L4b_blydXmTIsn2ftsVgBZxzp4,2260
|
1217
1217
|
azureml/core/webservice/__init__.py,sha256=v-aNCm2tpyjqSC_UF3fLNgzt8xXxO9cOwTOMq7maWfE,1493
|
1218
1218
|
azureml/core/webservice/aci.py,sha256=ZUGqKZ9ulE2bVZF7p69XB_lUzibr4ynipS9LDklYbSY,58731
|
1219
|
-
azureml/core/webservice/aks.py,sha256=
|
1219
|
+
azureml/core/webservice/aks.py,sha256=2nwIHuYay93FD95NXERgqk2-5VIbfT6k8YE9TiNZ9nI,187984
|
1220
1220
|
azureml/core/webservice/container_resource_requirements.py,sha256=oy-pOTFh0hmuLinuD2Jm-145Y_apIZ8S4CERU9T6xXM,4119
|
1221
|
-
azureml/core/webservice/local.py,sha256=
|
1221
|
+
azureml/core/webservice/local.py,sha256=4Auhpzz6Q6PP8N4qklZQQyqptAxCptroE7L05oscvXw,48828
|
1222
1222
|
azureml/core/webservice/unknown_webservice.py,sha256=kpip4kGL1ANiPd735ajca-JGa2_-vmRdxR9lgZviE0g,4055
|
1223
|
-
azureml/core/webservice/webservice.py,sha256=
|
1223
|
+
azureml/core/webservice/webservice.py,sha256=DB738dJdZCz6-_4wSdVZd5xU077PRPohFU46RCaw2as,100407
|
1224
1224
|
azureml/data/__init__.py,sha256=C_Ugy2GV94hzZMxoxi6ya24Fgb6yJXkclyerVvGNffE,2541
|
1225
1225
|
azureml/data/_asset_helper.py,sha256=mlWJzwgvL_5Px4UDPV4JAsI2b9VT2vxsPqXzITyxMcc,1439
|
1226
1226
|
azureml/data/_config_helper.py,sha256=j1ECaOQJlBzg11c-YMFvZe9OJBEb9y_ULPTRBe03ZWs,1202
|
@@ -1248,7 +1248,7 @@ azureml/data/azure_postgre_sql_datastore.py,sha256=UrysYXFxZYl5z0H7AiVlJTr1tIDbQ
|
|
1248
1248
|
azureml/data/azure_sql_database_datastore.py,sha256=1nvw8VIfwcZVoDDWPxLTMpyypiNTHiKuukIkchKmX78,5870
|
1249
1249
|
azureml/data/azure_storage_datastore.py,sha256=-GWdNmei1PaG5B-euJ9IySe8iXx7dKM0D6rFU6QusVU,49182
|
1250
1250
|
azureml/data/constants.py,sha256=7n3HmgM42rQFFctsxoiMFlSbTG68Y1wpNb0ufrOz0zQ,3829
|
1251
|
-
azureml/data/context_managers.py,sha256=
|
1251
|
+
azureml/data/context_managers.py,sha256=EcTGngCIxreht52CliCJtnQsRmLqz57ljjW1uiIc-Fg,58984
|
1252
1252
|
azureml/data/data_reference.py,sha256=F6Xwa6CP-XuhTQXdqPDRt6Og-pGOTaZq9F-iXik-P2o,12480
|
1253
1253
|
azureml/data/datacache.py,sha256=jRuerpG78U02lZbT26l3ou9HRwvD4Cd14Buox7aUaFY,27846
|
1254
1254
|
azureml/data/datacache_client.py,sha256=fvGSHKS_35lTNcdl8UO3xRPJ_YxlbM-QuHQf_YmIRQk,29532
|
@@ -1322,9 +1322,9 @@ azureml/exceptions/__init__.py,sha256=wAB_C_TNpL8FK6GXeygupED6mG5IfSrLx_moV7NHIp
|
|
1322
1322
|
azureml/exceptions/_azureml_exception.py,sha256=XxvMTrADJiTIHSn8DHj2fmyDUhYyBuVUqxYR3cuibz4,18989
|
1323
1323
|
azureml/history/__init__.py,sha256=8U_yD6fMdk8Ok3Z-GO_ibddTgQEB-aY6BTT8t9aYGZw,274
|
1324
1324
|
azureml/history/_tracking.py,sha256=IcZoVbHsOA01eQ3Ealnxe1YbNNnQi4LA5ccINB1cTrU,18541
|
1325
|
-
azureml_core-1.
|
1326
|
-
azureml_core-1.
|
1327
|
-
azureml_core-1.
|
1328
|
-
azureml_core-1.
|
1329
|
-
azureml_core-1.
|
1330
|
-
azureml_core-1.
|
1325
|
+
azureml_core-1.57.0.dist-info/LICENSE.txt,sha256=GBoIyZ-6vJ4xjRc8U3wTw4EfkuaEdVTm_gbr1Nm8uDI,859
|
1326
|
+
azureml_core-1.57.0.dist-info/METADATA,sha256=BP3dctjjbcaSj-SLxnlJnzM3_fHQzR2wD_m7O3fBCO0,3113
|
1327
|
+
azureml_core-1.57.0.dist-info/WHEEL,sha256=R0nc6qTxuoLk7ShA2_Y-UWkN8ZdfDBG2B6Eqpz2WXbs,91
|
1328
|
+
azureml_core-1.57.0.dist-info/entry_points.txt,sha256=EKn4UdjSeleaw9lk1z12dZ7YK6tX4Ig6FYqaC2Uk8b8,154
|
1329
|
+
azureml_core-1.57.0.dist-info/top_level.txt,sha256=ZOeEa0TAXo6i5wOjwBoqfIGEuxOcKuscGgNSpizqREY,8
|
1330
|
+
azureml_core-1.57.0.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|