This message was deleted.
# marvin-in-the-wild
s
This message was deleted.
m
It appears from the issue you're describing that you might be using
quote
incorrectly. In the code example you linked, the
quote
function seems to be called with too many arguments. According to standard Python, the function
quote
from the
urllib.parse
module only takes a single argument as the string to be escaped. If
quote
is a custom function in your code or part of a library you are using, you should refer to that specific function's documentation for proper usage. The example you've provided doesn't seem to showcase the
quote
function from any standard library or common practice, so reviewing the documentation or the definition of the
quote
function used in your codebase is required. Please ensure that you pass only the number of arguments expected by the function. If
quote
is expected to wrap the tasks, it suggests that it should be applied individually to each task call rather than to the result of multiple task calls. Here's a corrected form if
quote
is indeed intended to take a single argument:
Copy code
python
my_df = prepare(
    quote(task2("source")),
    quote(task2("source_processed")),
    quote(task2("source_unprocessed")),
)
Please consult the documentation or implementation of your specific
quote
function to resolve the issue accurately. If you still encounter problems, consider providing more context or the specific definition of
quote
.
The
quote
function from
prefect.utilities.annotations
does not have any public-facing documentation or examples in the
prefect-code-examples
GitHub repository. However, given that you're encountering a
Too many arguments
error, it's likely that
quote
is supposed to wrap a single argument at a time, much like Python's built-in function decorators. To resolve this issue, try using
quote
on each individual call to
task2
rather than passing multiple quoted task outputs to a single
prepare
call. Here's how you can modify your code:
Copy code
python
my_df = prepare(
    quote(task2("source")),
    quote(task2("source_processed")),
    quote(task2("source_unprocessed")),
)
In this case, each call to
quote(task2(...))
is treated as a separate argument to be passed to the
prepare
function, assuming
prepare
can accept multiple arguments. Since it appears that the
quote
function's definition and expected usage isn't present in my examples database, I would recommend checking the source code or implementation of this specific
quote
function used within your Prefect version for the most accurate information. If
quote
is a decorator meant to be applied directly to a task definition, applying it as a wrapper function in a flow might not work as you expect. You may need to adjust the task definitions themselves or clarify the proper use of
quote
with the maintainers of Prefect or through reading the source code.