History#

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 Python dict 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 and keyword fields in the template to name.

  • Renamed the documentation field in the template to docstring.

  • 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.