What does a bare asterisk in the arguments of a function do?
When I looked at the pickle module, I see this:
pickle.dump(obj, file, protocol=None, *,
Bare * is used to force the caller to use named arguments - so you cannot define a function with * as an argument when you have no following keyword arguments.
*
See this answer or Python 3 documentation for more details.