Skip to main content

weiyu

https://pypip.in/v/weiyu/badge.png https://pypip.in/d/weiyu/badge.png

weiyu is a Web development framework for Python. Highly modular and configurable, weiyu strives to empower developers with convenience and productivity.

NOTE weiyu is considered alpha quality, with its adoption basically non-existent besides the author’s several projects. Do not use in production for now!

Features

  • Configuration driven
    • YAML, JSON or Python pickles are supported

    • YAML is the default configuration format for readability

  • NoSQL storage
    • Riak

    • Redis

    • MongoDB (not actively tested)

  • Flexible URL routing
    • Route with either regexes or exact startswith matches

    • Concise URL routing definition syntax, with Vim syntax coloring! Check out examples/hello and vim-support/ for details.

    • Support for scoped reverse URL resolution (documentation needed)

  • Cache integration

  • Frontend technologies

The framework provides integration with the following packages:

  • Caches
    • python-memcached

    • redis

  • Database
    • pymongo

    • redis

    • riak

  • Server interfaces
    • WSGI

    • tornado

    • gevent-socketio

  • Session management
    • Beaker

    • redis

  • Templating engine
  • Miscellaneous
    • ultrajson

CPython 2.7 and PyPy are supported, with support for CPython 3.2 and above considered experimental. Any help is appreciated.

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,riak,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 not directly usable on PyPy. However, with the latest version of PyPy and some hacks, the performance can become really awesome!

  • The NoSQL DB mapper is somewhat lacking in capabilities, help appreciated.

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 去年春恨卻來時,落花人獨立,微雨燕雙飛. Its pronunciation is like “WE-you”, if not using the correct vowel for “yu”.

Examples

Some examples are provided in the examples/ directory. Check them out to get a feeling of working with weiyu.

Release files for weiyu 0.2.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for weiyu 0.2.1
File Size Uploaded
weiyu-0.2.1.tar.gz 60.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for weiyu 0.2.1
File Interpreter ABI Platform
weiyu-0.2.1-py2.py3-none-any.whl Python 2, Python 3 none any Details

Total release size: 172.4 kB

Release files / weiyu-0.2.1.tar.gz

Download URL weiyu-0.2.1.tar.gz
Size 60.2 kB
Tags Source
SHA-256 checksum
How to use checksums
a490454a344cd6f5250389984baaacb1da9f0e707f83c34525d0bd1fee0ddfed
BLAKE2b-256 checksum
How to use checksums
8a1f265ae472685f507a3ac3b14f8556560683605476405a144f0e061b3a4e0e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / weiyu-0.2.1-py2.py3-none-any.whl

Download URL weiyu-0.2.1-py2.py3-none-any.whl
Size 112.3 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
bf2ccdad873be11a705374f9065325c33ca3e2ec1afc3251d81952a075c34e2f
BLAKE2b-256 checksum
How to use checksums
14ff018825984fe251c682d308720d8953d7c1aff304d5a387a9875896b50522
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

0.2.1 This release

2 release files

0.1.1

1 release file

0.1

1 release file

0.0.9

1 release file

0.0.8

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page