ApiLogicServer


NameApiLogicServer JSON
Version 12.2.0 PyPI version JSON
download
home_pageNone
SummaryNone
upload_time2024-11-19 03:05:50
maintainerNone
docs_urlNone
authorNone
requires_python>=3.10
licenseBSD-3-Clause
keywords flask sqlalchemy rules webapp microservice reactadmin angular
VCS
bugtrack_url
requirements safrs PyJWT python-dateutil logicbankutils LogicBank inflect inflection python-dotenv email-validator cryptography rsa PyMySQL oracledb requests gunicorn psycopg2-binary DotMap behave alembic python-ulid psutil pandas openpyxl confluent-kafka faker Flask-Login Flask-JWT-Extended flask_bcrypt SQLAlchemy-Utils WTForms Flask Flask-Cors Flask-RESTful flask-restful-swagger-2 Flask-SQLAlchemy flask-swagger-ui itsdangerous Jinja2 MarkupSafe six SQLAlchemy Werkzeug translate libretranslatepy reportlab xlsxwriter build openai
Travis-CI No Travis.
coveralls test coverage No coveralls.
            [![Downloads](https://pepy.tech/badge/apilogicserver)](https://pepy.tech/project/apilogicserver)
[![Latest Version](https://img.shields.io/pypi/v/apilogicserver.svg)](https://pypi.python.org/pypi/apilogicserver/)
[![Supported Python versions](https://img.shields.io/pypi/pyversions/apilogicserver.svg)](https://pypi.python.org/pypi/apilogicserver/)

 

# TL;DR

Create an executable project (API and Admin App) from a database or natural language prompt with 1 command, customize with declarative rules and Python in your IDE, containerize and deploy.

 

<details markdown>

<summary>Video Overview (4 min)</summary>

&nbsp;

See how **Microservice Automation** creates and runs a microservice - a multi-page app, and an API. 

* Here is a microservice -- api and admin app -- **created / running in 5 seconds**

    * It would be similar for your databases

* Then, customize in your IDE with Python and **Logic Automation:** spreadsheet-like rules

[![GenAI Automation](https://raw.githubusercontent.com/ApiLogicServer/Docs/main/docs/images/sample-ai/copilot/genai-automation-video.png)](https://www.youtube.com/watch?v=LSh7mqGiT0k&t=5s "Microservice Automation")

</details>

&nbsp;

# Quickstart

If you have a supported Python (version 3.10 - 3.12), install is standard, typically:

```bash title="Install API Logic Server in a Virtual Environment"
python3 -m venv venv                 # windows: python -m venv venv
source venv/bin/activate             # windows: venv\Scripts\activate
python -m pip install ApiLogicServer
```

<br>Now, verify it's working - open the Project Manager for instructions (readme), and run the demo:

```bash title="Start Manager"
ApiLogicServer start
```

Find the [user documentation here](https://apilogicserver.github.io/Docs/).  Use this for normal installation, to create and customize API Logic Projects.

To install the ***dev*** version, [see here](https://apilogicserver.github.io/Docs/Architecture-Internals).  This installs the source of API Logic Server, so you can explore or extend it.

&nbsp;

# Welcome to API Logic Server

For Developers and their organizations seeking to **increase business agility,**

API Logic Server provides ***Microservice Automation:*** create executable projects with 1 command:

1. ***API Automation:*** crud for each table, with pagination, optimistic locking, filtering and sorting, and

2. ***App Automation:*** a multi-page, multi-table Admin App.  <br>

**Customize in your IDE:** use standard tools (Python, Flask, SQLAlchemy, GitHub and Docker), plus<br>

3. ***Logic Automation:*** unique **rules - 40X** more concise multi-table derivations and constraints.

Unlike frameworks, weeks-to-months of complex development is no longer necessary.  <br>
API Logic Server provides unique automation **for instant integrations and app backends**.


&nbsp;

For more information, including install procedures, [please see the docs](https://apilogicserver.github.io/Docs/).

&nbsp;

### Making Contributions

This is an open source project.  We are open to suggestions.  Some of our ideas include:

| Component           | Provides         | Consider Adding                                                                |
|:---------------------------|:-----------------|:-------------------------------------------------------------------------------|
| 1. JSON:**API** and Swagger | API Execution    | Serverless, Kubernetes        | 
| 2. Transactional **Logic**   | Rule Enforcement | Recompute Derivations        |
| 3. This project | API Logic Project Creation | General support - see issues |
| 3. GenAI | Web version | Create projects with logic |

&nbsp; 

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "ApiLogicServer",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": null,
    "keywords": "Flask, SQLAlchemy, Rules, WebApp, Microservice, ReactAdmin, Angular",
    "author": null,
    "author_email": "Val Huber <apilogicserver@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/60/2c/06745b24e2836c0692af4ae627a39b2b880bbe0bcd401b4a976b444efdb7/apilogicserver-12.2.0.tar.gz",
    "platform": null,
    "description": "[![Downloads](https://pepy.tech/badge/apilogicserver)](https://pepy.tech/project/apilogicserver)\n[![Latest Version](https://img.shields.io/pypi/v/apilogicserver.svg)](https://pypi.python.org/pypi/apilogicserver/)\n[![Supported Python versions](https://img.shields.io/pypi/pyversions/apilogicserver.svg)](https://pypi.python.org/pypi/apilogicserver/)\n\n&nbsp;\n\n# TL;DR\n\nCreate an executable project (API and Admin App) from a database or natural language prompt with 1 command, customize with declarative rules and Python in your IDE, containerize and deploy.\n\n&nbsp;\n\n<details markdown>\n\n<summary>Video Overview (4 min)</summary>\n\n&nbsp;\n\nSee how **Microservice Automation** creates and runs a microservice - a multi-page app, and an API. \n\n* Here is a microservice -- api and admin app -- **created / running in 5 seconds**\n\n    * It would be similar for your databases\n\n* Then, customize in your IDE with Python and **Logic Automation:** spreadsheet-like rules\n\n[![GenAI Automation](https://raw.githubusercontent.com/ApiLogicServer/Docs/main/docs/images/sample-ai/copilot/genai-automation-video.png)](https://www.youtube.com/watch?v=LSh7mqGiT0k&t=5s \"Microservice Automation\")\n\n</details>\n\n&nbsp;\n\n# Quickstart\n\nIf you have a supported Python (version 3.10 - 3.12), install is standard, typically:\n\n```bash title=\"Install API Logic Server in a Virtual Environment\"\npython3 -m venv venv                 # windows: python -m venv venv\nsource venv/bin/activate             # windows: venv\\Scripts\\activate\npython -m pip install ApiLogicServer\n```\n\n<br>Now, verify it's working - open the Project Manager for instructions (readme), and run the demo:\n\n```bash title=\"Start Manager\"\nApiLogicServer start\n```\n\nFind the [user documentation here](https://apilogicserver.github.io/Docs/).  Use this for normal installation, to create and customize API Logic Projects.\n\nTo install the ***dev*** version, [see here](https://apilogicserver.github.io/Docs/Architecture-Internals).  This installs the source of API Logic Server, so you can explore or extend it.\n\n&nbsp;\n\n# Welcome to API Logic Server\n\nFor Developers and their organizations seeking to **increase business agility,**\n\nAPI Logic Server provides ***Microservice Automation:*** create executable projects with 1 command:\n\n1. ***API Automation:*** crud for each table, with pagination, optimistic locking, filtering and sorting, and\n\n2. ***App Automation:*** a multi-page, multi-table Admin App.  <br>\n\n**Customize in your IDE:** use standard tools (Python, Flask, SQLAlchemy, GitHub and Docker), plus<br>\n\n3. ***Logic Automation:*** unique **rules - 40X** more concise multi-table derivations and constraints.\n\nUnlike frameworks, weeks-to-months of complex development is no longer necessary.  <br>\nAPI Logic Server provides unique automation **for instant integrations and app backends**.\n\n\n&nbsp;\n\nFor more information, including install procedures, [please see the docs](https://apilogicserver.github.io/Docs/).\n\n&nbsp;\n\n### Making Contributions\n\nThis is an open source project.  We are open to suggestions.  Some of our ideas include:\n\n| Component           | Provides         | Consider Adding                                                                |\n|:---------------------------|:-----------------|:-------------------------------------------------------------------------------|\n| 1. JSON:**API** and Swagger | API Execution    | Serverless, Kubernetes        | \n| 2. Transactional **Logic**   | Rule Enforcement | Recompute Derivations        |\n| 3. This project | API Logic Project Creation | General support - see issues |\n| 3. GenAI | Web version | Create projects with logic |\n\n&nbsp; \n",
    "bugtrack_url": null,
    "license": "BSD-3-Clause",
    "summary": null,
    "version": "12.2.0",
    "project_urls": {
        "Homepage": "https://apilogicserver.github.io/Docs/",
        "Issues": "https://github.com/ApiLogicServer/ApiLogicServer-src/issues",
        "Source": "https://github.com/ApiLogicServer/ApiLogicServer-src"
    },
    "split_keywords": [
        "flask",
        " sqlalchemy",
        " rules",
        " webapp",
        " microservice",
        " reactadmin",
        " angular"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a50990f7bf59d4e71965749c964facc5cff3373fd18a80f86bdad47dbf58e20c",
                "md5": "87d0ba4a13a182a935710b32ccdc5d0e",
                "sha256": "0e919093a538f226d3dd138800a5a68e2ea358f227487a2c30b086251cc2d3ed"
            },
            "downloads": -1,
            "filename": "ApiLogicServer-12.2.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "87d0ba4a13a182a935710b32ccdc5d0e",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 32755288,
            "upload_time": "2024-11-19T03:05:39",
            "upload_time_iso_8601": "2024-11-19T03:05:39.804576Z",
            "url": "https://files.pythonhosted.org/packages/a5/09/90f7bf59d4e71965749c964facc5cff3373fd18a80f86bdad47dbf58e20c/ApiLogicServer-12.2.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "602c06745b24e2836c0692af4ae627a39b2b880bbe0bcd401b4a976b444efdb7",
                "md5": "9ee5b99c92f806357f942f881b4f4763",
                "sha256": "4b1f71c6275faa8cb6630de4ce78b1b8a249448ab266a1385c41bbbebff56400"
            },
            "downloads": -1,
            "filename": "apilogicserver-12.2.0.tar.gz",
            "has_sig": false,
            "md5_digest": "9ee5b99c92f806357f942f881b4f4763",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 32007387,
            "upload_time": "2024-11-19T03:05:50",
            "upload_time_iso_8601": "2024-11-19T03:05:50.858869Z",
            "url": "https://files.pythonhosted.org/packages/60/2c/06745b24e2836c0692af4ae627a39b2b880bbe0bcd401b4a976b444efdb7/apilogicserver-12.2.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-11-19 03:05:50",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "ApiLogicServer",
    "github_project": "ApiLogicServer-src",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "requirements": [
        {
            "name": "safrs",
            "specs": [
                [
                    ">=",
                    "3.1.4"
                ]
            ]
        },
        {
            "name": "PyJWT",
            "specs": [
                [
                    "==",
                    "2.6.0"
                ]
            ]
        },
        {
            "name": "python-dateutil",
            "specs": [
                [
                    "==",
                    "2.8.2"
                ]
            ]
        },
        {
            "name": "logicbankutils",
            "specs": [
                [
                    "==",
                    "0.6.0"
                ]
            ]
        },
        {
            "name": "LogicBank",
            "specs": [
                [
                    "==",
                    "1.20.8"
                ]
            ]
        },
        {
            "name": "inflect",
            "specs": [
                [
                    "==",
                    "5.0.2"
                ]
            ]
        },
        {
            "name": "inflection",
            "specs": [
                [
                    "==",
                    "0.5.1"
                ]
            ]
        },
        {
            "name": "python-dotenv",
            "specs": [
                [
                    "==",
                    "0.15.0"
                ]
            ]
        },
        {
            "name": "email-validator",
            "specs": [
                [
                    "==",
                    "1.1.1"
                ]
            ]
        },
        {
            "name": "cryptography",
            "specs": [
                [
                    "==",
                    "36.0.1"
                ]
            ]
        },
        {
            "name": "rsa",
            "specs": []
        },
        {
            "name": "PyMySQL",
            "specs": [
                [
                    "==",
                    "1.0.3"
                ]
            ]
        },
        {
            "name": "oracledb",
            "specs": [
                [
                    "==",
                    "2.1.2"
                ]
            ]
        },
        {
            "name": "requests",
            "specs": [
                [
                    "==",
                    "2.31.0"
                ]
            ]
        },
        {
            "name": "gunicorn",
            "specs": [
                [
                    "==",
                    "20.1.0"
                ]
            ]
        },
        {
            "name": "psycopg2-binary",
            "specs": [
                [
                    "==",
                    "2.9.9"
                ]
            ]
        },
        {
            "name": "DotMap",
            "specs": [
                [
                    "==",
                    "1.3.25"
                ]
            ]
        },
        {
            "name": "behave",
            "specs": [
                [
                    "==",
                    "1.2.6"
                ]
            ]
        },
        {
            "name": "alembic",
            "specs": [
                [
                    "==",
                    "1.7.7"
                ]
            ]
        },
        {
            "name": "python-ulid",
            "specs": [
                [
                    "==",
                    "2.7.0"
                ]
            ]
        },
        {
            "name": "psutil",
            "specs": [
                [
                    "==",
                    "6.0.0"
                ]
            ]
        },
        {
            "name": "pandas",
            "specs": [
                [
                    "==",
                    "2.2.2"
                ]
            ]
        },
        {
            "name": "openpyxl",
            "specs": [
                [
                    "==",
                    "3.1.5"
                ]
            ]
        },
        {
            "name": "confluent-kafka",
            "specs": [
                [
                    "==",
                    "2.3.0"
                ]
            ]
        },
        {
            "name": "faker",
            "specs": [
                [
                    "==",
                    "30.4.0"
                ]
            ]
        },
        {
            "name": "Flask-Login",
            "specs": [
                [
                    "==",
                    "0.6.2"
                ]
            ]
        },
        {
            "name": "Flask-JWT-Extended",
            "specs": [
                [
                    "==",
                    "4.4.4"
                ]
            ]
        },
        {
            "name": "flask_bcrypt",
            "specs": [
                [
                    "==",
                    "1.0.1"
                ]
            ]
        },
        {
            "name": "SQLAlchemy-Utils",
            "specs": [
                [
                    "==",
                    "0.38.2"
                ]
            ]
        },
        {
            "name": "WTForms",
            "specs": [
                [
                    "==",
                    "2.3.3"
                ]
            ]
        },
        {
            "name": "Flask",
            "specs": [
                [
                    "==",
                    "2.3.2"
                ]
            ]
        },
        {
            "name": "Flask-Cors",
            "specs": [
                [
                    "==",
                    "3.0.10"
                ]
            ]
        },
        {
            "name": "Flask-RESTful",
            "specs": [
                [
                    ">=",
                    "0.3.9"
                ]
            ]
        },
        {
            "name": "flask-restful-swagger-2",
            "specs": [
                [
                    ">=",
                    "0.35"
                ]
            ]
        },
        {
            "name": "Flask-SQLAlchemy",
            "specs": [
                [
                    "==",
                    "3.0.3"
                ]
            ]
        },
        {
            "name": "flask-swagger-ui",
            "specs": [
                [
                    ">=",
                    "4.11.1"
                ]
            ]
        },
        {
            "name": "itsdangerous",
            "specs": [
                [
                    "==",
                    "2.1.2"
                ]
            ]
        },
        {
            "name": "Jinja2",
            "specs": [
                [
                    "==",
                    "3.1.2"
                ]
            ]
        },
        {
            "name": "MarkupSafe",
            "specs": [
                [
                    "==",
                    "2.1.3"
                ]
            ]
        },
        {
            "name": "six",
            "specs": [
                [
                    "==",
                    "1.16.0"
                ]
            ]
        },
        {
            "name": "SQLAlchemy",
            "specs": [
                [
                    "==",
                    "2.0.15"
                ]
            ]
        },
        {
            "name": "Werkzeug",
            "specs": [
                [
                    "==",
                    "2.3.3"
                ]
            ]
        },
        {
            "name": "translate",
            "specs": [
                [
                    "==",
                    "3.6.1"
                ]
            ]
        },
        {
            "name": "libretranslatepy",
            "specs": [
                [
                    "==",
                    "2.1.1"
                ]
            ]
        },
        {
            "name": "reportlab",
            "specs": [
                [
                    "==",
                    "4.2.0"
                ]
            ]
        },
        {
            "name": "xlsxwriter",
            "specs": [
                [
                    "==",
                    "3.2.0"
                ]
            ]
        },
        {
            "name": "build",
            "specs": []
        },
        {
            "name": "openai",
            "specs": [
                [
                    "==",
                    "1.52.1"
                ]
            ]
        }
    ],
    "lcname": "apilogicserver"
}
        
Elapsed time: 0.45754s