A picture is worth a thousand words...
but it is so much easier to write than to draw.

piUML — textual language for UML


piUML logo  piUML is textual language for UML. The piUML project provides language specification, language parser and generator of diagrams in UML notation.

User Manual introduces into piUML, explains how to describe UML diagrams in piUML language and contains piUML language reference.

Hacking Guide is written for those interested in piUML internals and development.

piUML is free software licensed under terms of GPL license.


piUML language is simple and intuitive, excellent for exchaning software and business processes models in written communication (e-mail, messaging, source code documentation, literate programming, etc.). At the moment, the language allows to describe models using classes, use cases, components, deployments and profiles diagrams. UML features like packaging, stereotypes and stereotype attributes are fully supported.

Generated diagrams are UML 2.4 notation compliant. High quality PNG, SVG or PDF output can be easily achieved.

The piUML language interpreter is UML semantics aware, for example XMI or code generation can be supported. As well, the interpreter can be embedded within 3rd party applications.

The project provides Sphinx integration.


Diagram of piUML idea.
component c 'piUML'
    component cp 'Parser'
    component cl 'Layout'
    component cr 'Renderer'

component fs 'Filesystem'
    artifact f <<piuml, source>> 'model.pml'
    artifact m <<document>> 'model.pdf'

f <u- cp
cr -> <<create>> m

cp <- cl
cl <- cr

    center: cp f
    center: cr m