Metadata-Version: 2.4
Name: jam.py-v7
Version: 7.0.110
Summary: Jam.py Application Builder is an event-driven framework         for the development of web database applications.
Home-page: https://github.com/jam-py-v5/jam-py-v7
Author: Andrew Yushev
Author-email: yushevaa@gmail.com
License: BSD
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Environment :: Web Environment
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: JavaScript
Classifier: Topic :: Internet :: WWW/HTTP
Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Database
Classifier: Topic :: Database :: Front-Ends
Requires-Python: >= 3.7
Description-Content-Type: text/markdown
License-File: LICENSE
License-File: AUTHORS
Requires-Dist: Werkzeug>=3.1.8
Requires-Dist: sqlalchemy
Requires-Dist: esprima
Requires-Dist: pyjsparser
Requires-Dist: jsmin
Requires-Dist: sqlparse
Requires-Dist: standard-imghdr
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: license
Dynamic: license-file
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary


[![Package on PyPI](https://img.shields.io/pypi/v/jam.py-v7.svg)](https://pypi.org/project/jam.py-v7) ![Supported Python versions](https://img.shields.io/pypi/pyversions/python3-saml.svg) [![Documentation Status](https://readthedocs.org/projects/jampy-docs-v7/badge/)](https://jampy-docs-v7.readthedocs.io) [![Downloads](https://static.pepy.tech/badge/jam.py-v7)](http://pepy.tech/project/jam.py-v7)


## With Jam.py, build business software - not technology stacks.

Jam.py lets a single developer build an entire [business](https://northwind.pythonanywhere.com/) application 
without having a complex web technology stack. It does that due to:

1. A full developer framework, not only a low-code tool. 
2. Deployment model is simple. Suitable even for Windows or offline / air-gapped networks.
3. Modern application layer suitable to modernize existing systems without rebuilding everything.
4. Runs accross desktop browsers and mobile devices while keeping a single application codebase.

```mermaid
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
```

## Installation and Launch
```
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
```

## The LLMS-full.txt: 
https://jampy-docs-v7.readthedocs.io/en/latest/llms-full.txt 
and topics only:
https://jampy-docs-v7.readthedocs.io/en/latest/llms.txt


[![alt text](https://github.com/jam-py-v5/jam-py-v7/blob/develop/assets/images/JAMPY_Readme.gif?raw=true)](https://northwind.pythonanywhere.com)

Builder animation:
[![alt text](https://github.com/jam-py-v5/jam-py-v7/blob/develop/assets/images/builder_animation.gif?raw=true)](https://northwind.pythonanywhere.com)

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](https://youtu.be/vY6FTdpABa4)
* [Setting up interface of Jam.py application using Forms Dialogs](https://youtu.be/hvNZ0-a_HHw)


Longer video:
[video](https://youtu.be/qkJvGlgoabU)  with dashboards and complex internal logic.

Live demos on PythonAnywhere:

- [Personal Account Ledger from MS Access template](https://msaccess.pythonanywhere.com)

  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:
  
- [NorthWind Traders from MS Access template V7 (wip)](https://northwind.pythonanywhere.com/)

- [Kanban/Tasks Application, V7](https://kanban.pythonanywhere.com)
- [Google Authentication, V7](https://ipam2.pythonanywhere.com)

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](https://www.python.org),
the client utilizes [JavaScript](https://developer.mozilla.org/en/docs/Web/JavaScript),
[jQuery](https://jquery.com) and [Bootstrap](https://getbootstrap.com/docs/5.0/).

* 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](https://www.libreoffice.org) templates.

* Charts. You can use free [jsCharts](http://www.jscharts.com) 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.


## Chinese Demo:
https://github.com/jam-py-v7/jampy-docs-v7-zh-cn


## Documentation


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

## 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](https://github.com/sponsors/platipusica) to show your support.


## License

Jam.py is licensed under the BSD License.

## Original Author

Andrew Yushev

See also the list of [contributors](http://jam-py.com/contributors.html)
who participated in this project.

## Maintainers

[crnikaurin](https://github.com/crnikaurin), [platipusica](https://github.com/platipusica)

