corates a function that uses keyword only parameters to also allow them being passed as positionals. For example, consider the use case of changing the signature of ``old_fn`` into the one from ``new_fn``: .. code:: def old_fn(foo, bar, baz=None): ... def new_fn(foo, *, bar, baz=None): ... Calling ``old_fn("foo", "bar, "baz")`` was valid, but the same call is no longer valid with ``new_fn``. To keep BC and at the same time warn the user of the deprecation, this decorator can be used: .. code:: @kwonly_to_pos_or_kw def new_fn(foo, *, bar, baz=None): ... new_fn("foo", "bar, "baz") c