[![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>
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>
# 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.
# 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**.
For more information, including install procedures, [please see the docs](https://apilogicserver.github.io/Docs/).
### 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 |
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 \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 \n\n<details markdown>\n\n<summary>Video Overview (4 min)</summary>\n\n \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 \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 \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 \n\nFor more information, including install procedures, [please see the docs](https://apilogicserver.github.io/Docs/).\n\n \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 \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"
}