Free and open source full-stack enterprise framework for agile development of secure database-driven web-based applications, written and programmable in Python.
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]
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.
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.
To start web2py there is NO NEED to install it. Just unzip and do:
python web2py.py
That’s it!!!
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
Report issues at https://github.com/web2py/web2py/issues