Skip to content
Snippets Groups Projects

Refactor Configuration API

Merged Frederik Hennig requested to merge fhennig/configuration into v2.0-dev

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 and Category 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 the backend 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

Merge request reports

Pipeline #72446 passed

Pipeline passed for 9c97cccb on fhennig/configuration

Test coverage 84.15% (0.10%) from 1 job
Checking approval status

Merged by Michael ZikeliMichael Zikeli 3 months ago (Jan 29, 2025 7:55am UTC)

Loading

Pipeline #72987 passed

Pipeline passed for 8c2b59af on v2.0-dev

Test coverage 84.30% (0.10%) from 1 job

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
Please register or sign in to reply