home > About web.py

About web.py

Other languages : français | ...

web.py is a web framework for python that is as simple as it is powerful. web.py is in the public domain; you can use it for whatever purpose with absolutely no restrictions.

A complete web.py application

import web

urls = (
    '/(.*)', 'hello'
)
app = web.application(urls, globals())

class hello:        
    def GET(self, name):
        if not name: 
            name = 'World'
        return 'Hello, ' + name + '!'

if __name__ == "__main__":
    app.run()

Get Started

web.py 0.34 was released on 2010-03-20: web.py-0.34.tar.gz

To always have the latest version of web.py, run:

git clone git://github.com/webpy/webpy.git
ln -s `pwd`/webpy/web .

Or download the latest version as zip or tarball.

Upgrading from an older version? Be sure to read the upgrade guide.

Who uses web.py?

web.py was originally published while Aaron Swartz worked at reddit.com, where the site used it as it grew to become one of the top 1000 sites according to Alexa and served millions of daily page views. "It's the anti-framework framework. web.py doesn't get in your way," explained founder Steve Huffman. (The site was rewritten using other tools after being acquired by Condé Nast.)

Frinki, a new social network in Spanish.

Make History, a project of the 9/11 Memorial Museum, is powered by web.py on top of Google App Engine. On September 11, 2009, it received nearly 200,000 visitors. "It's my first time working with web.py and basically with Python," noted its developer. "web.py was awesome."

Oyster Hotel Reviews, a website that reviews hotels and lets you book them, uses web.py for its booking pages and dynamic content. They note that "web.py gives us the control we need for a large-scale website".

local.ch, the official online Telephone Directory for Switzerland - using web.py in a backend service for tracking expired content - code open-sourced as urldammit.

sitecanary.com a site for being alerted if your website is down.

watchdog.net, a political watchdog site, is built in web.py.

archivd.com, a web application for collaborative research and archiving, is built on web.py.

colr.org, a color scheme picking site, is built in web.py.

Chiefmall, a contractor search tool, was built with web.py.

grouplite.com uses web.py.

Yandex, a Russian traffic provider whose homepage alone receives 70 million daily page views, uses web.py for certain projects.

LShift has used web.py to build websites for Expro and publisher Dorling Kindersley. "web.py allows us to do what we do best," they report. "It does the webapp thing brilliantly, and without requiring us to compromise on flexibility and originality."

micropledge, a web app that collects funding for software ideas, is built in web.py. "We've enjoyed fitting in with its minimalist approach," says developer Ben Hoyt.

The bivalidator checks your HTML and CSS validation.

jottit.com is built with web.py. Jottit makes getting a website as easy as filling out a textbox.

Tasko is built with web.py. Tasko is an online task management tool which uses a plain text file format to store all the information.

Damiga is built with web.py. Damiga is a place where you can anonymously and freely tell the world how you feel about other people: friends, celebrities, even fictional characters. It's also a place where you can see how the world feels about you.

Fotosaur.us, an unbelievably rad image bookmarking app, was written with web.py.

URIs.us is service for creating short urls. Deploying on Google App Engine

xykra is a minimalist (160 Python lines) wiki using Markdown.

Edgarest is built with web.py.Edgarest provides fast, intuitive search of SEC Filings.

Wklej.to is a nopaste/Pastebin app with Free and Open api, and of course with desktop plugins and clients.

Sysinternals CD integrates webpy and postgresql to render an automated website

Biomed Search searches over a million biomedical images images in nicely viewable sizes.

"[web.py inspired the] web framework we use at FriendFeed [and] the webapp framework that ships with App Engine..."
- Brett Taylor, co-founder of FriendFeed and original tech lead on Google App Engine

"In the ecosystem of web frameworks, something needs to occupy the 'small, light and fast' niche. web.py is it."
- Lloyd Dalton, colr.org

"We completed our server rewrite a few days ago with web.py and it was everything we could have wished for."
- Sam Hsiung, YouOS

"Django lets you write web apps in Django. TurboGears lets you write web apps in TurboGears. Web.py lets you write web apps in Python."
- Adam Atlas

"very nicely written and concise (not to mention it's written by Aaron Swartz, whose coding skills are very trustable), and doesn't get in my way"
- Jonas Galvez, Aupeo #

"the first framework ... where I could just scribble code and see something working without even having to try to understand the logic of it. A pleasure to integrate."
- Delaunay Antoine built a photo gallery and an agenda with it

"Guido [van Rossum, creator of Python], you'll probably find that web.py best suits your style. ... If you don't like it, I can't imagine which of the other dozens of frameworks out there you would like."
- Phillip J. Eby, creator of the Python Web Server Gateway Interface (WSGI) #

"... the [Cheetah] example I saw on web.py looks "right". (web.py itself OTOH gets an "F", for undocumented code with too much magic behavior. upvars(), bah.)"
- Guido van Rossum, creator of Python #

"suffice to say I think Aaron is headed in the right direction."
- Harry Fuecks: a simple wiki with web.py

"a very fascinating moment for me. The feelings just like the first time I wrote my php script ... it sure have let me learn python in the fun way. Good work aaron !"
- Kamal simple blog in webpy, learning python the fun way

web.py documentation:

web.py community

web.py development