About Chula

History

Chula is written by John McFarlane (aka me). When I first wanted to learn Python I started a project named Apple. At the time there were lots of frameworks for building web applications with Python, but I was interested in learning Python so it seemed more fun to make my own. Additionally I was surprised by the complexity of other frameworks. I was looking for something a bit simpler.

I hacked on Apple for a few years, and then decided to start over and try to improve things based on what I had learned - 3 months later I released the first version of Chula. Since that time I’ve tried to improve things and add features as needed, but I never lost sight of it’s main purpose: to be a vehicle for me to have fun and learn stuff.

If you’re really wanting to build the next killer application I’d prolly recommend using Django. If you’re looking for something smaller or even just something different then give Chula a try :)

Features

  • Web servers: Most of the common setups are supported (Mod_Python, Mod_WSGI, and FastCGI).
  • Session: Uses both Memcached and PostgreSQL for cluster safe storage that scales pretty well.
  • Message queue: Support for asynchronous processing of messages
  • Typical stuff: Environment, GET and POST variables
  • Speed: Chula seems to perform pretty well

Dependencies

Chula depends on the following packages, some of which are optional depending on configuration:

Mandatory

  1. Python (2.5, 2.6 or 2.7)

Note

Python-3.1 builds are available, but are considered unstable

Optional

If you intend on enabling support for session, you will need Memcached, and either PostgreSQL or CouchDB and their respective drivers. You can learn more about session here.

Source code

Chula uses the Git version control system. The official Chula repository can be found on Github.

Issue tracker

Chula uses the issue tracker that’s integrated with Github. If you find defects or have ideas for improvement please feel free to file issues. In the event Chula becomes more popular, a more sophisticated tracker will be used.

The link to the Github tracker is here: http://github.com/jmcfarlane/chula/issues

Release cycle

Generally there are about 4 releases a year

Roadmap

The roadmap right now is pretty small. Here are the features I’m currently thinking about:

  1. Profiling - profiling of both Chula and apps running on it
  2. Support for MySQL based session. Currently only PostgreSQL and CouchDB are supported. With either backend Memcached will continue to be used.

Who’s using it

I don’t actually know of anyone that’s using it. If you’re using it, let me know.

Table Of Contents

Previous topic

Session

This Page