Currently, TARDIS uses the pyyaml library to parse the configuration file and a complex, custom-made validator to validate it. The issues with the configuration system in its current form are many:

  1. Many conversions that should be done in the parsing phase are done in the validator.
  2. The validator implements many concepts which are already implemented in existing validating libraries.
  3. The validator comes with a custom schema which adds nothing to already existing well-defined and broadly-used schemas.
  4. The code which processes different input models for the construction of the final Configuration object is poorly-written.

My project proposal is to improve the way the configuration system works by:

  1. Taking full advantage of the capabilities of pyyaml, by doing all the required type conversions in the parsing phase.
  2. Replacing both the validator and the schema with an existing, broadly-used library and format and using the library to the maximum extent in order to cover all the needs.
  3. Replacing the after-parsing code which processes different input models with a well-defined, easily extensible (with more input model formats) system.
  4. Documenting and testing all of the above.





  • Wolfgang
  • Vytautas JanĨauskas