Welcome, guest | Sign In | My Account | Store | Cart

Notice! PyPM is being replaced with the ActiveState Platform, which enhances PyPM’s build and deploy capabilities. Create your free Platform account to download ActivePython or customize Python with the packages you require and get automatic updates.

Download
ActivePython
INSTALL>
pypm install rapidgiza

How to install RapidGiza

  1. Download and install ActivePython
  2. Open Command Prompt
  3. Type pypm install rapidgiza
 Python 2.7Python 3.2Python 3.3
Windows (32-bit)
0.2.1 Available View build log
0.2 Available View build log
0.1.4 Available View build log
0.1.3 Available View build log
0.1.2 Failed View build log
Windows (64-bit)
0.2.1 Available View build log
0.2 Available View build log
0.1.4 Available View build log
0.1.3 Available View build log
0.1.2 Failed View build log
Mac OS X (10.5+)
0.2.1 Available View build log
0.2 Available View build log
0.1.4 Available View build log
0.1.3 Available View build log
0.1.2 Failed View build log
Linux (32-bit)
0.2.1 Available View build log
0.2 Available View build log
0.1.4 Available View build log
0.1.3 Available View build log
0.1.2 Failed View build log
Linux (64-bit)
0.2.1 Available View build log
0.2 Available View build log
0.1.4 Available View build log
0.1.3 Available View build log
0.1.2 Failed View build log
 
Author
Imports
Lastest release
version 0.2.1 on Feb 17th, 2011

Introduction

RapidGiza is a set of paster templates for rapid Pyramid development. It makes several framework choices for the developer which are:

  • Pyramid for the underlying web framework
    • traversal based url routing
  • Jinja2 for the page template language (similar to Django templates)
  • SQLAlchemy for ORM-based relational database persistence

Setting up a New Project

Install RapidGiza into a Python environment (ie virtualenv) with a working Paster. Once this has been done, you can create a new RapidGiza project by simply running (where Something is the name of your new egg):

paster create -t rapidgiza Something

Once the template egg has been created you should set it up in develop mode to start working on your project.

cd Something
python setup.py develop

Using the New Project

Command Runner

By default a new script named something will be created in the bin directory of your python envionment. This script is a command runner that provides the following:

Commands:
    runserver             Run a reloadable development web server.
Paster

A development.ini file will be created inside the Something directory. This can be used with the standard paster commands:

# use builtin paster http server
paster serve development.ini

# use the pyramid pshell command
paster --plugin=pyramid pshell development.ini pyramid-Something
Deployment with Apache+mod_wsgi

There is a preconfigured Something.wsgi file generated which is necessary for plugging your app into a mod_wsgi environment.

A simple apache virtualhost entry will look like this:

<VirtualHost *:80>
    ServerName www.something.com

    WSGIScriptAlias / /path/to/Something.wsgi
</VirtualHost>

Developing With the New Project

Base Framework

RapidGiza is based on the Pyramid web application framework. As such, the Pyramid api will always be the go-to api for working with the web application. Please see the Pyramid docs for further details.

Templating

Any file ending with the .jinja2 extension located inside the Something/something/templates directory will be rendered using the Jinja2 templating system. This template language is based on the Django templating language.

RapidGiza produces two template files by default, one containing the overall layout called, layout.jinja2 and one for the default main page called, main.jinja2.

Data Access

All data access is handled by the SQLAlchemy ORM framework which wraps relational databases. Out of the box, any new project created by RapidGiza will have a SQLAlchemy database session factory setup.

RapidGiza puts the orm model classes inside the models.py Python file. The active database session can always be retrieved as the db attribute on the request object.

Transaction Support

Transactions are used to ensure all or nothing is performed. With the very useful repoze.tm2 and transaction packages this can be accomplished easily in Pyramid applications.

RapidGiza ensures all requests join a new transaction so that if any error/exception occurs, the transaction is automatically rolled back. Any db sessions created via the provided session factory automatically join this transaction and will be rolled back in the event an error occurs.

Traversal

The Pyramid web application framework provides a convenient mechanism to traverse an object graph and map that graph to url's. RapidGiza stores it's traversal mechanism inside of the traversal.py file.

Credits

  • Created and maintained by Rocky Burt (rocky AT serverzen DOT com)

Changes

0.2.1 - Feb 16, 2011
  • Updated url's to point to github repo
0.2 - Feb 5, 2011
  • switched from Werkzeug to Khufu-Script
  • now using Khufu-SQLAHelper
0.1.4 - Dec 1, 2010
  • yet another missing file (won't happen again)
0.1.3 - Nov 30, 2010
  • Added yet another missing file to MANIFEST.in
0.1.2 - Nov 29, 2010
  • Changed make_app() signature
  • Added development.ini for out-of-the-box use with Paster serve
  • Generated projects now include two Paster apps
    1. <<project>>:app - Web app with included middleware
    2. <<project>>:pyramid-app - Web app without middleware
0.1.1 - Nov 29, 2010
  • Fixed MANIFEST.in so sdist contains appropriate files
0.1 - Nov 29, 2010
  • Initial version

Subscribe to package updates

Last updated Feb 17th, 2011

Download Stats

Last month:1

What does the lock icon mean?

Builds marked with a lock icon are only available via PyPM to users with a current ActivePython Business Edition subscription.

Need custom builds or support?

ActivePython Enterprise Edition guarantees priority access to technical support, indemnification, expert consulting and quality-assured language builds.

Plan on re-distributing ActivePython?

Get re-distribution rights and eliminate legal risks with ActivePython OEM Edition.