Thanks to visit codestin.com
Credit goes to github.com

Skip to content

[MNT]: Upcoming version of pyparsing will start emitting DeprecationWarnings for legacy pre-PEP8 method and argument names #29722

Closed
@ptmcg

Description

@ptmcg

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, accepting parseString as an alias for parse_string). In pyparsing version 3.3.0, usage of those synonyms will start emitting DeprecationWarnings. 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 script pyparsing.tools.cvt_pyparsing_pep8_names to report needed name changes, and optionally update Python scripts in place (this utility is already checked 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 using delimitedList, 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.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions