The native implementation of the SimPhoNy cuds objects and io code (http://www.simphony-project.eu/).
Simphony-common is hosted on github: https://github.com/simphony/simphony-common
- enum34 >= 1.0.4
- stevedore >= 1.2.0
- numpy >= 1.11.1
To support the cuba-generate script the following packages need to be installed prior to installing Simphony:
- click >= 3.3
- pyyaml >= 3.11
- tabulate >= 0.7.4
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
Packages that depend on the optional features and use setuptools should
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
- One can use the --help option with a setup.py command to see all available options.
- The documentation will be saved in the :file:`./build` directory.
- Not all the png files of the UML diagrams are used.
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
makescript in 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.
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. There is a generator script available in scripts folder. The structure of this directory is defined below.
- scripts/ : Contain the code generator for metadata class, CUBA Enum and KEYWORDS - tests/ : Unit test cases for the generated code - generate.py : Code generator
Guide to generating metadata classes
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