= What Is Rappture? =
The Rappture toolkit provides the basic infrastructure for a large class of scientific applications, letting scientists focus on their core algorithm when developing new simulators. Here's a [http://www.nanohub.org/images/tool/molctoy/molctoy.swf demo] of a Rappture interface for a Matlab script which simulates conduction through a molecule. This interface was generated automatically by Rappture, based on a description of the tool inputs and outputs.
Rappture also makes it easy to put a friendly, interactive interface on existing legacy applications, without having to rewrite the code. For example, the [http://bwrc.eecs.berkeley.edu/Classes/IcBook/SPICE/ SPICE circuit simulator] has been around since 1972. You can now run [http://nanohub.org/tools/spice3f4 SPICE on the nanoHUB] via a simple Rappture interface. This shows the power of taking a powerful, batch-processing tool, and making it more interactive and accessible.
== Tutorial ==
The following tutorials teach the basic concepts behind Rappture and take you through several examples in Python, Fortran, and other languages:
* [http://hubzero.org/resources/381 HUBbub 2011: Creating and Deploying Scientific Tools] (short course)
* [http://nanohub.org/resources/14671 NCN Software Boot Camp 2012] (long version)
== Licensing ==
Rappture is Open Source software. See the [wiki:LicenseTerms license terms] for details.
== How does it work? ==
Instead of inventing your own input/output, you declare the parameters associated with your tool by describing Rappture objects in the Extensible Markup Language (XML). For example, the figure below shows the XML description of a simple plotting tool.
[[rpimage(graphxml.gif)]]
The section contains three elements: a representing the mathematical formula that the user will enter, a for the x-axis minimum, and another for the x-axis maximum. The