pypi / pyparsing
pyparsing
What changed in pyparsing 3, from its official release notes, upgrade guides and advisories. Sources checked 2026-10-25.
2 breaking1 deprecations5 new APIs and options3 performance1 tooling1 fixes and other
See which of these apply to your code, ranked, in your agent:
npx @unstale/cli initpyparsing 313 changes
Breaking changes 2
Diagrams may render differently because they no longer rely on recursion using
Forwardexpressions.Added to
pyparsing.commonas a generalized parse action that supports expressions extracting date/time fields into results names and validates that the fields represent a valid date and time.
Deprecations 1
Warning for using deprecated features; it inherits from
PyparsingWarningandDeprecationWarning.
New APIs and options 5
A new max argument supports repetition with a large upper bound using multiplication or slicing notation.
Added to
pyparsing.common; the expression returns a Pythondatetime.datetime.Added to
pyparsing.common; the expression returns a Pythondatetime.datetime.Warning raised when pyparsing diagnostics are enabled and a diagnostic feature is used.
Base warning for pyparsing-specific warnings, allowing them to be selectively enabled or disabled without affecting warnings from other libraries.
Performance 3
Its recursive implementation was replaced with a shunting-yard algorithm; the release reports significant performance improvements for some complex examples.
Its implementation now manages nesting levels with its own stack, as part of changes intended to improve performance and reduce memory usage.
Performance improvements in
ParseResultsand core functions yield 10–20% overall performance improvement.
Tooling 1
License information is now included in package metadata, following PEP 639.
Fixes and other changes 1
pyparsing now supports Python 3.15.