gh-104719: Restore Tokenize module constants by mgmacias95 · Pull Request #104722 · python/cpython
I was wondering if you could do something like this:
_deprecated_objects = { "group": lambda *choices: '(' + '|'.join(choices) + ')', "any": lambda *choices: group(*choices) + '*', "maybe": lambda *choices: group(*choices) + '?', "Whitespace": r'[ \f\t]*', # etc. }
And then at the end of the file have:
def __getattr__(name): if name in _deprecated_objects: import warnings warnings._deprecated( f"tokenize.{name}", message=( "{name} is untested, undocumented, and deprecated. " "It will be removed in Python {remove}." ), remove=(3, 14) ) obj = globals()[name] = _deprecated_objects[name] return obj raise AttributeError(f"module 'tokenize' has no attribute '{name}'")
But I will defer to you and @pablogsal as to whether that's a good idea or not.