Go to file
Andrew Yushev c3617b7757 on_param_changed event added
selections mechamizm modified, selections are stored in order they were added
detail virtual tables bug fixed
2023-08-02 21:16:41 +03:00
builder Privileges button added to reports 2022-07-08 14:11:42 +03:00
demo Create .gitignore 2023-06-19 13:29:40 +08:00
docs Win 2023-05-01 14:29:40 +08:00
jam on_param_changed event added 2023-08-02 21:16:41 +03:00
.gitignore Library: 2019-02-07 17:49:09 +03:00
AUTHORS Admin: 2017-09-06 16:00:52 +03:00
INSTALL Databases management changed. To add new database to framework add new module to db folder and register it in db_modules module. 2015-08-03 16:19:22 +03:00
LICENSE - all library js, css, img file moved from project folder to library folder 2015-11-23 13:18:38 +03:00
MANIFEST.in Library: 2019-08-05 15:03:55 +03:00
README.rst Typo Predefined 2023-07-12 15:36:02 +08:00
setup.py Requirements changed Jam.py can run with Python >= 3.6 2020-05-29 11:45:47 +03:00


Package on PyPI

Supported Python Versions

Documentation Status

Build Status (Travis CI)

Jam.py Application Builder (web framework)
From an idea of a web database application to a live website in no time, for free

Click on the image to see the online demo

If you are not a professional programmer or an expert in databases, you can use Jam.py to store, share and analyze your data.

Please watch these videos to see how easy it is to create and setup Jam.py applications.

If you are a professional, you can use Jam.py to create various tools, dashboards, as well as large-scale business applications with complex internal logic. Please watch the Jam.py framework applications video to see some applications written in Jam.py.

More demos on PythonAnywhere:

Jam.py alternative site:

Main features

Jam.py is an object oriented, event driven framework with hierarchical structure, modular design and very tight DB/GUI coupling. The server side of Jam.py is written in Python, the client utilizes JavaScript, jQuery and Bootstrap.

  • Simple, clear and efficient IDE. The development takes place in the Application builder, an application written completely in Jam.py.
  • “All in the browser” framework. With Jam.py, all you need are two pages in the browser, one for the project, the other for the Application builder. Make changes in the Application builder, go to the project, refresh the page, and see the results.
  • Supports SQLite, PostgreSQL, MySQL, Firebird, MSSQL and Oracle databases. The concept of the framework allows you to migrate from one database to another without changing the project.
  • Authentication, authorization, session management, roles and permissions.
  • Automatic creation and modification of database tables and SQL queries generation.
  • Data-aware controls.
  • Open framework. You can use any Javascript/Python libraries.
  • Rich, informative reports. Band-oriented report generation based on LibreOffice templates.
  • Charts. You can use free jsCharts library or any javascript charting library to create charts to represent and analyze your application data.
  • Allows to save audit trail/change history made by users
  • Predefined css themes.
  • Develop and test locally update remotely. Jam.py has Export and Import utilities that allow developer to store all metadata (database structures, project parameters and code) in a file that can be loaded by another application to apply all the changes.


All documentation is in the "docs" directory and online at http://jam-py.com/docs/.

Please visit http://jam-py.com/docs/intro/install.html for Python and framework installation or http://jam-py.com/docs/intro/new_project.html how to create a new project.

For general discussion, ideas or similar, please visit mailgroup https://groups.google.com/g/jam-py or FB page https://www.facebook.com/groups/jam.py/

Demo application: http://demo.jam-py.com/


Jam.py is licensed under the BSD License.


Andrew Yushev

See also the list of contributors who participated in this project.