- requires jinja2 for testing
- requires railroad-diagrams for testing
- update to 3.0.6:
* Added suppress_warning() method to individually suppress a warning
on a specific ParserElement. Used to refactor original_text_for
to preserve internal results names, which, while undocumented, had
been adopted by some projects.
* Fix bug when delimited_list was called with a str literal instead
of a parse expression.
- changes from 3.0.5:
* Added return type annotations for col, line, and lineno.
* Fixed bug when warn_ungrouped_named_tokens_in_collection warning
was raised when 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 fixed minor bug where separating
line was not included after a test failure.
- changes from 3.0.4:
* Fixed bug in which Dict classes did not correctly return tokens
as nested ParseResults
* Documented API-changing side-effect of converting ParseResults
to use __slots__ to pre-define instance attributes.
* 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.
- changes from 3.0.3:
* Fixed regex typo in one_of fix for as_keyword=True.
* Fixed a whitespace-skipping bug, Issue #319, introduced as part
of the revert of the LineStart changes.
* Added header column labeling > 100 in with_line_numbers - some
input lines are longer than others.
- changes from 3.0.2:
* Reverted change in behavior with LineStart and StringStart, which
changed the interpretation of when and how LineStart and
StringStart should match when a line starts with spaces. In 3.0.0,
the xxxStart expressions were not really treated like expressions
in their own right, but as modifiers to the following expression
when used like LineStart() + expr, so that if there were whitespace
on the line before expr (which would match in versions prior to
3.0.0), the match would fail.
3.0.0 implemented this by automatically promoting LineStart() +
expr to AtLineStart(expr), which broke existing parsers that did
not expect expr 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 (gh#pyparsing/pyparsing/issues#317).
In 3.0.2, pyparsing reverts to the previous behavior, but will
retain the new AtLineStart and AtStringStart expression classes,
so that parsers can chose whichever behavior applies in their
specific instance.
* Performance enhancement to one_of to always generate an internal
Regex, even if caseless or as_keyword args are given as True
(unless explicitly disabled by passing use_regex=False).
* IndentedBlock class now works with recursive flag. By default,
the results parsed by an IndentedBlock are grouped. This can be
disabled by constructing the IndentedBlock with grouped=False.
- changes from 3.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 raised even when not enabled.
- changes from 3.0.0
* A consolidated list of all the changes in the 3.0.0 release
can be found in docs/whats_new_in_3_0_0.rst.
(https://github.com/pyparsing/pyparsing/blob/master/docs/whats_new_in_3_0_0.rst)
- disable build for python2, not supported anymore
OBS-URL: https://build.opensuse.org/request/show/933496
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pyparsing?expand=0&rev=77
. 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
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pyparsing?expand=0&rev=72
- update to 2.4.2:
- Updated the shorthand notation that has been added for repetition
expressions: expr[min, max], with '...' valid as a min or max value
- The defaults on all the `__diag__` switches have been set to False,
to avoid getting alarming warnings. To use these diagnostics, set
them to True after importing pyparsing.
- Fixed bug introduced by the use of __getitem__ for repetition,
overlooking Python's legacy implementation of iteration
by sequentially calling __getitem__ with increasing numbers until
getting an IndexError. Found during investigation of problem
reported by murlock, merci!
- Changed [...] to emit ZeroOrMore instead of OneOrMore.
- Removed code that treats ParserElements like iterables.
- Change all __diag__ switches to False.
- update to 2.4.1.1:
- API change adding support for `expr[...]` - the original
code in 2.4.1 incorrectly implemented this as OneOrMore.
Code using this feature under this relase should explicitly
use `expr[0, ...]` for ZeroOrMore and `expr[1, ...]` for
OneOrMore. In 2.4.2 you will be able to write `expr[...]`
equivalent to `ZeroOrMore(expr)`.
- Bug if composing And, Or, MatchFirst, or Each expressions
using an expression. This only affects code which uses
explicit expression construction using the And, Or, etc.
classes instead of using overloaded operators '+', '^', and
so on. If constructing an And using a single expression,
you may get an error that "cannot multiply ParserElement by
0 or (0, 0)" or a Python `IndexError`.
- Some newly-added `__diag__` switches are enabled by default,
which may give rise to noisy user warnings for existing parsers.
OBS-URL: https://build.opensuse.org/request/show/721168
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-pyparsing?expand=0&rev=33
- Updated the shorthand notation that has been added for repetition
expressions: expr[min, max], with '...' valid as a min or max value
- The defaults on all the `__diag__` switches have been set to False,
to avoid getting alarming warnings. To use these diagnostics, set
them to True after importing pyparsing.
- Fixed bug introduced by the use of __getitem__ for repetition,
overlooking Python's legacy implementation of iteration
by sequentially calling __getitem__ with increasing numbers until
getting an IndexError. Found during investigation of problem
reported by murlock, merci!
- Changed [...] to emit ZeroOrMore instead of OneOrMore.
- Removed code that treats ParserElements like iterables.
- Change all __diag__ switches to False.
- update to 2.4.1.1:
- API change adding support for `expr[...]` - the original
code in 2.4.1 incorrectly implemented this as OneOrMore.
Code using this feature under this relase should explicitly
use `expr[0, ...]` for ZeroOrMore and `expr[1, ...]` for
OneOrMore. In 2.4.2 you will be able to write `expr[...]`
equivalent to `ZeroOrMore(expr)`.
- Bug if composing And, Or, MatchFirst, or Each expressions
using an expression. This only affects code which uses
explicit expression construction using the And, Or, etc.
classes instead of using overloaded operators '+', '^', and
so on. If constructing an And using a single expression,
you may get an error that "cannot multiply ParserElement by
0 or (0, 0)" or a Python `IndexError`.
- Some newly-added `__diag__` switches are enabled by default,
which may give rise to noisy user warnings for existing parsers.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pyparsing?expand=0&rev=64
- update to 2.4.0
- drop nose_to_unittest.patch
- drop _service
* Adds a pyparsing.__compat__ object for specifying compatibility with
future breaking changes.
* Conditionalizes the API-breaking behavior, based on the value
pyparsing.__compat__.collect_all_And_tokens. By default, this value
will be set to True, reflecting the new bugfixed behavior.
* User code that is dependent on the pre-bugfix behavior can restore
it by setting this value to False.
* Updated unitTests.py and simple_unit_tests.py to be compatible with
"python setup.py test".
* Fixed bug in runTests handling '\n' literals in quoted strings.
* Added tag_body attribute to the start tag expressions generated by
makeHTMLTags, so that you can avoid using SkipTo to roll your own
tag body expression:
* indentedBlock failure handling was improved
* Address Py2 incompatibility in simpleUnitTests, plus explain() and
Forward str() cleanup
* Fixed docstring with embedded '\w', which creates SyntaxWarnings in Py3.8.
* Added example parser for rosettacode.org tutorial compiler.
* Added example to show how an HTML table can be parsed into a
collection of Python lists or dicts, one per row.
* Updated SimpleSQL.py example to handle nested selects, reworked
'where' expression to use infixNotation.
* Added include_preprocessor.py, similar to macroExpander.py.
* Examples using makeHTMLTags use new tag_body expression when
retrieving a tag's body text.
* Updated examples that are runnable as unit tests
OBS-URL: https://build.opensuse.org/request/show/695770
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-pyparsing?expand=0&rev=32
- drop nose_to_unittest.patch
- drop _service
* Adds a pyparsing.__compat__ object for specifying compatibility with
future breaking changes.
* Conditionalizes the API-breaking behavior, based on the value
pyparsing.__compat__.collect_all_And_tokens. By default, this value
will be set to True, reflecting the new bugfixed behavior.
* User code that is dependent on the pre-bugfix behavior can restore
it by setting this value to False.
* Updated unitTests.py and simple_unit_tests.py to be compatible with
"python setup.py test".
* Fixed bug in runTests handling '\n' literals in quoted strings.
* Added tag_body attribute to the start tag expressions generated by
makeHTMLTags, so that you can avoid using SkipTo to roll your own
tag body expression:
* indentedBlock failure handling was improved
* Address Py2 incompatibility in simpleUnitTests, plus explain() and
Forward str() cleanup
* Fixed docstring with embedded '\w', which creates SyntaxWarnings in Py3.8.
* Added example parser for rosettacode.org tutorial compiler.
* Added example to show how an HTML table can be parsed into a
collection of Python lists or dicts, one per row.
* Updated SimpleSQL.py example to handle nested selects, reworked
'where' expression to use infixNotation.
* Added include_preprocessor.py, similar to macroExpander.py.
* Examples using makeHTMLTags use new tag_body expression when
retrieving a tag's body text.
* Updated examples that are runnable as unit tests
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pyparsing?expand=0&rev=62
- BuildIgnore python[23]-pyparsing: python-packaging requires it
for some actions it could perform, but we don't make use of these
here. Ignoring this dependency allows us to break open a
BuildCycle.
- Update to version 2.3.0+git.1546912853.bf348d6:
* Update CHANGES to include note on fixing issue #65; generalized the note about the decaf language example; added sample code from the statemachine examples.
* Unit test to test fix for issue #65
* Fix inconsistency between Keyword(caseless=True) and CaselessKeyword (issue #65)
* Fix typo: 'chemcialFormulas.py' -> 'chemicalFormulas.py'
* Convert exception logging to use ParseException.explain()
* Add experimental ParseException.explain() method, to return a multiline string showing the parse expressions leading to a parsing failure
* Clean up CHANGES notes for new examples
* Add document signoff and library book state examples;
* Update statemachine demo code to Py3
* Update Lucene grammar example, but remove from Travis-CI acceptance scripts
OBS-URL: https://build.opensuse.org/request/show/666937
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-pyparsing?expand=0&rev=31
* Update CHANGES to include note on fixing issue #65; generalized the note about the decaf language example; added sample code from the statemachine examples.
* Unit test to test fix for issue #65
* Fix inconsistency between Keyword(caseless=True) and CaselessKeyword (issue #65)
* Fix typo: 'chemcialFormulas.py' -> 'chemicalFormulas.py'
* Convert exception logging to use ParseException.explain()
* Add experimental ParseException.explain() method, to return a multiline string showing the parse expressions leading to a parsing failure
* Clean up CHANGES notes for new examples
* Add document signoff and library book state examples;
* Update statemachine demo code to Py3
* Update Lucene grammar example, but remove from Travis-CI acceptance scripts
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pyparsing?expand=0&rev=57
- Update to 2.3.0:
* Updates to migrate source repo to GitHub
* Fix deprecation warning in Python 3.7 re: importing collections.abc
* Fix Literal/Keyword bug raising IndexError instead of ParseException
* Added simple_unit_tests.py, as a collection of easy-to-follow unit
* tests for various classes and features of the pyparsing library.
* Primary intent is more to be instructional than actually rigorous
* testing. Complex tests can still be added in the unitTests.py file.
* New features added to the Regex class
- Fix URL to point to existing github
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pyparsing?expand=0&rev=43
- Bumped minor version number to reflect compatibility issues with
OneOrMore and ZeroOrMore bugfixes in 2.1.10. (2.1.10 fixed a bug
that was introduced in 2.1.4, but the fix could break code
written against 2.1.4 - 2.1.9.)
- Updated setup.py to address recursive import problems now
that pyparsing is part of 'packaging' (used by setuptools).
Patch submitted by Joshua Root, much thanks!
- Fixed KeyError issue reported by Yann Bizeul when using packrat
parsing in the Graphite time series database, thanks Yann!
- Fixed incorrect usages of '\' in literals, as described in
https://docs.python.org/3/whatsnew/3.6.html#deprecated-python-behavior
Patch submitted by Ville Skyttä - thanks!
- Minor internal change when using '-' operator, to be compatible
with ParserElement.streamline() method.
- Expanded infixNotation to accept a list or tuple of parse actions
to attach to an operation.
- New unit test added for dill support for storing pyparsing parsers.
Ordinary Python pickle can be used to pickle pyparsing parsers as
long as they do not use any parse actions. The 'dill' module is an
extension to pickle which *does* support pickling of attached
- drop desetuptoolize.patch: this is not needed
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pyparsing?expand=0&rev=38