0.8.1_ (2022-07-21)
- Locate hard-copy of pyparsing inside plumbing folder. #117
- Only import system-installed pyparsing if it is >=3.0
0.8.0 (2022-07-21)
- Upgrade to using pyparsing>=3.0
0.7.0 (2020-08-31)
- The
validate
function in the API of the generated input parser now accepts a Pythondict
as intermediate representation. This might be useful when wanting to validate input programmatically, i.e. avoiding writing intermediate files on disk. - Prune
docstring
element from template during generation. This reduces the lines of code produced when creating the input parser module.
0.6.0 (2020-08-25)
- Redistribute template validation functions in
check_template.py
. This avoids exposing internal dependencies in the generated parser.
0.5.0 (2020-08-15)
parselglossy
can now reorder noncyclic dependencies between keywords' defaulting actions at validation time. See PR #99.parselglossy
can now detect cyclic dependencies between keywords' defaulting actions at validation time. A validation specification like the following:- name: some_number type: int default: "user['another_number']" docstring: | Some number which defaults to the value of another_number. - name: another_number type: int default: "user['some_number']" docstring: | Another number which defaults to the value of some_number.
will be flagged as invalid due to the cyclic dependency between keywords. See PR #96.
parselglossy
can now generate an input parsing Python module which only depends on a standard Python distribution. See PR #84.Switch to Flit to manage packaging. We recommend a good old virtualenv+pip for dependencies and virtual environment. See PRs #87, #88, #93, #95.
BREAKING
parselglossy
provides only a minimal CLI for generating an input parser. The full-fledged parsing functionality is, for the moment, retained in the API. See PR #97.Input parsers generated with
parselglossy
will now raise an exception when keywords have been repeated in an input file. See PR #89.Dropped support for Python 3.5
0.3.0 (2019-03-31)
- Fix Travis automatic deployment to PyPI.
- Fix build of API docs on ReadTheDocs.
0.3.0-alpha2 (2019-03-29)
- Update
CONTRIBUTING.rst
.
0.3.0-alpha1 (2019-03-28)
- Dropped support for Python 3.4.
- Renamed the
section
andkeyword
fields in the template toname
. - Renamed the
documentation
field in the template todocstring
. - Arbitrary callables of the input dictionary are now allowed in the
default
field. Fix #31. - Complex numbers have the proper type after reading in. Fix #26.
- Better error reporting. Exceptions are raised after each validation stage and offer detail error messages that give a comprehensive overview of what went wrong. Fix #24.
- Fully defaulted sections are now properly taken into account. Fix #33.
- Nesting of sections under keywords will throw an exception. Fix #34.
0.2.0 (2019-03-11)
- Implementation of the Getkw input grammar.
- Implementation of the validation infrastructure.
0.1.0 (2018-12-03)
- First release on PyPI.