Refactor Configuration API
This MR refactors and stabilizes the configuration system of the codegen
module.
It adopts much code from pystencils-sfg!2 (merged), and once it is through, pystencils-sfg
can be updated to inherit its config system from pystencils.
Closes #116 (closed)
codegen.config
- Introduce
Option
descriptor for config options with default values, validation, and explicit unsetting - Introduce
ConfigBase
class andCategory
descriptor for safely modelling config objects and correct implementation of their deep-copying - Clean up the option categories and option validation
backend
- Remove all mention of
codegen.config
from thebackend
module, making it exclusive to configuring the codegen driver
Documentation
- Cleanly separate API reference from user manual pages (finally!)
- Add docs for updated config system
Edited by Frederik Hennig