Skip to main content

Jam.py Application Builder is an event-driven framework for the development of web database applications.

Project description

Package on PyPI Supported Python versions Documentation Status Downloads

Jam.py is a web front-end application generator that works with both existing databases and newly created ones.

With Monaco editor and Databricks support!

This is forked jam.py to continue the support and development, since Andrew retired from jam.py project. The v7 is now fully released. Please find v5 master branch archive in here: https://github.com/jam-py-v5/jam-py/

The LLMS-full.txt is released:

https://jampy-docs-v7.readthedocs.io/en/latest/llms-full.txt and https://jampy-docs-v7.readthedocs.io/en/latest/llms.txt

All batteries included and event driven! What is EDA:

"An event-driven framework, also known as event-driven architecture (EDA), is a design pattern where software components communicate and react to changes in state or events." Everything in Jam.py can be an event. Like a mouse click, or pressing CRTL+Ins, CTRL+Del or whatever is defined by you.

Major difference from other products is that the entire application is contained within a single SQLite3 file. And it can be encrypted!

Another key distinction is the ability to run any Python procedure directly within the Application Builder as a back-end - including popular libraries like Matplotlib, Pandas, and NumPy - with the results displayed in the browser. Python procedure can run synchronously or asynchronously on the server.

More over, using Import tables feature from any supported database is providing instant web front-end. There's no need to code anything and authentication is one click away!

Hope this sparked some interest! Thank you.

Installation and Launch

pip install jam.py-v7
jam-project.py
server.py

alt text

Some short videos about how to setup Jam.py and create applications:

Longer video: video with dashboards and complex internal logic.

Live demos on PythonAnywhere (pls drop an issue to start the app if "Coming Soon!" shows up):

Jam.py alternative site:

https://jampyapplicationbuilder.com/

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 updated documentation for v7 is online at https://jampy-docs-v7.readthedocs.io/

Brazilian Portuguese translation started at https://jampy-docs-v7-br-pt.readthedocs.io/

Simplified Chinese translation started at https://jampy-docs.readthedocs.io/projects/V7/zh-cn/latest

Please visit https://jampy-docs-v7.readthedocs.io/en/latest/intro/install.html for Python and framework installation or https://jampy-docs-v7.readthedocs.io/en/latest/intro/new_project.html how to create a new project.

Jam.py application design tips are at https://jampy-application-design-tips.readthedocs.io/

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/ (paused atm)

Sponsor

Jam.py is raising funds to keep the software free for everyone, and we need the support of the entire community to do it. Donate to Jam.py on Github to show your support.

License

Jam.py is licensed under the BSD License.

Original Author

Andrew Yushev

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

Maintainers

crnikaurin, platipusica

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

jam_py_v7-7.0.90.tar.gz (21.2 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

jam_py_v7-7.0.90-py3-none-any.whl (9.9 MB view details)

Uploaded Python 3

File details

Details for the file jam_py_v7-7.0.90.tar.gz.

File metadata

  • Download URL: jam_py_v7-7.0.90.tar.gz
  • Upload date:
  • Size: 21.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for jam_py_v7-7.0.90.tar.gz
Algorithm Hash digest
SHA256 574bc75f37a0b1b46ba8fa0f6354a420d445b258171fb61a13a968c84a6a6d5d
MD5 1b20b4717ad05d644e4d9e085d48e1bf
BLAKE2b-256 e347a3e84f10c647b538bc657ea67783d2ac803bc569f55c09cfc2f233466efa

See more details on using hashes here.

Provenance

The following attestation bundles were made for jam_py_v7-7.0.90.tar.gz:

Publisher: publish-to-pypi.yml on jam-py-v5/jam-py-v7

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file jam_py_v7-7.0.90-py3-none-any.whl.

File metadata

  • Download URL: jam_py_v7-7.0.90-py3-none-any.whl
  • Upload date:
  • Size: 9.9 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for jam_py_v7-7.0.90-py3-none-any.whl
Algorithm Hash digest
SHA256 3b1cf19aa44aff4ad2c9fb2582c18f4ca009e0d694caf13f19f3adda3d18697f
MD5 ccc3b2905b300f2380722c1a9746d968
BLAKE2b-256 482fed01c989caef262c79daecc49ed58525501d907174d5872bbd9444e64f36

See more details on using hashes here.

Provenance

The following attestation bundles were made for jam_py_v7-7.0.90-py3-none-any.whl:

Publisher: publish-to-pypi.yml on jam-py-v5/jam-py-v7

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page