web2py

Free and open source full-stack enterprise framework for agile development of secure database-driven web-based applications, written and programmable in Python.

2124
903
Python

web2py

web2py is an open source full-stack framework for agile development
of secure database-driven web-based applications, written and programmable in
Python.

Created by Massimo Di Pierro [email protected]

About the future of web2py

Web2py was created in 2007 for Python 2.7. As of 2024 we support Python 3.9+ and no longer support earlier version.
We do not recommend using Web2py for new projects but we recommend upgrading to py4web (http://py4web.com), also known as web3py.
Web2py and Py4web share template language, pydal, rocket3 and similar design phylosophy.

Important reminder about this GIT repo

An important part of web2py is the Database Abstraction Layer (DAL). In early 2015 this was decoupled into a separate code-base (PyDAL). In terms of git, it is a sub-module of the main repository.

The use of a sub-module requires a one-time use of the --recursive flag for git clone if you are cloning web2py from scratch.

git clone --recursive https://github.com/web2py/web2py.git

If you have an existing repository, the commands below need to be executed at least once:

git submodule update --init --recursive

PyDAL uses a separate stable release cycle to the rest of web2py. PyDAL releases will use a date-naming scheme similar to Ubuntu. Issues related to PyDAL should be reported to its separate repository.

Documentation (readthedocs.org)

Docs Status

Tests

Build Status
MS Build Status
Coverage Status

Installation Instructions

To start web2py there is NO NEED to install it. Just unzip and do:

python web2py.py

That’s it!!!

web2py directory structure

project/
    README.md
    LICENSE.web2py.txt
    web2py.py                  > the startup script
    anyserver.py               > to run with third party servers
    ...                        > other handlers and example files
    gluon/                     > the core libraries
        packages/              > web2py submodules
          dal/
        contrib/               > third party libraries
        tests/                 > unittests
    applications/              > are the apps
        admin/                 > web based IDE
            ...
        examples/              > examples, docs, links
            ...
        welcome/               > the scaffolding app (they all copy it)
            ABOUT
            LICENSE
            models/
            views/
            controllers/
            sessions/
            errors/
            cache/
            static/
            uploads/
            modules/
            cron/
            tests/
        ...                    > your own apps
    examples/                  > example config files, mv .. and customize
    extras/                    > other files which are required for building web2py
    scripts/                   > utility and installation scripts
    handlers/
        wsgihandler.py         > handler to connect to WSGI
        ...                    > handlers for Fast-CGI, SCGI, Gevent, etc
    site-packages/             > additional optional modules
    logs/                      > log files will go in there
    deposit/                   > a place where web2py stores apps temporarily

Have Issues

Report issues at https://github.com/web2py/web2py/issues