Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork7.9k
Description
Summary
I'm about to release version 3.2.2 of pyparsing, which will be the last version to quietly accept both PEP8 and non-PEP8 method and argument names (for instance, acceptingparseString
as an alias forparse_string
). In pyparsing version 3.3.0, usage of those synonyms will start emittingDeprecationWarnings
. In version 4.0.0 (currently planned not before 2026), the synonyms will be removed, so that usage of the legacy names will begin to raise various Python exceptions.
Proposed fix
Pyparsing 3.2.2 will include a scanner/converter scriptpyparsing.tools.cvt_pyparsing_pep8_names
to report needed name changes, and optionally update Python scripts in place (this utility is alreadychecked in to GitHub if you wish to try it out before that version gets released). The modified scripts should be compatible back to pyparsing 3.0.0, with the exception of those usingdelimitedList
, which will require pyparsing 3.1.0. This script can be added to CI automation as a scanner to detect needed changes, and used manually to actually apply the necessary changes.
In addition, I plan to release at least 1 alpha and 1 beta release of 3.3.0 before a final release, so that the matplotlib team can run it through its paces.
matplotlib is one of the most significant users of pyparsing, and I would like to be sure that I can maintain compatibility with its uses of this package.