Spyce

From Wikipedia, the free encyclopedia

Spyce is technology similar to PHP that can be used to embed Python code into webpages. It is released under an open-source license.


Contents

[edit] Common Spyce Embedding Methods

Since Python uses indentation to determine the beginning and end of a block, Spyce includes several ways to embed Python code. Shown below are the three most common ways. Spyce supports ASP/JSP-style delimiters (<% and %>) as well as double braces ([[ and ]]).


1. Python 'chunks' (multiple Python statements with traditional indentation):

It's <b>[[\

from time import asctime, localtime
print asctime(localtime())

]]</b> right now!

or

It's <b><%\

from time import asctime, localtime
print asctime(localtime())

%></b> right now!


2. Individual statements within delimiters (indentation not required):

[[ for x in xrange(3): { ]]
<b>Hello, </b>
[[ } ]]

or

<% for x in xrange(3): { %>
<b>Hello, </b>
<% } %>


3. Expressions evaluation

<b>I am [[= 5*3 ]] years old.</b>

or

<b>I am <%= 5*3 %> years old.</b>


The techniques above can be freely mixed and embedded in any HTML document.

Any legal Python code can be embedded and any Python module can be imported, which makes it especially suited for writing very robust applications (using exception handling and unit testing single modules individually).

[edit] Features

Some other features include custom tags (ala JSP), spyce lambdas and active handlers (reminiscent of ASP).

[edit] Requirements

Spyce brings Python's standard library and the programming language itself to the web. The minimum requirement is a working Python installation (it ships with a standalone web server written in Python that can be used during development), although it can be used in conjunction with several web servers such as Apache and IIS in a variety of ways.

Configuration is done using Python modules that are imported by the web server during initialization, so all that is really required to get started with Spyce is basic knowledge of Python.

[edit] See also

[edit] External links