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.86.tar.gz (21.3 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.86-py3-none-any.whl (9.9 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: jam_py_v7-7.0.86.tar.gz
  • Upload date:
  • Size: 21.3 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.86.tar.gz
Algorithm Hash digest
SHA256 ff1e67d5246cbb56f1760438133fba59c8ddbd0a86194572e685646a317caef5
MD5 b9b017724bc0fc197edc61af8b8ce777
BLAKE2b-256 24cdf25b9683d802d0adf95baf7076101c9764165ee6aaa9e37ba9a052b61d81

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: jam_py_v7-7.0.86-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.86-py3-none-any.whl
Algorithm Hash digest
SHA256 e1c66cf430de51b1a27eefb117626ca793f81752d30c80f39658b88d847902bd
MD5 f12f4222271bcddf0ad3f4a0e770122e
BLAKE2b-256 989e7645ae30f3656638e651f17999054d216e0a91752a6638034987d10f6912

See more details on using hashes here.

Provenance

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