oleweidner edited this page Mar 25, 2013 · 96 revisions


ATTENTION: bliss is now saga-python. Please check out the new website for the latest releases and documentation!

Welcome to the SAGA Python wiki. These pages accompany the SAGA Python (a.k.a. Bliss) website and provide detailed information about installation and usage, as well as resources for developers. Below is the table of contents. A complete list of pages can be found here.


1. About

SAGA Python (formally known and released as 'Bliss'), is a light-weight and low-overhead implementation of the OGF GFD.90 SAGA standard. It is written 100% in Python (not just an API wrapper layer) and focuses on stability, usability and ease of deployment across heterogeneous distributed cyberinfrastructure.

SAGA Python is implemented as a plugin-based API protocol converter (see figure): a software developer implements the distributed computing functionality of his application using the SAGA API, agnostic of the type of the underlying distributed infrastructure and middleware and the different interfaces they might expose. Internally, a lightweight call dispatch-engine selects the appropriate middleware plugin (see section 2) that can convert the SAGA calls to the middleware, e.g., PBS or Condor. This strategy moves the complexity associated with heterogeneous infrastructure away from the application layer and into the access layer, which significantly lowers the complexity for application developers.

SAGA Layers

SAGA Python is Open Source software and released under the MIT license. Development is coordinated by the RADICAL Group at Rutgers University in an open and transparent process that encourages and fosters community contribution (see section 5).

2. Supported Middleware

The latest version of SAGA Python comes with the following plug-ins:

  • Local - Allows job execution (via fork) and file handling on the local machine.
  • SSH - Allows job execution on remote hosts via SSH.
  • GSISSH - Allows job execution on remote hosts via GSISSH.
  • SFTP - Provides remote filesystem access via the SFTP protocol.
  • PBS, PBS+SSH, PBS+GSISSH - (includes TORQUE). Provides local and remote access (SSH+GSISSH) to PBS/Torque clusters.
  • SGE, SGE+SSH, SGE+GSISSH - Provides local and remote access (SSH+GSISSH) to Sun (Oracle) Grid Engine clusters.

More details can be found on the Plugins page

3. Installation

SAGA Python is available for download via PyPI and in most cases installation is as easy as typing:

pip install bliss

More detailed installation instructions are available in the Installation Guide.

4. Getting Started

The following links should get you started with SAGA Python:

5. Contributing

Like the SAGA standard itself, SAGA Python is a community-driven project. We'd like to encourage everyone who is interested in contributing to SAGA Python, e.g., in the form of a new middleware plug-in, to read the Developer Guide (that should get you started) and/or to get in touch with us (see below for mailing list information).

To ensure code quality, we run a continuous integration server that checks the SAGA Python codebase on a set of FutureGrid and XSEDE machines. The current status can be checked here.

6. Mailing List

We have a public discussion group for general SAGA discussions and announcements (saga-users@googlegroups.com) as well as a discussion group for SAGA Python development-related issues (saga-devel@googlegroups.com). You are most welcome to join either of them!

Google Groups
Subscribe to saga-users
Visit this group
Google Groups
Subscribe to saga-devel
Visit this group

7. Reporting Bugs

Your issue may be known or have a common solution - please check here before filing a report. If your issue is not mentioned in that list, please report bugs to the issue tracker.