Skip to content

upgrade lib and add delayed functionality to experimental api#23

Merged
amniskin merged 5 commits into
masterfrom
bugfix
Oct 4, 2025
Merged

upgrade lib and add delayed functionality to experimental api#23
amniskin merged 5 commits into
masterfrom
bugfix

Conversation

@amniskin
Copy link
Copy Markdown
Contributor

@amniskin amniskin commented Oct 4, 2025

No description provided.

@amniskin amniskin requested a review from Copilot October 4, 2025 09:24
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR upgrades the daggerml dependency and adds delayed functionality to the experimental API. The changes enable deferred execution of field initialization and method calls within DAG objects, allowing for more flexible DAG construction patterns.

  • Upgraded daggerml from version 0.0.38.post2 to 0.0.38.post3
  • Added DelayedAction class and related functionality for deferred execution in the experimental API
  • Enhanced test coverage with new unit tests for delayed functionality and added proper test markers

Reviewed Changes

Copilot reviewed 10 out of 10 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
src/dml_util/experimental/api.py Core implementation of DelayedAction class, delayed decorator, and enhanced Dag class with context manager support
tests/unit/experimental/test_api.py New comprehensive unit tests for delayed functionality including field defaults and load operations
pyproject.toml Dependency version upgrade and new test marker configuration
tests/conftest.py Enhanced debug fixture with logging configuration
.github/workflows/ci.yml CI workflow updates to exclude DML-dependent tests
tests/integration/ Updated test markers for proper test categorization
src/dml_util/funk.py Added logging imports and logger setup
tests/assets/sum.py New test asset file for integration testing
submodules/python-lib Submodule commit hash update

Comment thread src/dml_util/experimental/api.py Outdated
method = funk(method)
assert isinstance(method, Executable)
method.prepop.update({k: dag[k] for k in deps[method_name] if hasattr(dag, k)})
dag.put(method, name=method_name)
Copy link

Copilot AI Oct 4, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The method is being put into the DAG twice on consecutive lines. Line 224 should be removed as line 225 already handles putting the method into the DAG and setting the attribute.

Suggested change
dag.put(method, name=method_name)

Copilot uses AI. Check for mistakes.
Comment thread src/dml_util/experimental/api.py Outdated
Comment on lines +218 to +219
# if isinstance(method, Node):
# method = method.value()
Copy link

Copilot AI Oct 4, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remove commented-out code. If this logic might be needed in the future, consider adding a TODO comment explaining when it would be used.

Suggested change
# if isinstance(method, Node):
# method = method.value()

Copilot uses AI. Check for mistakes.
@amniskin amniskin merged commit b1c462a into master Oct 4, 2025
20 checks passed
@amniskin amniskin deleted the bugfix branch October 4, 2025 09:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants