Skip to main content


This term regroups all the development tutorials for Tulip.

Importing your data in Tulip with Python

Importing Data using python scripting

The boilerplate

First, fire up Tulip, create a new Graph (Ctrl+N or from the menu File->New), open the python scripting component (View->Python Script View).

I personally like to tile the windows (Windows->Tile) so they both use as much space as they can.

The python script view will contain a basic script that creates variables for easy access to the graph's properties, such as nodes size, position color and so on.

Compiling Tulip plugins (Tulip 3)

Hi there,

I recently posted about compiling Tulip using CMake, I'm now going to tell you how to build your plugin and install them onto your Tulip installation.

The first thing you need is a working version of Tulip. Since pre-compiled packages on our website come as standalone applications (meaning that every required librarie, like Qt or so, are provided with the Tulip executable), you won't be able to develop plugins using one of those packages.

The independent CMake tutorial (Tulip 3)

Hello everyone,

Basic Graph and property handling

Creating a graph

All the required functions are declared in <tulip/Graph.h>

tlp::Graph* g = tlp::newGraph();

This is the only way to create a Tulip graph from scratch, you cannot create a new instance of tlp::Graph as it is an abstract class.

Other ways to get a tlp::Graph is to import it from a file.

To import a file in the Tulip format, simply use :

[Python] Snippets

Hi everyone,

This page has been created to introduce basic concepts of python scripting in Tulip (available since 3.5.0).
You'll find here various python snippets, the goal is to cover various part of Tulip libraries (tulip, OGL) and to provide users with simple examples to start with.


Windows compilation in a nutshell (second round)

Game of life Perspective

This tutorial will be separated in a four different parts :

  1. The Grid Layout
  2. The Controller
  3. Animations are fun
  4. Dynamic Graphs are easy

  5. The first two will be about the base we need to apply the advanced notions.


Image Import

Posted in

This is  a simple import plug-in that will take an image, an for each pixel in this image, create a node. This node will have the color of the pixel, and the ndoes are linked in a grid, allowing for graph algorithms to be used on images.

This has not been done with efficiency in mind, it is mostly a tutorial on how to develop import plug-ins.


Neighbourhood interactor

This interactor plugin performs a coloration of the neighbourhood of a node. When you click on a node, all its neighbors (with a given distance) are colored.
This interactor has a configuration widget with a color scale used for coloring, and distance of the neighborhood to highlight.

The commented source code of this plugin is attached to this tutorial in a .tgz archive.  To compile it, you need to have a proper installation of Tulip and the path to the "tulip-config" script must be in your PATH system variable.

Rounding glyph

Posted in

In the Tulip system a glyph is a small object drawing a node in a specific way. By example there is a glyph to represent nodes as spheres, cubes or square. If we want to add a new representation method for nodes we just have to create a new glyph plug-in.

In this tutorial we want to represent nodes with polygons. The number of sides of the polygon evolves in function of an integer value associated to the node. The higher the value the more sides the polygon has. A node with the value 3 will be represented by a triangle, a node with 4 by a square...

Syndicate content