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:

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/

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.83.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.83-py3-none-any.whl (9.9 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: jam_py_v7-7.0.83.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.83.tar.gz
Algorithm Hash digest
SHA256 d8be185198eaa71257aadf92832ac6ad4a43d753228d9f1a199c321b6ac63fea
MD5 0bb8421bbb03321956e014c228ab668c
BLAKE2b-256 d8b1ffc44582ee716dbd8d9ea9cbe7bfb7a8494f2919a78f9aa01d44a5f542db

See more details on using hashes here.

Provenance

The following attestation bundles were made for jam_py_v7-7.0.83.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.83-py3-none-any.whl.

File metadata

  • Download URL: jam_py_v7-7.0.83-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.83-py3-none-any.whl
Algorithm Hash digest
SHA256 64c04b03a75005244fef508ee43b2789f86716323876c33bab202da74a145c2b
MD5 efdd5b70dcec14623662ca50f4dbc5b0
BLAKE2b-256 e77178630c8222d1929772618aa316605175679f3be43bc9697977562226ae3e

See more details on using hashes here.

Provenance

The following attestation bundles were made for jam_py_v7-7.0.83-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