Clone this wiki locally
saga-python. Please check out the new website for the latest releases and documentation!ATTENTION: bliss is now
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.
- 10-25-2012: SAGA Python (Bliss) 0.2.6 released on PyPi
- 10-24-2012: SAGA Python (Bliss) 0.2.5 released on PyPi
- 07-10-2012: SAGA Python (Bliss) 0.2.4 released on PyPi
- 07-26-2012: SAGA Python (Bliss) 0.2.3 released on PyPi
- 06-12-2012: SAGA Python (Bliss) 0.2.2 released on PyPi
- 05-16-2012: SAGA Python (Bliss) 0.2.1 released on PyPi
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 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
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:
- SAGA Tutorial - A beginner's guide to SAGA Python.
- Known Problems And Solutions - A list of frequently asked questions (FAQs).
- Code Examples - A collection of Python examples.
- API Documentation - The latest version of the SAGA Python API documentation.
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 (firstname.lastname@example.org) as well as a discussion group for SAGA Python development-related issues (email@example.com). You are most welcome to join either of them!