outerbounds 0.3.180rc4__py3-none-any.whl → 0.3.180rc5__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.
- outerbounds/apps/app_cli.py +17 -9
- outerbounds/apps/cli_to_config.py +2 -2
- {outerbounds-0.3.180rc4.dist-info → outerbounds-0.3.180rc5.dist-info}/METADATA +3 -3
- {outerbounds-0.3.180rc4.dist-info → outerbounds-0.3.180rc5.dist-info}/RECORD +6 -6
- {outerbounds-0.3.180rc4.dist-info → outerbounds-0.3.180rc5.dist-info}/WHEEL +0 -0
- {outerbounds-0.3.180rc4.dist-info → outerbounds-0.3.180rc5.dist-info}/entry_points.txt +0 -0
outerbounds/apps/app_cli.py
CHANGED
@@ -127,7 +127,13 @@ class CliState(object):
|
|
127
127
|
pass
|
128
128
|
|
129
129
|
|
130
|
-
def _pre_create_debug(
|
130
|
+
def _pre_create_debug(
|
131
|
+
app_config: AppConfig,
|
132
|
+
capsule: CapsuleDeployer,
|
133
|
+
state_dir: str,
|
134
|
+
options: Dict[str, Any],
|
135
|
+
cli_parsed_config: Dict[str, Any],
|
136
|
+
):
|
131
137
|
if CAPSULE_DEBUG:
|
132
138
|
os.makedirs(state_dir, exist_ok=True)
|
133
139
|
debug_path = os.path.join(state_dir, f"debug_{time.time()}.yaml")
|
@@ -136,14 +142,16 @@ def _pre_create_debug(app_config: AppConfig, capsule: CapsuleDeployer, state_dir
|
|
136
142
|
"w",
|
137
143
|
) as f:
|
138
144
|
f.write(
|
139
|
-
|
145
|
+
json.dumps(
|
140
146
|
{
|
141
|
-
"app_state": app_config.dump_state(),
|
142
|
-
"capsule_input": capsule.create_input(),
|
143
|
-
"deploy_response": capsule._capsule_deploy_response,
|
147
|
+
"app_state": app_config.dump_state(), # This is the state of the app config after parsing the CLI options and right before the capsule deploy API is called
|
148
|
+
"capsule_input": capsule.create_input(), # This is the input that is passed to the capsule deploy API
|
149
|
+
"deploy_response": capsule._capsule_deploy_response, # This is the response from the capsule deploy API
|
150
|
+
"cli_options": options, # These are the actual options passing down to the CLI
|
151
|
+
"cli_parsed_config": cli_parsed_config, # This is the config object that is created after parsing options from the CLI
|
144
152
|
},
|
145
|
-
default_flow_style=False,
|
146
153
|
indent=2,
|
154
|
+
default=str,
|
147
155
|
)
|
148
156
|
)
|
149
157
|
|
@@ -543,6 +551,7 @@ def deploy(
|
|
543
551
|
|
544
552
|
logger = partial(_logger, timestamp=True)
|
545
553
|
try:
|
554
|
+
_cli_parsed_config = build_config_from_options(options)
|
546
555
|
# Create configuration
|
547
556
|
if options["config_file"]:
|
548
557
|
# Load from file
|
@@ -552,8 +561,7 @@ def deploy(
|
|
552
561
|
app_config.update_from_cli_options(options)
|
553
562
|
else:
|
554
563
|
# Create from CLI options
|
555
|
-
|
556
|
-
app_config = AppConfig(config_dict)
|
564
|
+
app_config = AppConfig(_cli_parsed_config)
|
557
565
|
|
558
566
|
# Validate the configuration
|
559
567
|
app_config.validate()
|
@@ -690,7 +698,7 @@ def deploy(
|
|
690
698
|
|
691
699
|
force_upgrade = app_config.get_state("force_upgrade", False)
|
692
700
|
|
693
|
-
_pre_create_debug(app_config, capsule, cache_dir)
|
701
|
+
_pre_create_debug(app_config, capsule, cache_dir, options, _cli_parsed_config)
|
694
702
|
|
695
703
|
if len(currently_present_capsules) > 0:
|
696
704
|
# Only update the capsule if there is no upgrade in progress
|
@@ -87,9 +87,9 @@ def build_config_from_options(options):
|
|
87
87
|
config["auth"]["public"] = options["auth_public"]
|
88
88
|
|
89
89
|
replicas = {}
|
90
|
-
if options.get("min_replicas"):
|
90
|
+
if options.get("min_replicas") is not None:
|
91
91
|
replicas["min"] = options["min_replicas"]
|
92
|
-
if options.get("max_replicas"):
|
92
|
+
if options.get("max_replicas") is not None:
|
93
93
|
replicas["max"] = options["max_replicas"]
|
94
94
|
if len(replicas) > 0:
|
95
95
|
config["replicas"] = replicas
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: outerbounds
|
3
|
-
Version: 0.3.
|
3
|
+
Version: 0.3.180rc5
|
4
4
|
Summary: More Data Science, Less Administration
|
5
5
|
License: Proprietary
|
6
6
|
Keywords: data science,machine learning,MLOps
|
@@ -29,8 +29,8 @@ Requires-Dist: google-cloud-secret-manager (>=2.20.0,<3.0.0) ; extra == "gcp"
|
|
29
29
|
Requires-Dist: google-cloud-storage (>=2.14.0,<3.0.0) ; extra == "gcp"
|
30
30
|
Requires-Dist: metaflow-checkpoint (==0.2.1)
|
31
31
|
Requires-Dist: ob-metaflow (==2.15.17.1)
|
32
|
-
Requires-Dist: ob-metaflow-extensions (==1.1.
|
33
|
-
Requires-Dist: ob-metaflow-stubs (==6.0.3.
|
32
|
+
Requires-Dist: ob-metaflow-extensions (==1.1.168rc5)
|
33
|
+
Requires-Dist: ob-metaflow-stubs (==6.0.3.180rc5)
|
34
34
|
Requires-Dist: opentelemetry-distro (>=0.41b0) ; extra == "otel"
|
35
35
|
Requires-Dist: opentelemetry-exporter-otlp-proto-http (>=1.20.0) ; extra == "otel"
|
36
36
|
Requires-Dist: opentelemetry-instrumentation-requests (>=0.41b0) ; extra == "otel"
|
@@ -44,11 +44,11 @@ outerbounds/_vendor/yaml/serializer.py,sha256=8wFZRy9SsQSktF_f9OOroroqsh4qVUe53r
|
|
44
44
|
outerbounds/_vendor/yaml/tokens.py,sha256=JBSu38wihGr4l73JwbfMA7Ks1-X84g8-NskTz7KwPmA,2578
|
45
45
|
outerbounds/apps/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
46
46
|
outerbounds/apps/_state_machine.py,sha256=3hQF5O2zJdtQWdy9e5w393O85u6UjGApqTMlRU3UhFk,12964
|
47
|
-
outerbounds/apps/app_cli.py,sha256=
|
47
|
+
outerbounds/apps/app_cli.py,sha256=j_0vEQlsKGgvlPidog4bSZrY-_D1ne3JmHVafijL-iI,45354
|
48
48
|
outerbounds/apps/app_config.py,sha256=KBmW9grhiuG9XZG-R0GZkM-024cjj6ztGzOX_2wZW34,11291
|
49
49
|
outerbounds/apps/artifacts.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
50
50
|
outerbounds/apps/capsule.py,sha256=YoOkUYGPrbXPaSUwS3teui1XPJDZCIxn-9tPpm1X0GM,30927
|
51
|
-
outerbounds/apps/cli_to_config.py,sha256=
|
51
|
+
outerbounds/apps/cli_to_config.py,sha256=Thc5jXRxoU6Pr8kAVVOX-5Es5ha6y6Vh_GBzL__oI7Q,3299
|
52
52
|
outerbounds/apps/code_package/__init__.py,sha256=8McF7pgx8ghvjRnazp2Qktlxi9yYwNiwESSQrk-2oW8,68
|
53
53
|
outerbounds/apps/code_package/code_packager.py,sha256=RWvM5BKjgLhu7icsO_n5SSYC57dwyST0dWpoWF88ovU,22881
|
54
54
|
outerbounds/apps/code_package/examples.py,sha256=aF8qKIJxCVv_ugcShQjqUsXKKKMsm1oMkQIl8w3QKuw,4016
|
@@ -76,7 +76,7 @@ outerbounds/utils/metaflowconfig.py,sha256=l2vJbgPkLISU-XPGZFaC8ZKmYFyJemlD6bwB-
|
|
76
76
|
outerbounds/utils/schema.py,sha256=lMUr9kNgn9wy-sO_t_Tlxmbt63yLeN4b0xQXbDUDj4A,2331
|
77
77
|
outerbounds/utils/utils.py,sha256=4Z8cszNob_8kDYCLNTrP-wWads_S_MdL3Uj3ju4mEsk,501
|
78
78
|
outerbounds/vendor.py,sha256=gRLRJNXtZBeUpPEog0LOeIsl6GosaFFbCxUvR4bW6IQ,5093
|
79
|
-
outerbounds-0.3.
|
80
|
-
outerbounds-0.3.
|
81
|
-
outerbounds-0.3.
|
82
|
-
outerbounds-0.3.
|
79
|
+
outerbounds-0.3.180rc5.dist-info/METADATA,sha256=bhULcwevS8zjmFWtUdm_NqRqF1vYNqx1z-NGfBmKpb8,1846
|
80
|
+
outerbounds-0.3.180rc5.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
|
81
|
+
outerbounds-0.3.180rc5.dist-info/entry_points.txt,sha256=AP6rZg7y5SK9e9a9iVq0Fi9Q2KPjPZSwtZ6R98rLw-8,56
|
82
|
+
outerbounds-0.3.180rc5.dist-info/RECORD,,
|
File without changes
|
File without changes
|