rtsprofile module

rtsprofile is a Python library providing an interface to the RT System Profile specification.


rtsprofile is an interface library of RT system profile (RTSProfile) specification. This specification describes a complete RT system and can restore and manage the system. YAML is also available for XML.

This software is being developed by National Institute of Advanced Industrial Science and Technology, with support of the next generation robot intelligent technology development project of NEDO (New Energy and Industrial Technology Development Organization).


  • Python 2.6 or higher is required because it uses functions that do not exist under Python 2.5.
  • If you are using Ubuntu 9.04, you need to manually install Python 2.6. Ubuntu 9.04 or higher is recommended.


There are several methods of installation available:
    1. Deploy the source.
       $ cd /home/blurgle/src/
       $ tar -xvzf rtsprofile-2.0.0-tar.gz
    2. Run setup.py.
       $ python setup.py install
    3. Set environment variables as necessary. This is set by default, but if it is not set you need to set it yourself. On Windows, please make sure that Python's site-packages directory is set to PYTHONPATH environment variable and Python script's directory is set to PATH environment variable. Normally these are C:\Python 26\Lib\site-packages\ and C:\Python 26\Scripts\ (if Python was installed on C:\Python 26\) .
  • We recommend using installer on Windows. By using setup.py you can set it more easily than the result. However, depending on the environment, it may be necessary to further set environment variables.

Using the library

The library has one main entry point: the RtsProfle class. Create an instance of this class, giving the constructor just one data source. The library will parse that source and give you a complete RT System Profile. You can then use the properties (they're Python properties, not class methods) to access information about the RT System. For further details, see the doxygen-generated documentation.

Running the tests

A pair of test specifications, one in each format, are included with the library. You can execute the test on these files as below:

 $ python test/test.py ./test/rtsystem.xml
 $ python test/test.py ./test/rtsystem.yaml

Be aware that, depending on your Python paths, the tests may be executed against an installed copy of rtsprofile rather than the copy in the current working directory.

These tests are not yet complete coverage.

API naming conventions

rtsprofile follows the standard Python naming conventions as laid out in PEP8.

Most importantly, the private, internal API functions begin with an underscore (_). If a function begins with an underscore, it is not intended for use outside the class and doing so could lead to undefined behaviour. Only use those API functions that do not begin with an underscore and have a docstring in your programs.

Further documentation and examples

For further documentation, see the Doxygen-generated API documentation.

For examples of using the library, see the rtshell source code .


The latest source is stored in a Git repository at github. You can download it as a zip file or tarball by clicking the "Download Source" link in the top right of the page. Alternatively, use Git to clone the repository. This is better if you wish to contribute patches.

 $ git clone git://github.com/gbiggs/rtsprofile.git



  • Fixed parsing of Message Sending nodes.
  • PrecedingCondition timeout type is now integer.
  • Added YAML support.
  • Added tests.
  • Changed the default string for Preceding conditions to "SYNC".
  • Minor bug fixes


latest Releases : 2.0.0-RELESE

2.0.0-RELESE Download page

Number of Projects


Motion editor/Dynamics simulator


Dynamics simulator


Integrated Development Platform

AIST RTC collection

RT-Components collection by AIST


Tokyo Opensource Robotics Association


Middleware for DAQ (Data Aquisition) by KEK