chore(deps): update dependency pyparsing to v3 #150
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
==2.4.6
->==3.0.7
Release Notes
pyparsing/pyparsing
v3.0.7
Fixed bug #345, in which delimitedList changed expressions in place
using expr.streamline(). Reported by Kim Gräsman, thanks!
Fixed bug #346, when a string of word characters was passed to WordStart
or WordEnd instead of just taking the default value. Originally posted
as a question by Parag on StackOverflow, good catch!
Fixed bug #350, in which White expressions could fail to match due to
unintended whitespace-skipping. Reported by Fu Hanxi, thank you!
Fixed bug #355, when a QuotedString is defined with characters in its
quoteChar string containing regex-significant characters such as ., *,
?, [, ], etc.
Fixed bug in ParserElement.run_tests where comments would be displayed
using with_line_numbers.
Added optional "min" and "max" arguments to
delimited_list
. PRsubmitted by Marius, thanks!
Added new API change note in
whats_new_in_pyparsing_3_0_0
, regardinga bug fix in the
bool()
behavior ofParseResults
.Prior to pyparsing 3.0.x, the
ParseResults
class implementation of__bool__
would returnFalse
if theParseResults
item list was empty,even if it contained named results. In 3.0.0 and later,
ParseResults
willreturn
True
if either the item list is not empty or if the namedresults dict is not empty.
generate an empty ParseResults by parsing a blank string with
a ZeroOrMore
add a results name to the result
Prints:
In previous versions, the second call to
bool()
would returnFalse
.Minor enhancement to Word generation of internal regular expression, to
emit consecutive characters in range, such as "ab", as "ab", not "a-b".
Fixed character ranges for search terms using non-Western characters
in booleansearchparser, PR submitted by tc-yu, nice work!
Additional type annotations on public methods.
v3.0.6
Added
suppress_warning()
method to individually suppress a warning on aspecific ParserElement. Used to refactor
original_text_for
to preserveinternal results names, which, while undocumented, had been adopted by
some projects.
Fix bug when
delimited_list
was called with a str literal instead of aparse expression.
v3.0.5
Added return type annotations for
col
,line
, andlineno
.Fixed bug when
warn_ungrouped_named_tokens_in_collection
warning was raisedwhen assigning a results name to an
original_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 fixedminor bug where separating line was not included after a test failure.
v3.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.
v3.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 linesare longer than others.
v3.0.2
Reverted change in behavior with
LineStart
andStringStart
, which changed theinterpretation of when and how
LineStart
andStringStart
should match whena line starts with spaces. In 3.0.0, the
xxxStart
expressions were notreally treated like expressions in their own right, but as modifiers to the
following expression when used like
LineStart() + expr
, so that if therewere whitespace on the line before
expr
(which would match in versions priorto 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
tonecessarily 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 chosewhichever behavior applies in their specific instance. Specifically:
matches expr if it is the first token on the line
(allows for leading whitespace)
matches only if expr is found in column 1
Performance enhancement to
one_of
to always generate an internalRegex
,even if
caseless
oras_keyword
args are given asTrue
(unless explicitlydisabled by passing
use_regex=False
).IndentedBlock
class now works withrecursive
flag. By default, theresults parsed by an
IndentedBlock
are grouped. This can be disabled by constructingthe
IndentedBlock
withgrouped=False
.v3.0.1
Fixed bug where
Word(max=n)
did not match word groups less than length 'n'.Thanks to Joachim Metz for catching this!
Fixed bug where
ParseResults
accidentally created recursive contents.Joachim Metz on this one also!
Fixed bug where
warn_on_multiple_string_args_to_oneof
warning is raisedeven when not enabled.
v3.0.0
docs/whats_new_in_3_0_0.rst
.(https://github.com/pyparsing/pyparsing/blob/master/docs/whats_new_in\_3\_0\_0.rst)
v2.4.7
. Each bug with Regex expressions
. And expressions not properly constructing with generator
. Traceback abbreviation
. Bug in delta_time example
. Fix regexen in pyparsing_common.real and .sci_real
. Avoid FutureWarning on Python 3.7 or later
. Cleanup output in runTests if comments are embedded in test string
Configuration
📅 Schedule: At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Renovate Bot.