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.92.tar.gz (22.6 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.92-py3-none-any.whl (10.6 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: jam_py_v7-7.0.92.tar.gz
  • Upload date:
  • Size: 22.6 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.92.tar.gz
Algorithm Hash digest
SHA256 946c4299aae8c3e88db3593b6060ec1fe4fc70822077e15a9ac8383b54b7e84f
MD5 402f28414dcf123e5bab2fc5cd3c1840
BLAKE2b-256 862b148cc831ab655126b25e2c77c4d1870105cfbb5f85fe6d859e038f1422bb

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: jam_py_v7-7.0.92-py3-none-any.whl
  • Upload date:
  • Size: 10.6 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.92-py3-none-any.whl
Algorithm Hash digest
SHA256 ce487c250abfa7f99db4d0efee1d166745119dd45bec69f3ec9ecf2b354b9610
MD5 115444c01e852741f249964c62428793
BLAKE2b-256 b81fc867499f056218d09351258ea0ed2305d4c702c2d5add4f1b73c29eb7306

See more details on using hashes here.

Provenance

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