Jam.py lets a single developer build an entire business application without having a complex web technology stack. It does that due to:
- A full developer framework, not only a low-code tool.
- Deployment model is simple. Suitable even for Windows or offline / air-gapped networks.
- Modern application layer suitable to modernize existing systems without rebuilding everything.
- Runs accross desktop browsers and mobile devices while keeping a single application codebase.
flowchart TD
subgraph DATA["<span style='font-size:22px'><b>Everything. Everywhere. All. At. Once.</b></span>"]
SPACE[" "]
A1["SQL Server"]
A2["PostgreSQL"]
A3["Oracle"]
A4["SQLite/SQLCipher"]
A5["Firebird"]
A6["MySQL"]
A7["DuckDB"]
A8["Legacy Systems"]
A9["REST APIs"]
A10["Cloud Services"]
end
A1 --> J
A2 --> J
A3 --> J
A4 --> J
A5 --> J
A6 --> J
A7 --> J
A8 --> J
A9 --> J
A10 --> J
J["Jam.py
───────────────────────────
• Business Objects
• Events
• Validation
• Security
• Permissions
• REST API
• Business Logic"]
J --> API["Single Business API"]
API --> APP1["CRM"]
API --> APP2["ERP"]
API --> APP3["Warehouse"]
API --> APP4["Mobile App"]
API --> APP5["Dashboards"]
API --> APP6["Reports"]
API --> APP7["Automation"]
API --> APP8["Customer Portal"]
APP1 --> VALUE
APP2 --> VALUE
APP3 --> VALUE
APP4 --> VALUE
APP5 --> VALUE
APP6 --> VALUE
APP7 --> VALUE
APP8 --> VALUE
VALUE["🚀 Build Many Applications
From One Unified Business Model"]
style J fill:#b3e5fc,stroke:#0277bd,stroke-width:3px
style API fill:#fff3cd,stroke:#ff9800,stroke-width:2px
style VALUE fill:#c8e6c9,stroke:#2e7d32,stroke-width:3px
style SPACE fill:none,stroke:none
pip install jam.py-v7
jam-project.py
server.py
For Windows users with no Python installed and Demo preview, please find jampy_windows_x86_64.zip in releases, unzip and run (or double click):
C:\jampy_windows_x86_64>jampy_windows_x86_64.exe
https://jampy-docs-v7.readthedocs.io/en/latest/llms-full.txt and topics only: https://jampy-docs-v7.readthedocs.io/en/latest/llms.txt
Some short videos about how to setup Jam.py and create applications:
- Creating CRM web database applications from start to finish in 7 minutes with Jam.py framework
- Setting up interface of Jam.py application using Forms Dialogs
Longer video: video with dashboards and complex internal logic.
Live demos on PythonAnywhere:
-
Personal Account Ledger from MS Access template
Below NorthWind app demonstrate Matplotlib, Pandas, NumPy and RFM analysis, which stands for R ecency, F requency, and M onetary value, directly migrated from MS Access template:
Jam.py alternative site:
https://jampyapplicationbuilder.com/
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.
https://github.com/jam-py-v7/jampy-docs-v7-zh-cn
All updated documentation for v7 is online at https://jampy-docs-v7.readthedocs.io/ or https://jam-py-v7.github.io/jampy-docs-v7/
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
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.
Jam.py is licensed under the BSD License.
Andrew Yushev
See also the list of contributors who participated in this project.