Yet another Python Web framework, as modular and configurable as possible
Project description
weiyu
weiyu is a Web development framework for Python. Highly modular and configurable, weiyu tries hard to integrate common functionalities for the developer’s convenience and productivity.
Features
Configuration driven
- NoSQL storage
MongoDB
Riak
- Flexible URL routing
Route with either regexes or exact startswith matches
Concise URLconf definition syntax
Support for reverse resolution
Cache integration
Task queue integration
The framework provides integration with the following packages:
- Caches
python-memcached
redis
- Database
pymongo
riak
- Server interfaces
WSGI
tornado
gevent-socketio
- Session management
Beaker
- Task queue
celery
- Templating engine
Mako
- Miscellaneous
ultrajson
CPython 2.7 and PyPy are supported, and Python 3 compliance is on the way.
Licenses
GPLv3+
Public domain for examples/
The project contains code from other libraries; copyright notices are attached to the respective source files.
helpers/regex_helper.py: Taken from Django, BSD-licensed.
helpers/metaprogramming.py: Contains code from formencode, PSF-licensed. Also contains user-contributed code from StackOverflow which is licensed under cc-by-sa 3.0 according to StackOverflow policy.
Installation
weiyu is registered in PyPI, but for the moment directly installing from the official repository is recommended as the development is constantly in flux. Also you get the full set of examples this way.
To install from the official repo:
$ git clone https://github.com/xen0n/weiyu.git $ cd weiyu/ (installing using distribute) $ ./setup.py develop (or manually setting up the link) $ pwd > /path/to/your/site-packages/weiyu.pth
To install via pip:
$ pip install weiyu
Both will not install most of the dependencies. While the deps can be controlled individually using flags like weiyu[mako,celery,redis], requirements files have been provided to allow quick install of all possible dependencies.:
$ pip install -r requirements.txt
Known issues
gevent-socketio integration is broken under PyPy 2.0b2 with the experimental hacks.
The NoSQL DB mapper is rather weak, may need a complete overhaul.
Community
- Mailing list
weiyu-cn at groups.google.com (Main language: Chinese)
Why the name?
The name comes from Lin Jiang Xian (trad: 臨江仙/simp: 临江仙) by Yan Jidao, a poet of the Song dynasty. The referenced sentence is 去年春恨卻來時,落花人獨立,微雨燕雙飛.
Examples
Some examples are provided in the examples/ directory. Check them out to get a feeling of working with weiyu.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.