Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add explanation for arguments passing #1746

Merged
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
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
34 changes: 34 additions & 0 deletions digdag-docs/src/operators/py.md
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,40 @@ See [Python API documents](../python_api.html) for details including variable ma
print("simple execution")
```

You can pass arguments to class for initialization using `_export` as the following:
yoyama marked this conversation as resolved.
Show resolved Hide resolved

```yaml
# sample.dig
_export:
arg: awesome execution
py>: tasks.MyWorkflow.my_task
```

```python
Copy link
Contributor

Choose a reason for hiding this comment

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

This example does not work by copy and paste it.
Don't we need to import Union as follows ?

from typing import Union

class MyWorkflow(object):
...

# tasks.py
class MyWorkflow(object):
def __init__(self, arg: str):
self.arg = arg

def my_task(self):
print(self.arg)
```

Or, you can pass arguments to function as the following:

```yaml
# simple_sample.dig
_export:
arg: simple execution
py>: simple_tasks.my_func
```

```python
# simple_tasks.py
def my_func(arg: str):
print(arg)
```

* **python**: PATH STRING or COMMAND ARGUMENTS LIST

The python defaults to `python`. If an alternate python and options are desired, use the `python` option.
Expand Down
6 changes: 6 additions & 0 deletions examples/python_args.dig
Original file line number Diff line number Diff line change
Expand Up @@ -19,3 +19,9 @@ timezone: UTC
key1: "a"
key2: "val2"

+e:
_export:
key1: "a"
key2: {b: "c"}
py>: tasks.python_args.exported_arguments