Skip to content

Use Decorator Pattern for Consistent Output Handling #567

Description

@Breakthrough

Right now the naming and type convention for output functions' arguments is somewhat inconsistent. As identified in #523, there exist other common patterns and precedents for taking paths as well as file handles. Some functions also take only Path, and others take only TextIO.

It might be worth investigating if we can create a decorator to annotate functions to avoid these issues. This would allow the implementation itself to accept file as a file handle, and not have to worry about path processing. I'm personally a fan of numpy's simple definition as just file: file, str, or pathlib.Path for the public API, and have the decorator "convert" that into a file handle for the internal implementation (e.g. handling the context).

We should consider something similar if a function requires a directory or other kinds of templates if it makes sense.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions