Locate hard-copy of pyparsing inside plumbing folder. #117
Only import system-installed pyparsing if it is >=3.0
Upgrade to using pyparsing>=3.0
validatefunction in the API of the generated input parser now accepts a Python
dictas intermediate representation. This might be useful when wanting to validate input programmatically, i.e. avoiding writing intermediate files on disk.
docstringelement from template during generation. This reduces the lines of code produced when creating the input parser module.
Redistribute template validation functions in
check_template.py. This avoids exposing internal dependencies in the generated parser.
parselglossycan now reorder noncyclic dependencies between keywords’ defaulting actions at validation time. See PR #99.
parselglossycan 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.
parselglossycan 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.
parselglossyprovides 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
parselglossywill now raise an exception when keywords have been repeated in an input file. See PR #89.
Dropped support for Python 3.5
Fix Travis automatic deployment to PyPI.
Fix build of API docs on ReadTheDocs.
Dropped support for Python 3.4.
keywordfields in the template to
documentationfield in the template to
Arbitrary callables of the input dictionary are now allowed in the
defaultfield. 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.
Implementation of the Getkw input grammar.
Implementation of the validation infrastructure.
First release on PyPI.