Welcome to SimPhoNy’s documentation!


The native implementation of the SimPhoNy cuds objects and io code (http://www.simphony-project.eu/).

Build status Coverage status Documentation Status


Simphony-common is hosted on github: https://github.com/simphony/simphony-common


  • enum34 >= 1.0.4
  • stevedore >= 1.2.0
  • numpy >= 1.11.1

Optional requirements

To support the HDF5 based native IO:

  • PyTables >= 3.1.1

To support the documentation built you need the following packages:

  • sphinx >= 1.3.1
  • mock


Packages that depend on the optional features and use setuptools should append the H5IO and/or CUBAGen identifier next to simphony in their setup_requires configuration option. For example:

install_requires = ["simphony[H5IO, CUBAGen]"]

Will make sure that the requirements of H5IO and CUBAGen support are installed. (see setuptools extras for more information)


The package requires python 2.7.x, installation is based on setuptools:

# build and install
python setup.py install


# build for in-place development
python setup.py develop


To run the full test-suite run:

python -m unittest discover -p test*


To build the documentation in the doc/build directory run:

python setup.py build_sphinx

If you recreate the uml diagrams you need to have java and xdot installed:

sudo apt-get install default-jre xdot

A copy of the plantuml.jar needs also to be available in the doc/ folder. Running make uml inside the doc/ directory will recreate all the UML diagrams.


  • One can use the –help option with a setup.py command to see all available options.
  • The documentation will be saved in the ./build directory.
  • Not all the png files of the UML diagrams are used.

Directory structure

There are four subpackages:

  • core – used for common low level classes and utility code
  • cuds – to hold all the native cuds implementations
  • io – to hold the io specific code
  • bench – holds basic benchmarking code
  • examples – holds SimPhoNy example code
  • doc – Documentation related files
    • source – Sphinx rst source files
    • build – Documentation build directory, if documentation has been generated using the make script in the doc directory.

SimPhoNy Framework

The simphony library is the core component of the SimPhoNy Framework; information on setting up the framework is provided on a separate repository https://github.com/simphony/simphony-framework.

For Developers

The data structures used in this project are based on the metadata which is defined in a separate repository called simphony-metadata located at: https://github.com/simphony/simphony-metadata.

In order to reflect latest changes to the metadata repository, one should regenerate these entities. The generator is hosted in the repository simphony-metatools located at: https://github.com/simphony/simphony-metatools . The generator is used to recreate the python classes in simphony/cuds/meta.

Guide to generating metadata classes

After installing the dev_requirements, rebuild the meta classes by issuing the following command:

$ python setup.py build_meta

The command will rebuild the classes against the simphony-metadata repository tag as written in setup.cfg build_meta/repotag entry.

Indices and tables