GitHub Privacy Statement


For getting a basic introduction into pySPACE and its main principles, refer to this talk at the PyData Berlin 2014 conference and this paper in the Frontiers in Neuroinformatics Journal. This paper should be also used to cite pySPACE.

Quick Access


Data, Processing & Modalities


Getting started

Launch pySPACE



Learn About Usage

  #   #  

Table of Contents

Short & Long


Missions for the User

Algorithm Overview



Frequently Asked Questions

  #   #  


pySPACE is a Signal Processing And Classification Environment (SPACE) written in Python interfacing to the user with YAML configuration files and enabling parallel process execution (for all of these reasons we put a small py in front). pySPACE allows rapid specification, execution, and analysis of empirical investigations (short: benchmarking) in signal processing and machine learning. Besides the benchmarking way of executing pySPACE where you can evaluate your data with your own configuration of algorithms, the software also provides a launch_live mode where you can directly execute signal processing as soon as you have the data in an online fashion.

If you take a look at the Main Software Structure of pySPACE you should be able to directly see how you can interact with the software. Besides this, user data (input, output and processing definitions) are stored in your pySPACEcenter (until configured otherwise). You can see more when looking at the Getting started page.

In pySPACE the parallelization part is not restricted to signal processing and machine learning, though these are the only use cases currently supported. By defining your own operations, you can interface any library with pySPACE, using different parallelization modes. pySPACE already provides interfaces to popular toolkit libraries like the Weka framework, and the MMLF but also comes with a lot of own algorithms, though some algorithms are just wrapper to methods from other libraries like the Modular toolkit for Data Processing (MDP), scikit-learn, LIBSVM or LIBLINEAR.

This software can be used to analyze and compare the performance (e.g., classification accuracy) of different methods and parameter settings, respectively. It allows to estimate these quantities based on different validation schemes (including crossvalidation) and several independent runs. Furthermore, it allows to make use of the fact that most of these problems can be handled independently and allows to process subtasks in parallel on different backends. For instance the MulticoreBackend allows to run as many tasks in parallel as cores are present in the respective machine.

pySPACE supports the massive parallel execution of benchmarking experiment on grids like systems using LoadLeveler or MPI sharing a common data access.

This software has an object-oriented design, providing classes for important entities like:

which define the structure of the data, how it is changed and which parallelization mode is used.

Main Software Structure

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

Indices and Meta Information

  #   #  


The Complete Index



Learn About the Structure


List of all Nodes

All Elemental Algorithms

  #   #  


pySPACE Vocabulary


History of pySPACE

Learn About the Background



The Doc of the Doc

  #   #  





Some Contributors



Praise? Curse? Report?

  #   #  


pySPACE has been developed jointly by researchers at the German Research Center for Artificial Intelligence (DFKI GmbH), Robotics Innovation Center, Bremen (DFKI RIC) and the Robotics Group at the University of Bremen prior to its release as open source.

If you want to be kept informed about current changes in the framework, add yourself to the user mailing list.

For development discussions and requests or if you want to share with us successful software usage, contact us via the developer mailing list.

We are thankful for everybody who wants to contribute and you can feel free to join the developer mailing list to support us.

Both lists are moderated.

User mailing list :

Developer mailing list :




This software including all extensions and accessories is neither designed nor suitable for medical or diagnostic purposes. This software must not be used as a medical product according to appendixes 1 and 2 of the medical product operator regulation (Medizinprodukte-Betreiberverordnung).


Die vorliegende Software einschließlich aller Erweiterungen und Zubehör ist für medizinische oder diagnostische Zwecke nicht bestimmt oder geeignet. Sie darf nich mit Zweckbestimmung eines Medizinproduktes im Sinne der Anlagen 1 und 2 der Medizinprodukte-Betreiberverordnung eingesetzt werden.