Date: 2013-09-06, significantly updated 2020-05-05
Author: Nikita Popov
Generally, named arguments really change what constitutes a good API and what doesn’t. Things like boolean flags to functions are considered bad design because we do not have named arguments. If I pick out some random Python API, say subprocess.run() ...
subprocess.run(args, *, stdin=None, input=None, stdout=None,stderr=None, capture_output=False, shell=False, cwd=None, timeout=None,check=False, encoding=None, errors=None, text=None, env=None,universal_newlines=None) ...