Skip to content

PlantUML Rendering Backend

The PlantUML rendering backend maps diagrams to C4-PlantUML output. It is the richest rendering backend in this project and owns PlantUML-only DSL helpers, extension data, render options, local/remote image backends, and C4-PlantUML include behavior.

For portable model code, start with Portable core and backend extensions. For PlantUML-specific behavior, use the pages in this section.

Capability table

Capability Status Where to configure
C4-PlantUML element mapping Supported for core C4 elements, boundaries, and deployment nodes Core diagram classes plus plantuml={...}
C4-PlantUML relationship mapping Portable Rel plus PlantUML directional and bidirectional helpers c4.contrib.plantuml
Layout direction Supported as render options Styles and options
Relative positioning Supported with Lay* helpers Layout helpers
Dynamic indexes Supported for dynamic diagrams Dynamic indexes
Properties Supported on most elements and relationships Properties
Tags, styles, and legend Supported through extension data and render options Extensions, styles and options
Local backend Supported with plantuml binary or plantuml.jar Renderers
Remote backend Supported with PlantUML-compatible HTTP servers Renderers
Bundled C4-PlantUML includes Uses remote C4-PlantUML includes by default, with local include override Limitations
Sequence diagrams Not exposed by the Python DSL Limitations

Pages

  • Renderers: PlantUMLRenderer, local backend, and remote backend.
  • Extensions: preferred plantuml={...} authoring syntax.
  • Layout helpers: directional relationships, bidirectional relationships, and relative layouts.
  • Dynamic indexes: Index, LastIndex, SetIndex, increment, and set_index.
  • Styles and options: diagram layout direction, legend, sketch style, and C4 visual style.
  • Properties: PlantUML property tables.
  • Limitations: unsupported C4-PlantUML features and include behavior.