supervisely 6.73.438__py3-none-any.whl → 6.73.439__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.
- supervisely/__init__.py +112 -0
- {supervisely-6.73.438.dist-info → supervisely-6.73.439.dist-info}/METADATA +1 -1
- {supervisely-6.73.438.dist-info → supervisely-6.73.439.dist-info}/RECORD +8 -8
- supervisely_lib/__init__.py +6 -1
- {supervisely-6.73.438.dist-info → supervisely-6.73.439.dist-info}/LICENSE +0 -0
- {supervisely-6.73.438.dist-info → supervisely-6.73.439.dist-info}/WHEEL +0 -0
- {supervisely-6.73.438.dist-info → supervisely-6.73.439.dist-info}/entry_points.txt +0 -0
- {supervisely-6.73.438.dist-info → supervisely-6.73.439.dist-info}/top_level.txt +0 -0
supervisely/__init__.py
CHANGED
|
@@ -318,3 +318,115 @@ except Exception as e:
|
|
|
318
318
|
from supervisely.io.env import configure_minimum_instance_version
|
|
319
319
|
|
|
320
320
|
configure_minimum_instance_version()
|
|
321
|
+
|
|
322
|
+
LARGE_ENV_PLACEHOLDER = "@.@SLY_LARGE_ENV@.@"
|
|
323
|
+
|
|
324
|
+
|
|
325
|
+
def restore_env_vars():
|
|
326
|
+
try:
|
|
327
|
+
large_env_keys = []
|
|
328
|
+
for key, value in os.environ.items():
|
|
329
|
+
if value == LARGE_ENV_PLACEHOLDER:
|
|
330
|
+
large_env_keys.append(key)
|
|
331
|
+
if len(large_env_keys) == 0:
|
|
332
|
+
return
|
|
333
|
+
|
|
334
|
+
if utils.is_development():
|
|
335
|
+
logger.info(
|
|
336
|
+
"Large environment variables detected. Skipping restoration in development mode.",
|
|
337
|
+
extra={"keys": large_env_keys},
|
|
338
|
+
)
|
|
339
|
+
return
|
|
340
|
+
|
|
341
|
+
unknown_keys = []
|
|
342
|
+
state_keys = []
|
|
343
|
+
context_keys = []
|
|
344
|
+
for key in large_env_keys:
|
|
345
|
+
if key == "CONTEXT" or key.startswith("context."):
|
|
346
|
+
context_keys.append(key)
|
|
347
|
+
elif key.startswith("MODAL_STATE") or key.startswith("modal.state."):
|
|
348
|
+
state_keys.append(key)
|
|
349
|
+
else:
|
|
350
|
+
unknown_keys.append(key)
|
|
351
|
+
|
|
352
|
+
if state_keys or context_keys:
|
|
353
|
+
api = Api()
|
|
354
|
+
if state_keys:
|
|
355
|
+
task_info = api.task.get_info_by_id(env.task_id())
|
|
356
|
+
state = task_info.get("meta", {}).get("params", {}).get("state", {})
|
|
357
|
+
modal_state_envs = json.flatten_json(state)
|
|
358
|
+
modal_state_envs = json.modify_keys(modal_state_envs, prefix="modal.state.")
|
|
359
|
+
|
|
360
|
+
restored_keys = []
|
|
361
|
+
not_found_keys = []
|
|
362
|
+
for key in state_keys:
|
|
363
|
+
if key == "MODAL_STATE":
|
|
364
|
+
os.environ[key] = json.json.dumps(state)
|
|
365
|
+
elif key in modal_state_envs:
|
|
366
|
+
os.environ[key] = str(modal_state_envs[key])
|
|
367
|
+
elif key.replace("_", ".") in [k.upper() for k in modal_state_envs]:
|
|
368
|
+
# some env vars do not support dots in their names
|
|
369
|
+
k = next(k for k in modal_state_envs if k.upper() == key.replace("_", "."))
|
|
370
|
+
os.environ[key] = str(modal_state_envs[k])
|
|
371
|
+
else:
|
|
372
|
+
not_found_keys.append(key)
|
|
373
|
+
continue
|
|
374
|
+
restored_keys.append(key)
|
|
375
|
+
|
|
376
|
+
if restored_keys:
|
|
377
|
+
logger.info(
|
|
378
|
+
"Restored large environment variables from task state",
|
|
379
|
+
extra={"keys": restored_keys},
|
|
380
|
+
)
|
|
381
|
+
|
|
382
|
+
if not_found_keys:
|
|
383
|
+
logger.warning(
|
|
384
|
+
"Failed to restore some large environment variables from task state. "
|
|
385
|
+
"No such keys in the state.",
|
|
386
|
+
extra={"keys": not_found_keys},
|
|
387
|
+
)
|
|
388
|
+
|
|
389
|
+
if context_keys:
|
|
390
|
+
context = api.task.get_context(env.task_id())
|
|
391
|
+
context_envs = json.flatten_json(context)
|
|
392
|
+
context_envs = json.modify_keys(context_envs, prefix="context.")
|
|
393
|
+
|
|
394
|
+
restored_keys = []
|
|
395
|
+
not_found_keys = []
|
|
396
|
+
for key in context_keys:
|
|
397
|
+
if key == "CONTEXT":
|
|
398
|
+
os.environ[key] = json.json.dumps(context)
|
|
399
|
+
elif key in context_envs:
|
|
400
|
+
os.environ[key] = context_envs[key]
|
|
401
|
+
else:
|
|
402
|
+
not_found_keys.append(key)
|
|
403
|
+
continue
|
|
404
|
+
restored_keys.append(key)
|
|
405
|
+
|
|
406
|
+
if restored_keys:
|
|
407
|
+
logger.info(
|
|
408
|
+
"Restored large environment variables from task context",
|
|
409
|
+
extra={"keys": restored_keys},
|
|
410
|
+
)
|
|
411
|
+
|
|
412
|
+
if not_found_keys:
|
|
413
|
+
logger.warning(
|
|
414
|
+
"Failed to restore some large environment variables from task context. "
|
|
415
|
+
"No such keys in the context.",
|
|
416
|
+
extra={"keys": not_found_keys},
|
|
417
|
+
)
|
|
418
|
+
|
|
419
|
+
if unknown_keys:
|
|
420
|
+
logger.warning(
|
|
421
|
+
"Found unknown large environment variables. Can't restore them.",
|
|
422
|
+
extra={"keys": unknown_keys},
|
|
423
|
+
)
|
|
424
|
+
|
|
425
|
+
except Exception as e:
|
|
426
|
+
logger.warning(
|
|
427
|
+
"Failed to restore large environment variables.",
|
|
428
|
+
exc_info=True,
|
|
429
|
+
)
|
|
430
|
+
|
|
431
|
+
|
|
432
|
+
restore_env_vars()
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
supervisely/README.md,sha256=XM-DiMC6To3I9RjQZ0c61905EFRR_jnCUx2q3uNR-X8,3331
|
|
2
|
-
supervisely/__init__.py,sha256=
|
|
2
|
+
supervisely/__init__.py,sha256=_zh2UIxLUyf2krDKY-yurV9enqg1drEubCRX5nDlqR4,15333
|
|
3
3
|
supervisely/_utils.py,sha256=59vOeNOnmVHODnlAvULT8jdwvHHVTs2FOtAFw8mvaqE,20643
|
|
4
4
|
supervisely/function_wrapper.py,sha256=R5YajTQ0GnRp2vtjwfC9hINkzQc0JiyGsu8TER373xY,1912
|
|
5
5
|
supervisely/sly_logger.py,sha256=z92Vu5hmC0GgTIJO1n6kPDayRW9__8ix8hL6poDZj-Y,6274
|
|
@@ -1126,10 +1126,10 @@ supervisely/worker_api/rpc_servicer.py,sha256=HHhwaH40dM67UIp0ujK4P-ayvl0mPHTiZ5
|
|
|
1126
1126
|
supervisely/worker_proto/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
1127
1127
|
supervisely/worker_proto/worker_api_pb2.py,sha256=VQfi5JRBHs2pFCK1snec3JECgGnua3Xjqw_-b3aFxuM,59142
|
|
1128
1128
|
supervisely/worker_proto/worker_api_pb2_grpc.py,sha256=3BwQXOaP9qpdi0Dt9EKG--Lm8KGN0C5AgmUfRv77_Jk,28940
|
|
1129
|
-
supervisely_lib/__init__.py,sha256=
|
|
1130
|
-
supervisely-6.73.
|
|
1131
|
-
supervisely-6.73.
|
|
1132
|
-
supervisely-6.73.
|
|
1133
|
-
supervisely-6.73.
|
|
1134
|
-
supervisely-6.73.
|
|
1135
|
-
supervisely-6.73.
|
|
1129
|
+
supervisely_lib/__init__.py,sha256=yRwzEQmVwSd6lUQoAUdBngKEOlnoQ6hA9ZcoZGJRNC4,331
|
|
1130
|
+
supervisely-6.73.439.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
|
1131
|
+
supervisely-6.73.439.dist-info/METADATA,sha256=ka6gwfc4dPZXyj_5xc2OSjv9UWP9jlwqMx_TS7qxaqU,35433
|
|
1132
|
+
supervisely-6.73.439.dist-info/WHEEL,sha256=iAkIy5fosb7FzIOwONchHf19Qu7_1wCWyFNR5gu9nU0,91
|
|
1133
|
+
supervisely-6.73.439.dist-info/entry_points.txt,sha256=U96-5Hxrp2ApRjnCoUiUhWMqijqh8zLR03sEhWtAcms,102
|
|
1134
|
+
supervisely-6.73.439.dist-info/top_level.txt,sha256=kcFVwb7SXtfqZifrZaSE3owHExX4gcNYe7Q2uoby084,28
|
|
1135
|
+
supervisely-6.73.439.dist-info/RECORD,,
|
supervisely_lib/__init__.py
CHANGED
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
import sys
|
|
2
|
+
|
|
2
3
|
import supervisely
|
|
3
4
|
from supervisely import *
|
|
4
5
|
|
|
5
6
|
sys.modules['supervisely_lib'] = supervisely
|
|
6
|
-
|
|
7
|
+
|
|
8
|
+
for module_name in list(sys.modules.keys()):
|
|
9
|
+
if module_name.startswith("supervisely."):
|
|
10
|
+
new_name = module_name.replace("supervisely.", "supervisely_lib.", 1)
|
|
11
|
+
sys.modules[new_name] = sys.modules[module_name]
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|