Gaphor: Open Source Graphical Modeling Tool

Gaphor is a free and open source modeling application with support for various modeling languages such as UML, SysML, RAAML and C4.

Not aware of the term “modeling language”? Basically, it’s a set of instructions that can be used to create the design and constructions of structures. It could be textual and graphical, both.

The graphical one is easier to look at and figure out how various components of the project are related to each other.

Have you seen a flowchart or sequence diagrams? Those are also a type of graphical modeling in the simplest form.

sequence diagram example
Sequence diagram example

There are various modeling languages and they are used for software development, system engineering, physics, project management and more.

Gaphor for UML, SysML and more

Gaphor works with the UML, SysML, and RAAML OMG standards. It also includes support for the C4 model for visualizing software architectures.

It’s not just a drawing tool. It implements a fully-compliant UML 2 data model. You can create highly complex models with Gaphor.

gaphor uml screenshot

Written in Python, Gaphor is completely open source under Apache 2 license. You can find all its source code on its GitHub repository. It is a cross-platform tool and available to install on Linux, Windows and macOS.

You can export your diagrams in PDF, PNG, SVG and XML formats. You can also plug-in a code generator.

Gaphor website mentions that it has dark mode but I didn’t see any options to enable it in the AppImage version I downloaded.

Installing Gaphor on Linux

gaphor example
Gaphor user interface

Arch users can find Gaphor in the AUR. For other distributions, you have the choice of choosing between AppImage and Flatpak.

You can download the AppImage from its download page.

Download Gaphor

If you want to use the Flatpak version, add the Flathub repository first:

flatpak remote-add --user --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo

And then install it:

flatpak install --user flathub org.gaphor.Gaphor

Since Gaphor is essentially a Python application, you can install it using Pip as well.

pip install gaphor

I used UML and sequence diagrams when I worked as a software engineer. I haven’t used it in the last few years. Looking at Gaphor, I think it’s a pretty cool app to have if you have to create UML and other diagrams for your projects.

Feel free to give it a try and share your experience in the comments.

Original Article