Skip to content


Subversion checkout URL

You can clone with
Download ZIP
GraphStream additional user interfaces
Scala Groff Shell
Latest commit 6216bc3 @gsavin gsavin Switch back master branch to 1.x. We will use the 2.x branch for deve…
…lopment until an alpha release is ready.



Welcome to GraphStream, and thank you for your download, we hope you will find it useful and practical.

We are always interested by suggestions on how to make the library more developer friendly, see the website for more information.


This module is intended to provide several alternative graph "renderers" to be used with the GraphStream Viewer. It contains actually one renderer developed with the Scala language, and located in the src-scala repository.

This renderer supports almost all of the CSS properties defined in the GraphStream CSS Reference, however it is still a work in progress. Inside the source, a document src-scala/howitworks.mkd describes the architecture and functioning of the Scala viewer. This viewer is intended only at 2D visualization actually.

We are interested in any suggestion to improve this renderer, and your use cases could be of great help for us in developing this project. If you like and use this project, this could be a good contribution.

Building and jars

Building the Scala renderer requires to install the Scala compiler and library, but this can be made easier with the help of maven.

To compile gs-ui, enter this directory and simply enter :

mvn package

If all went well, you will find a gs-ui-X.Y.jar or a gs-ui-X.Y-git.jar in the "target" directory. This jar is a stand-alone jar that will include the scala clases needed to work.

I you plan to build the Scala renderer by yourself, you can have a look at the script (for a Bash shell). It needs to be edited and is really basic, but should give you an idea of what is needed. An easier solution could probably be to install the Scala IDE plug-in for Eclipse or the one for NetBeans. The gs-ui-bin.jardesc allows to build a jar of the renderer under eclipse provided you have the Scala plugin. This is how the gs-ui-bin.jar is created. The gs-ui.jar file is created using the ProGuard tool that allows to put in a jar only the classes that are really needed.

If you are seting up an IDE to work on the gs-ui module, ensure the following dependencies are available to be able to build it: gs-core.jar, pherd.jar and mbox2.jar. The two last jars are available in the lib directory of the gs-core module.

If you are more fluent with Scala, the sbt tool may also be a good approach.

The documentation is in the ScalaDoc format, very close to JavaDoc. However comments are written using a Wiki syntax and it is considered a bad habit to add HTML tags in such comments. You can generate the documentation using the script. It needs editing to work with you configuration, but should show you what is needed to create the doc. A pre-made documentation archive should be available in the lib/ file.


The GraphStream team:



You may check the documentation on the website. You may also share your questions on the mailing list at


This program is free software distributed under the terms of two licenses, the CeCILL-C license that fits European law, and the GNU Lesser General Public License. You can use, modify and/ or redistribute the software under the terms of the CeCILL-C license as circulated by CEA, CNRS and INRIA at the following URL or under the terms of the GNU LGPL as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see

The fact that you are presently reading this means that you have had knowledge of the CeCILL-C and LGPL licenses and that you accept their terms.

Something went wrong with that request. Please try again.