Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
255f4c8
New packaging support
romain-intel May 29, 2025
68ddbcd
Address comments
romain-intel Jul 3, 2025
697fc95
Address comments: make async packaging optional and also changes to c…
romain-intel Jul 6, 2025
97bd763
Fixup blob call
romain-intel Jul 7, 2025
6bd2387
Hopefully make it compatible with other compute backends
romain-intel Jul 7, 2025
c225d81
Fix default metadata and local packaging
romain-intel Jul 8, 2025
ada76fc
Support user flow and step decorators
romain-intel May 29, 2025
c2e48e5
Fix issues from comments:
romain-intel Jun 26, 2025
55971c8
Typo on inserted_by
romain-intel Jun 26, 2025
b74e9a9
Fix using configs in user decorators
romain-intel Jun 26, 2025
eb11ba5
Allow decorators with arguments and decospecs
romain-intel Jun 26, 2025
0872f5c
Fix packaging metadata
romain-intel Jun 27, 2025
e7cc5b4
Fix init() for FlowMutators
romain-intel Jun 27, 2025
d50e4e3
Fix printing of WrapClass
romain-intel Jun 27, 2025
47b47a6
Fix flow decorator level config args
romain-intel Jun 27, 2025
fea79fd
Updated show command; fixed an issue with flow mutators
romain-intel Jun 27, 2025
f6b5cb3
Fix auto including of decorator modules
romain-intel Jul 2, 2025
b9dd888
Fix init method for step/flow decorators -- they now take *args and *…
romain-intel Jul 2, 2025
d630546
WIP
romain-intel Jul 2, 2025
7ea80b7
Improve add/remove decorator for step decorators
romain-intel Jul 3, 2025
5f1e2bd
Made MutableFlow and MutableStep consistent; fixed issue with decorat…
romain-intel Jul 9, 2025
435342b
Address more comments; made FlowMutatorMeta more consistent. Fixed is…
romain-intel Jul 9, 2025
107ea9a
Rah
romain-intel Jul 9, 2025
00757c9
Infinite loop fix
romain-intel Jul 9, 2025
4359202
Fix step decorator validity
romain-intel Jul 9, 2025
8dfefa1
More bug fixes
romain-intel Jul 10, 2025
2759269
Make runner use packaged metaflow
romain-intel Jul 10, 2025
49193bf
Revert unneeded change
romain-intel Jul 10, 2025
5fe11fe
Fix wrapped function
romain-intel Jul 10, 2025
23a48e2
Merge branch 'master' into feat/user_decorators_v2
saikonen Jul 11, 2025
88ebbab
Fixup merge and fix tests
romain-intel Jul 11, 2025
4bd74be
Merge remote-tracking branch 'origin/master' into feat/user_decorator…
romain-intel Jul 11, 2025
a5c0294
Fix returning wrapped function from end step; fix parallel
romain-intel Jul 11, 2025
fb93fb6
Still trying to get runner to work nicely inside installed metaflow
romain-intel Jul 11, 2025
43269c1
Woops
romain-intel Jul 11, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 7 additions & 1 deletion metaflow/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,13 @@ class and related decorators.
from .parameters import Parameter, JSONTypeClass, JSONType

from .user_configs.config_parameters import Config, ConfigValue, config_expr
from .user_configs.config_decorators import CustomFlowDecorator, CustomStepDecorator
from .user_decorators.user_step_decorator import (
UserStepDecorator,
StepMutator,
user_step_decorator,
USER_SKIP_STEP,
)
from .user_decorators.user_flow_decorator import FlowMutator

# data layer
# For historical reasons, we make metaflow.plugins.datatools accessible as
Expand Down
11 changes: 10 additions & 1 deletion metaflow/cli.py
Original file line number Diff line number Diff line change
Expand Up @@ -153,8 +153,13 @@ def check(obj, warnings=False):
def show(obj):
echo_always("\n%s" % obj.graph.doc)
for node_name in obj.graph.sorted_nodes:
echo_always("")
node = obj.graph[node_name]
echo_always("\nStep *%s*" % node.name, err=False)
for deco in node.decorators:
echo_always("@%s" % deco.name, err=False)
for deco in node.wrappers:
echo_always("@%s" % deco.decorator_name, err=False)
echo_always("Step *%s*" % node.name, err=False)
echo_always(node.doc if node.doc else "?", indent=True, err=False)
if node.type != "end":
echo_always(
Expand Down Expand Up @@ -442,6 +447,10 @@ def start(
# be raised. For resume, since we ignore those options, we ignore the error.
raise ctx.obj.delayed_config_exception

# Init all values in the config decorators and then process them
for decorator in ctx.obj.flow._flow_state.get(_FlowState.CONFIG_DECORATORS, []):
decorator.external_init()

new_cls = ctx.obj.flow._process_config_decorators(config_options)
if new_cls:
ctx.obj.flow = new_cls(use_cli=False)
Expand Down
1 change: 0 additions & 1 deletion metaflow/datastore/task_datastore.py
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,6 @@ def __init__(
mode="r",
allow_not_done=False,
):

self._storage_impl = flow_datastore._storage_impl
self.TYPE = self._storage_impl.TYPE
self._ca_store = flow_datastore.ca_store
Expand Down
Loading
Loading