
.. image:: https://img.shields.io/pypi/v/jam.py.svg
   :target: https://pypi.org/project/jam.py/
   :alt: Package on PyPI

.. image:: https://img.shields.io/pypi/pyversions/jam.py.svg
   :target: https://pypi.python.org/pypi/jam.py
   :alt: Supported Python Versions

.. image:: https://readthedocs.org/projects/jam-py/badge/?version=stable
   :target: http://jam-py.com/docs/
   :alt: Documentation Status

.. image:: https://api.travis-ci.org/platipusica/jam-py.png?branch=master
   :target: http://travis-ci.org/platipusica/jam-py
   :alt: Build Status (Travis CI)



================
Jam.py Application Builder (web framework)
================


From an idea of a web database application to a live website in no time, for free
=================================================================================

Click on the image to see the online demo

.. figure:: demo/static/img/JAMPY_Readme.gif
    :width: 100%
    :align: center
    :alt: Online demo
    :target: https://demo.jam-py.com/


If you are not a professional programmer or an expert in databases, you can use
Jam.py to store, share and analyze your data.
    
Please watch these videos to see how easy it is to create and setup Jam.py
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>`_

If you are a professional, you can use Jam.py to create various tools, dashboards,
as well as large-scale business applications with complex internal logic.
Please watch the
`Jam.py framework applications <https://youtu.be/qkJvGlgoabU>`_  video
to see some applications written in Jam.py.

More demos on PythonAnywhere:

* `SAP Theme Demo <https://jampyapp.pythonanywhere.com/>`_
* `Personal Account Ledger from MS Access template <https://msaccess.pythonanywhere.com/>`_
* `NorthWind Traders from MS Access template (wip) <https://northwind.pythonanywhere.com/>`_
* `The ERP POC Demo with Italian and English translations <https://sem.pythonanywhere.com/>`_
* `Assets/Parts Application (wip, currently Jam V7 Demo) <https://jampy.pythonanywhere.com>`_
* `Machine Learning (wip) <https://mlearning.pythonanywhere.com>`_
* `Auto Parts Sales for Brazilian Market (Portuguese) <https://carparts.pythonanywhere.com>`_
* `Resourcing and Billing Application from MS Access DB (wip) <https://resourcingandbilling.pythonanywhere.com>`_
* `Job Positions tracking App from MS Access DB (wip) <https://positionstracking.pythonanywhere.com>`_
* `Kanban/Tasks Application <https://kanban.pythonanywhere.com>`_
* `Assets Inventory Application (wip) <https://assetinventory.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 <http://getbootstrap.com/2.3.2">`_.

* 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.

Documentation
=============

All documentation is in the "docs" directory and online at
http://jam-py.com/docs/.

Please visit http://jam-py.com/docs/intro/install.html for Python and
framework installation or http://jam-py.com/docs/intro/new_project.html how to create a
new project.

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/

Demo application: http://demo.jam-py.com/



License
=======

Jam.py is licensed under the BSD License.

Author
======

Andrew Yushev

See also the list of `contributors <http://jam-py.com/contributors.html>`_
who participated in this project.



