NumbatUI: source code and graph explorer¶
This fork of Sourcetrail is in active development and unstable, we recommend to not use it in production environments.

Numbat UI is a fork of Sourcetrail, a source code explorer that was archived in 2021.
Why NumbatUI? NumbatUI has been written to explore any graph-based data generated by Numbat (which enables crafting databases through a friendly Python API). More specifically, NumbatUI has been created to extend Sourcetrail for additional UI/UX features. Features added are:
- Renaming nodes and edges (to reflect the user specific use-case)
- Custom colors on nodes or edges
- Custom node or edges (tooltips, hovering text)
- file sideloading (to store file content outside of the database)
- bookmarking all predecsessors or successors of a given node (for later analysis)
- custom commands (to perform any user-defined action on nodes/edges, e.g., open a terminal at a given path, open a web page, etc.)
Installation¶
We strongly recommend to use precompiled packages or our Docker image. For manual compilation, see the dedicated page in documentation.
Docker Image¶
You can either: - Build locally the docker image:
- Download it from github:NumbatUI is a Qt GUI application, so the container needs access to your display server. Check documentation for details.
Debian Package (.deb)¶
- Download the
.debpackage from Realeases. - Install it on your system:
Usage¶
Open the /path/to/my_database.srctrlprj database with NumbatUI. The command will depend of your windowing system, as the application is a GUI Qt application one needs to forward the X11/Wayland display to the container.
Supported Languages¶
C¶
C support is powered by Clang, with LLVM/Clang 19 as the hard minimum (matching Debian trixie's default toolchain). For issues loading C code, have a look at Clang language compatibility or report a bug in our issue tracker.
C++¶
C++ support is powered by Clang, with LLVM/Clang 19 as the hard minimum. For more information please visit Clang C++ Status. For issues loading C++ code, have a look at Clang language compatibility or report a bug in our issue tracker.
[!NOTE] C/C++ indexing is built only when
-DBUILD_CXX_LANGUAGE_PACKAGE=ONis passed to CMake. It is off by default in the current builds while it is being stabilized, so the prebuilt Docker image and.debship without it for now.
Python¶
Python indexing (inherited from Sourcetrail's SourcetrailPythonIndexer) is
currently disabled by design and is not built. Support may be revisited in
a future release.
Publications¶
N/A
Authors¶
- Eloïse Brocas (@ebrocas), Quarkslab
- Robin David (@RobinDavid), Quarkslab
- Pascal Wu (@pwu42), during his internship at Quarkslab