pySPACE Package

pySPACE Package


Welcome to the main module of pySPACE, the Signal Processing And Classification Environment in Python. For a complete and up-to date documentation of the release, we refer to our git project web page.

This module contains the basic imports for using pySPACE and sets the default configuration.


Documentation is done with Sphinx and some helper functions coming with the software for more customization. The folder that contains all the documentation is called docs. To compile you first have to install Sphinx 1.1 or a better version. The documentation can be created by running make html in the docs directory (therefore we have a Makefile in the docs folder). To view the documentation open the index.html in the .build/html folder.

Structure of the Software and First Steps

This software is structured into six main parts on the top level which give you a hint of where you might like to go. pySPACE is a highly modular framework, so all possible tasks and algorithms are called missions, input and output are defined as resources.

To start the software, go to the run package, to get an idea of what you can do, see the documentation of missions (nodes and operations) and the documentation in Getting started, the Overview and maybe some Tutorials.

Where to Go to Integrate Your Own Extensions

If you want to integrate your own application, you will probably have to create new missions. If your algorithm can handle single data_types or only works with one dataset or a combination of training and test set, you can integrate it easily by defining it in the nodes package. Otherwise you will have to integrate it into the operations package, which is also a subpackage of the missions package. Last but not least, you may want to write only a wrapper for your algorithm and even implement your algorithm in a different language like C++ or even Matlab. So the wrapper is integrated as mentioned before and the real algorithm implementation can be done in the support package.

If you should realize, that this software is unable to load, store or process your special type of data, you should have a look into the resources package. Here different stages of accumulation of data are defined, but most probably, you will be interested in dataset_defs. Very likely you will not have to define a complete new dataset type but only add the functionality you need to the existing ones.

When integrating new components you should also write small unittests in tests.

In case you need some of the tools please have a look at the respective documentation, too. This is also true for environments similar holds, e.g., if you want to implement new backend or have an own live application.

The following methods constitute the interface of the package:

load_configuration Load a configuration from the specified YAML configuration file.
create_operation_from_file Creates the operation for the file operation_filename
create_operation Creates the operation for the given operation spec
run_operation Runs the given operation on the backend
run_operation_chain Runs the given operation chain on the backend
create_backend Creates the backend object based on the given options

Subpackages Summary

environments Contains everything to make missions possible, e.g., definitions of backends and processing chains
missions Modules for data processing including large tasks (operations), signal processing algorithms (nodes) and interfaces to external packages
resources Everything that can be input and output of pySPACE.
run The name tells you everything: run contains everything that can be executed
tests Collection of pySPACE system and unit tests
tools Several communication, file, memory, and performance tools used in pySPACE