About Codeable ModelsΒΆ
Codeable Models aims to provide an easy-to-use API for coding software design models akin to UML models, but radically simplified compared to the UML2 meta-model. That is, the API allows you to create metaclasses, classes, objects, stereotypes and their dependencies.
Typical use case for Codeable Models are:
Create models textually and be able to use textual tools such as search & replace, copy & paste, grep, and so on to edit them.
Ease model creation and manipulation through code - provided in Python scripts with little to no boilerplate code.
Using Python code to ensure model consistency, perform constraint checking, perform analyses, and calculate metrics.
Create domain models in your code and use them at runtime in your Python project, e.g. to realize a portion of the software system to reflect the domain model in a very literal way as envisaged in Domain-driven Design (DDD).
Generate visual representations of those models such as UML diagrams and tables, e.g. used to support understanding the big picture and communicating the model.
Generate other textual representations, such as Markdown or Latex texts.
Generate code and/or configuration scripts from the models.