### Navigation

- index
- next |
- Tulip-Python v3.8.0 documentation »

# Welcome to Tulip-Python documentation!

Tulip is an information visualization framework written in C++ dedicated to the analysis and visualization of graphs. Tulip-Python is a set of modules that exposes to Python almost all the content of the Tulip C++ API. The bindings has been developed with the SIP tool from Riverbank. The main features provided by the bindings are listed below :

- creation and manipulation of graphs
- storage of data on graph elements (float, integer, boolean, color, size, coordinate, list, ...)
- application of algorithms of different types on graphs (layout, metric, clustering, ...)
- the ability to write Tulip plugins in pure Python

The bindings can be used inside the Tulip software GUI in order to run scripts on the current visualized graph. Starting from Tulip 3.6, the bindings can also be used outside Tulip through the classical Python interpreter.

# Contents

- Getting started
  - Using the bindings from the Tulip Software GUI
  - Using the bindings from the Python Interpreter
    - Setting up the environment
    - Loading Tulip plugins
- Manual
  - Creating and manipulating graphs
    - Creating a new graph
    - Importing / exporting a graph using the TLP file format
    - Adding / Removing elements in the graph
    - Iterating over graph elements
  - Getting / Setting data on graph elements
    - Creating / Accessing / Deleting a graph property
    - Working with graph properties
  - Modifying the visual attributes of a graph
    - Graph layout
    - Rotations of the nodes
    - Selection
    - Colors of graph elements and labels
    - Sizes of graph elements
    - Shapes of graph elements
    - Labels of graph elements
    - Border width of graph elements
    - Applying a texture to nodes or edges
  - Applying an algorithm on a graph
    - Calling a general algorithm on a graph
    - Calling a property algorithm on a graph
- Writing Tulip plugins in Python
  - Writing a general algorithm in Python
  - Writing a selection algorithm in Python
  - Writing a color algorithm in Python
  - Writing a metric algorithm in Python
  - Writing an integer algorithm in Python
  - Writing a layout algorithm in Python
  - Writing a size algorithm in Python
  - Writing an export module in Python
  - Writing an import module in Python
- `tulip` module API
  - Utility functions
    - Graph management
    - Graph measures
    - Geometry
    - Plugins Management
  - Graph elements classes
    - tlp.node
    - tlp.edge
  - The tlp.Graph class
    - Modification of the graph structure
    - Creation and Modification of the sub-graphs hierarchy
    - Iterators on the graph structure
    - Informations about the graph stucture
    - Create/Access graph properties
    - Application of algorithms
    - Update management
    - Meta-nodes management
    - Graph observation
  - Tulip observation system
    - tlp.GraphObserver
    - tlp.PropertyObserver
  - Tulip datatypes
    - tlp.Vec3f
    - tlp.Vec4f
    - tlp.Vec4i
    - tlp.Coord
    - tlp.BoundingBox
    - tlp.Size
    - tlp.Color
    - tlp.ColorScale
    - tlp.StringCollection
    - tlp.DataSet
    - tlp.PluginProgress
  - Graph properties classes
    - tlp.PropertyInterface
    - tlp.BooleanProperty
    - tlp.ColorProperty
    - tlp.DoubleProperty
    - tlp.IntegerProperty
    - tlp.LayoutProperty
    - tlp.SizeProperty
    - tlp.StringProperty
    - tlp.BooleanVectorProperty
    - tlp.CoordVectorProperty
    - tlp.ColorVectorProperty
    - tlp.DoubleVectorProperty
    - tlp.IntegerVectorProperty
    - tlp.SizeVectorProperty
    - tlp.StringVectorProperty
  - Tulip plugins classes
    - tlp.WithParameter
    - tlp.Algorithm
    - tlp.BooleanAlgorithm
    - tlp.ColorAlgorithm
    - tlp.DoubleAlgorithm
    - tlp.IntegerAlgorithm
    - tlp.LayoutAlgorithm
    - tlp.SizeAlgorithm
    - tlp.ImportModule
    - tlp.ExportModule
  - Graph test classes
    - tlp.SelfLoops
    - tlp.AcyclicTest
    - tlp.BiconnectedTest
    - tlp.ConnectedTest
    - tlp.OuterPlanarTest
    - tlp.PlanarityTest
    - tlp.SimpleTest
    - tlp.TreeTest
    - tlp.TriconnectedTest
- `tulipplugins` module API
- `tulipogl` module API
  - tlp.GlGraphRenderingParameters
- `tulipgui` module API
  - Utility functions
  - tlp.View
  - tlp.NodeLinkDiagramComponent

# Indices and tables

- Index
- Search Page

### Navigation

- index
- next |
- Tulip-Python v3.8.0 documentation »