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
Optiondescriptor for config options with default values, validation, and explicit unsetting - Introduce
ConfigBaseclass andCategorydescriptor 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.configfrom thebackendmodule, 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