spyce
home
license
community
download
examples
resources
wishlist
contrib (@sf)
documentation
intro
lang
runtime
modules
tags
install
exits
sourceforge
statistics
freshmeat

Documentation - Introduction
[[ Spyce ]]
Python Server Pages
by Rimon Barr

Prev: 1.1 - Rationale Up: 1 - Introduction Next: 1.3 - Getting Started

1.2. Design Goals

As a Spyce user, it helps to understand the broad design goals of this tool. Spyce is designed to be:

  • Feature poor: The philosophy behind the design of Spyce is only to include features that particularly enhance its functionality over the wealth that is already available from within Python. One can readily import and use Python modules for many functions, and there is no need to recode large bodies of functionality.
  • Small: There is an active push keep Spyce small, especially the core engine. The engine currently stands at 5000 lines of code -- tiny compared to PHP or Zope, etc. The standard modules comprise another 2000 lines.
  • Modular: Spyce is built to be extended with Spyce modules and active tags that provide additional functionality over the core engine capabilities and standard Python modules. New features in the core engine and language are rationalised against the option of creating a new module or a new tag library. Standard Spyce modules and tag libraries are those that are considered useful in a general setting and are included in the default Spyce distribution. Users and third-parties are encouraged to develop their own Spyce modules.
  • Intuitive: Obey user expectations.
  • Convenient: Using Spyce should be made as efficient as possible. This, for example, is the reason behind the choice of [[ as delimeters over alternatives such as <? (php) and <% (jsp). Note that ASP/JSP-style delimeters are supported as well! Functions and modules are also designed with as many defaults as possible.
  • Single-purpose: To be the best, most versatile, wildly-popular Python-based dynamic HTML engine. Nothing more; nothing less.
  • Fast: Performance is important. It is expected that Spyce will perform comparably with any other dynamic, scripting solutions available. Of paramount importance, however, is clean design and syntax, and high degree of modularity and usability. The philosophy is to build and tweak only when necessary and only for significant performance gains, tested empirically.

Now, let's start using Spyce...


Prev: 1.1 - Rationale Up: 1 - Introduction Next: 1.3 - Getting Started


© 2002-05 Rimon Barr
email: rimon@acm.org
Spyce Powered SourceForge Logo [[ Spyce ]]
Python Server Pages
version 1.3.13