-
-
Notifications
You must be signed in to change notification settings - Fork 31.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
gh-105687: Remove deprecated objects from re
module
#105688
Conversation
I already proposed to remove these APIs directly, without deprecation period. But @serhiy-storchaka wanted to collect feedback of users with a deprecation period. So far, I am not aware of any feedback. This feature can be reimplemented outside Python stdlib if needed, no? |
Doc/whatsnew/3.13.rst
Outdated
* Remove deprecated ``re.template`` function | ||
and ``re.T`` and ``re.TEMPLATE`` flags. | ||
Also removes ``SRE_FLAG_TEMPLATE`` constant | ||
from ``sre_constants`` and ``re._constants``. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please explain how to update existing code. I suppose that replacing re.template() with re.compile() works in most cases, no?
Please mention also that the flag never worked, see the previous removal commit.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think that these who use it should find how to replace it themselves. It cannot just be replaced with re.compile()
, otherwise they would use re.compile()
at first place. Perhaps.
Doc/whatsnew/3.13.rst
Outdated
and ``re.T`` and ``re.TEMPLATE`` flags. | ||
Also removes ``SRE_FLAG_TEMPLATE`` constant | ||
from ``sre_constants`` and ``re._constants``. | ||
(Contributed by Nikita Sobolev in :gh:`105687`.) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You might want to credit Serhiy who attempted first to remove it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Of course!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I added Serhiy as the first name in the name tuple 👍
cc @hugovk |
Doc/whatsnew/3.13.rst
Outdated
* Remove deprecated ``re.template`` function | ||
and ``re.T`` and ``re.TEMPLATE`` flags. | ||
Also removes ``SRE_FLAG_TEMPLATE`` constant | ||
from ``sre_constants`` and ``re._constants``. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think that these who use it should find how to replace it themselves. It cannot just be replaced with re.compile()
, otherwise they would use re.compile()
at first place. Perhaps.
Actually, I initially removed it without deprecation, because it clearly looked to me as unfinished in process of initial implementation and later broken feature. My best guess is that it was purposed to make all quntifiers possessive. But initial implementation of atomic groups and possessive quantifiers was broken. Now we have working implementation, and can enable that feature. To disable backtracking it would need also wrap every alternation into atomic group. We can do this now if it was initial purpose, but I have no idea why somebody would need such feature. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. Thanks for the enhanced doc.
Merged, thanks. |
re.template
,re.T
,re.TEMPLATE
#105687📚 Documentation preview 📚: https://cpython-previews--105688.org.readthedocs.build/