typer
typer copied to clipboard
Ignoring an argument for typer command
First Check
- [X] I added a very descriptive title to this issue.
- [X] I used the GitHub search to find a similar issue and didn't find it.
- [X] I searched the Typer documentation, with the integrated search.
- [X] I already searched in Google "How to X in Typer" and didn't find any information.
- [X] I already read and followed all the tutorial in the docs and didn't find an answer.
- [X] I already checked if it is not related to Typer but to Click.
Commit to Help
- [X] I commit to help with one of those options 👆
Example Code
def serialize_dfs(func):
"""Decorator function to automatically (de)-serialize input and output
dataframes for the function. It leverages the `df_path` and `df_output_path`
kwargs to serialize input and output dataframes respectively.
Args:
func: function to decorate
Returns:
List of deduplicated column names
"""
def wrapper(
*args,
dataframe: Optional[pd.DataFrame] = None,
df_path: Optional[str] = None,
df_output_path: Optional[str] = None,
**kwargs
):
# When df path specified, load it and pass it into the function
if df_path:
dataframe = pd.read_csv(df_path)
# Invoke original function
result: pd.DataFrame = func(*args, dataframe=dataframe, **kwargs)
# When output path specified, serialize it into output
if df_output_path:
result.to_csv(df_output_path, index=False)
return result
return wrapper
@app.command()
@serialize_dfs
def expand_columns(
dataframe: pd.DataFrame = typer.Argument(lazy=True, default=None, formats=[""], hidden=True, expose_value=False),
keys_col: str = "metadata_name",
values_col: str = "metadata_value",
col_format: str = "{column_name}{num}",
) -> pd.DataFrame:
# ... logic here
Description
I have a few functions that I want to type that handle dataframes (both as input and output). I do have a decorator that allows for specifying the dataframes as paths (as opposed to the objects).
Out of this decorator, I now wish to construct a Typer command. Though I keep getting the following error:
RuntimeError: Type not yet supported.
Is there an option to completely ignore an argument to the Typer CLI? I tried:
- Hidden=True
- Default=None
- Expose_value=False
- Lazy=True
Operating System
macOS
Operating System Details
No response
Typer Version
typer==0.6.1
Python Version
3.9
Additional Context
No response