Bump pyparsing from 2.4.7 to 3.0.5
Created by: dependabot[bot]
Bumps pyparsing from 2.4.7 to 3.0.5.
Release notes
Sourced from pyparsing's releases.
pyparsing 3.0.5
Added return type annotations for
col
,line
, andlineno
.Fixed bug when
warn_ungrouped_named_tokens_in_collection
warning was raised when assigning a results name to anoriginal_text_for
expression. (Issue #110, would raise warning in packaging.)Fixed internal bug where
ParserElement.streamline()
would not return self if already streamlined.Changed
run_tests()
output to default to not showing line and column numbers. If line numbering is desired, call withwith_line_numbers=True
. Also fixed minor bug where separating line was not included after a test failure.pyparsing 3.0.4
Fixed bug in which
Dict
classes did not correctly return tokens as nestedParseResults
, reported by and fix identified by Bu Sun Kim, many thanks!!!Documented API-changing side-effect of converting
ParseResults
to use__slots__
to pre-define instance attributes. This means that code written like this (which was allowed in pyparsing 2.4.7):result = Word(alphas).parseString("abc") result.xyz = 100
now raises this Python exception:
AttributeError: 'ParseResults' object has no attribute 'xyz'
To add new attribute values to ParseResults object in 3.0.0 and later, you must assign them using indexed notation:
result["xyz"] = 100
You will still be able to access this new value as an attribute or as an indexed item.
Fixed bug in railroad diagramming where the vertical limit would count all expressions in a group, not just those that would create visible railroad elements.
pyparsing 3.0.3
Fixed regex typo in
one_of
fix foras_keyword=True
.Fixed a whitespace-skipping bug, Issue #319, introduced as part of the revert of the
LineStart
changes. Reported by Marc-Alexandre Côté, thanks!Added header column labeling > 100 in
with_line_numbers
- some input lines are longer than others.pyparsing 3.0.2
Reverted change in behavior with
LineStart
andStringStart
, which changed the interpretation of when and howLineStart
andStringStart
should match when a line starts with spaces. In 3.0.0, thexxxStart
expressions were not really treated like expressions in their own right, but as modifiers to the following expression when used likeLineStart() + expr
, so that if there were whitespace on the line beforeexpr
(which would match in versions prior to 3.0.0), the match would fail.3.0.0 implemented this by automatically promoting
LineStart() + expr
toAtLineStart(expr)
, which broke existing parsers that did not expectexpr
to necessarily be right at the start of the line, but only be the first token found on the line. This was reported as a regression in Issue #317.In 3.0.2, pyparsing reverts to the previous behavior, but will retain the new
AtLineStart
andAtStringStart
expression classes, so that parsers can chose whichever behavior applies in their specific instance. Specifically:# matches expr if it is the first token on the line (allows for leading whitespace) LineStart() + expr matches only if expr is found in column 1 AtLineStart(expr)
Performance enhancement to
one_of
to always generate an internalRegex
, even ifcaseless
oras_keyword
args are given asTrue
(unless explicitly disabled by passinguse_regex=False
).
... (truncated)
Changelog
Sourced from pyparsing's changelog.
Version 3.0.5 -
Added return type annotations for
col
,line
, andlineno
.Fixed bug when
warn_ungrouped_named_tokens_in_collection
warning was raised when assigning a results name to anoriginal_text_for
expression. (Issue #110, would raise warning in packaging.)Fixed internal bug where ParserElement.streamline() would not return self if already streamlined.
Changed run_tests() output to default to not showing line and column numbers. If line numbering is desired, call with
with_line_numbers=True
. Also fixed minor bug where separating line was not included after a test failure.Version 3.0.4 -
Fixed bug in which
Dict
classes did not correctly return tokens as nestedParseResults
, reported by and fix identified by Bu Sun Kim, many thanks!!!Documented API-changing side-effect of converting
ParseResults
to use__slots__
to pre-define instance attributes. This means that code written like this (which was allowed in pyparsing 2.4.7):result = Word(alphas).parseString("abc") result.xyz = 100
now raises this Python exception:
AttributeError: 'ParseResults' object has no attribute 'xyz'
To add new attribute values to ParseResults object in 3.0.0 and later, you must assign them using indexed notation:
result["xyz"] = 100
You will still be able to access this new value as an attribute or as an indexed item.
Fixed bug in railroad diagramming where the vertical limit would count all expressions in a group, not just those that would create visible railroad elements.
Version 3.0.3 -
Fixed regex typo in
one_of
fix foras_keyword=True
.Fixed a whitespace-skipping bug, Issue #319, introduced as part of the revert
... (truncated)
Commits
-
785c76d
Semi-fix collision of Dict and typing.Dict; Some mypy types cleanup -
0ef7649
Add notes to CHANGES for minor and internal fixes that may be of interest -
ac11feb
Added with_line_numbers to run_test(), and made line/col numbering off by def... -
08bdeeb
Added type hints for col, line, and lineno public methods; plus black -
e269b0a
Removed spurious warnings when assigning results name to originalTextFor expr... -
578ac28
PEP-8 some internal names -
28d2f12
Add tests to verify that warnings are not raised when not enabled -
9987004
Fix bug where streamline() did not return self if already streamlined -
5c198d9
Add extended examples for using -Wd:::pyparsing to enable warnings just for p... -
f176c58
Update version number for next release work - Additional commits viewable in compare view
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase
.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
-
@dependabot rebase
will rebase this PR -
@dependabot recreate
will recreate this PR, overwriting any edits that have been made to it -
@dependabot merge
will merge this PR after your CI passes on it -
@dependabot squash and merge
will squash and merge this PR after your CI passes on it -
@dependabot cancel merge
will cancel a previously requested merge and block automerging -
@dependabot reopen
will reopen this PR if it is closed -
@dependabot close
will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually -
@dependabot ignore this major version
will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) -
@dependabot ignore this minor version
will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) -
@dependabot ignore this dependency
will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)