To do

This is a collection of things that need to be done. The order doesn't imply any priority. These tasks may be turned into tickets and assigned to milestones.

  • use ordered dict as default in YAML (makes writing back in the order of reading possible) --> patch to YAML
  • allow unlimited nesting levels in data (there are only two levels now)
  • check for entries in data that are not in default
  • add property require for keywords that should not work with default values
  • implement more readers/writers for other formats (PyTables, Excel, dBase)
  • write unit/doc tests
  • add checks and conversions for physical units
  • make dump aware of numpy arrays
  • allow lazy reading of large files (use generators/iterators)
  • define API
  • write documentation, tutorial etc.
  • write desktop GUI
  • write web GUI
  • write example applications that use PyModelData
  • make list with projects/applications/models that use PyModeldata
  • develop plugin system for custom readers/writes (do thorough research on existing plugin systems)
  • idea: access to model data via SQLite database
  • more ...