/jam-py

Jam.py is an event-driven framework for the development of database applications with a Web interface.

Primary LanguageJavaScriptBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

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

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.

Documentation

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/

License

Jam.py is licensed under the BSD License.

Author

Andrew Yushev

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