معرفی شرکت ها


ApiLogicServer-6.2.0


Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر

توضیحات

Create JSON:API and Web App from database, with LogicBank -- 40X more concise, Python for extensibility.
ویژگی مقدار
سیستم عامل OS Independent
نام فایل ApiLogicServer-6.2.0
نام ApiLogicServer
نسخه کتابخانه 6.2.0
نگهدارنده []
ایمیل نگهدارنده []
نویسنده Val Huber
ایمیل نویسنده valjhuber@gmail.com
آدرس صفحه اصلی https://github.com/valhuber/ApiLogicServer
آدرس اینترنتی https://pypi.org/project/ApiLogicServer/
مجوز BSD
--- title: --- [![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/) [![API Logic Server Intro](https://github.com/valhuber/apilogicserver/wiki/images/hero-banner.png?raw=true)](https://valhuber.github.io/ApiLogicServer/ "Single command creates executable, customizable projects") &nbsp; --- Find the [documentation here](https://valhuber.github.io/ApiLogicServer/). &nbsp; # Welcome to API Logic Server API Logic Server creates __customizable database web app projects:__ * __Creation is Instant:__ create projects with a single command * __Projects are Highly Functional:__ * __API:__ an endpoint for each table, with filtering, sorting, pagination and related data access * __Admin UI:__ multi-page / multi-table apps, with page navigations and automatic joins * __Projects are Customizable, using _your IDE_:__ such as VSCode, PyCharm, etc, for familiar edit/debug services * __Business Logic Automation:__ using unique rules, extensible with Python &nbsp; # Background A brief look at why we built it, and what it is.<br><br> ### Motivation - not instant, propietary IDE, no logic automation We looked at approaches for building database systems: * __Frameworks:__ Frameworks like Flask or Django enable you to build a single endpoint or _Hello World_ page, but a __multi-endpoint__ API and __multi-page__ application would take __weeks__ or more. * __Low Code Tools:__ these are great for building great UIs, but * Want a multi-page app -- __no screen painting__ * Want to __preserve dev tools__ - VSCode, PyCharm, git, etc * Need an answer for __backend logic__ (it's nearly half the effort)<br><br> ### Our Approach: Instant, Customizable, Logic Automation API Logic Server is an open source Python project, consisting of: * a set of runtimes (SAFRS API, Flask, SQLAlchemy ORM, rule engine) for project execution, plus * a CLI (Command Language Interface) to create executable projects, which can be customized in an IDE such as VSCode or PyCharm It runs as a standard pip install, or under Docker. After installation, you use the CLI create a project like this: ``` ApiLogicServer create --project_name=ApiLogicProject db_url= ``` > API Logic Server reads your schema, and creates an executable, customizable project providing the features listed below. Check it out - __zero install__ - [here, in Codespaces](https://github.com/ApiLogicServer/ApiLogicProject#readme). &nbsp; # Feature Summary | | Feature | Providing | Why it Matters | :-------|:-----------|:------------|:-----------------| | __Instant__ | 1. [**Admin App**](Admin-Tour) | Instant **multi-page, multi-table** app [(running here on PythonAnywhere)](http://apilogicserver.pythonanywhere.com/admin-app/index.html#/Home) | Engage Business Users<br>Back-office Admin | | | 2. [JSON:**API** and Swagger](API) | Endpoint for each table, with... <br>Filtering, pagination, related data | Unblock custom App Dev<br>Application Integration | | | 3. Data Model Class Creation | Classes for Python-friendly ORM | Custom Data Access<br>Used by API | | __Customizable__ | 4. [**Customizable Project**](Project-Structure) | Custom Endpoints, Logic <br>Use Python and your IDE |Customize and run <br>Re-creation *not* required | | __Unique Logic__ | 5. [Spreadsheet-like Business Rules](Logic-Rules-plus-Python) &nbsp; :trophy: | **40X more concise** - compare [legacy code](https://github.com/valhuber/LogicBank/wiki/by-code) | Unique backend automation <br> ... nearly half the system | | | Extensible with Python | Familiar Event Model | Eg., Send messages, email | | Testing | 6. [Behave **Test Framework**](Behave) | Test Suite Automation<br/>Behave Logic Report<br/>Drive Automation with Agile | Optimize Automation to get it fast<br/>Agile Collaboration to get it right | &nbsp; # Instant -- Single Command Use the CLI to create the sample API and Admin App project, with a single command. &nbsp; ### Create With Docker Execute the following commands (Windows, use Powershell): ```bash title="Run API Logic Server in Docker" # Start the API Logic Server docker container docker run -it --name api_logic_server --rm -p 5656:5656 -p 5002:5002 -v ${PWD}:/localhost apilogicserver/api_logic_server ApiLogicServer create-and-run --project_name=/localhost/ApiLogicProject --db_url= ``` &nbsp; ### Or, Create With Local Install Presuming Python 3.7+ [is installed](Install), it's typically: ```bash title="Run API Logic Server from a local pip install" python -m venv venv # may require python3 -m venv venv source venv/bin/activate # windows venv\Scripts\activate venv\Scripts\activate # mac/linux: source venv/bin/activate python -m pip install ApiLogicServer ApiLogicServer create # create, or create-and-run; accept defaults ``` &nbsp; ## Execute Your system is running - explore the data and api at [localhost:5656](http://localhost:5656). Using the defaults provided above, you have started the [Tutorial](Tutorial/), the recommended quick start for API Logic Server. &nbsp; # Customize in IDE VSCode and PyCharm users can customize and run/debug within their IDE with [these steps](IDE-Execute). Created projects include Launch and Docker configurations. <figure><img src="https://github.com/valhuber/apilogicserver/wiki/images/generated-project.png?raw=true"></figure> [Rebuild services](https://valhuber.github.io/ApiLogicServer/Project-Rebuild/) are provided to accomodate changes to database structure or ORM classes. &nbsp; # Overview Video Project creation is based on database schema introspection as shown below: identify a database, and the ```ApiLogicServer create``` commands creates an executable, customomizable project. Click for a video tutorial, showing complete project creation, execution, customization and debugging. [![Using VS Code](https://github.com/valhuber/apilogicserver/wiki/images/creates-and-runs-video.png?raw=true?raw=true)](https://youtu.be/tOojjEAct4M "Using VS Code with the ApiLogicServer container") &nbsp; # Getting Started ### Quick Evaluation - _no install_ You can avoid install hassles by exploring the [Sample Project in Codespaces](https://github.com/ApiLogicServer/ApiLogicProject#readme). This will enable you to use VSCode - _in your Browser, zero install_ - to: * see the created project * use the Tutorial to run, customize and debug it We think you'll find Codespaces pretty amazing - check it out! ### Local Install API Logic Server is designed to make it easy to get started: * **Install and run Tutorial** - [install](https://valhuber.github.io/ApiLogicServer/Install-Express/), and explore the [tutorial](https://valhuber.github.io/ApiLogicServer/Tutorial/). You'll create a complete project using the pre-installed sample database, explore its features, and support for customization and debugging. * **Dockerized Test Databases** - then, you might like to try out some of our [dockerized test databases](https://valhuber.github.io/ApiLogicServer/Database-Connectivity/). * **Your Database** - finally, try your own database. &nbsp; # Project Information ### Tutorials There are a number of facilities that will quickly enable you to get familiar with API Logic Server: * [Tutorial](Tutorial) walks you through the steps of creating a server * [Video](https://www.youtube.com/watch?v=gVTdu6c0iSI) shows the steps of creating a server &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](#jsonapi---related-data-filtering-sorting-pagination-swagger) | API Execution | Security, Serverless, Kubernetes | | 2. [Transactional **Logic**](#logic) | Rule Enforcement | New rule types | | 3. This project | API Logic Project Creation | Support for features described above | To get started, please see the [Architecture.](Internals) &nbsp; ### Status We have tested several databases - see [status here.](Database-Connectivity) We are tracking [issues in git](https://github.com/valhuber/ApiLogicServer/issues). We have introduced several renames to clarify operation. These do not affect existing projects. However, we've not updated all the docs to reflect these changes: * `logic/declare_logic.py` replaces `logic_bank.py` * `api/customize_api.py` replaces `expose_services.py` * `database/customize_models.py` replaces `models_ext.py` &nbsp; ### Acknowledgements Many thanks to - [Thomas Pollet](https://www.linkedin.com/in/pollet/), for SAFRS, SAFRS-react-admin, and invaluable design partnership - [Marelab](https://marmelab.com/en/), for [react-admin](https://marmelab.com/react-admin/) - Armin Ronacher, for Flask - Mike Bayer, for SQLAlchemy - Alex Grönholm, for Sqlacodegen - [Meera Datey](https://www.linkedin.com/in/meeradatey/), for React Admin prototyping - Denny McKinney, for Tutorial review - Achim Götz, for design collaboration and testing - Max Tardiveau, for testing and help with Docker - Michael Holleran, for design collaboration and testing - Nishanth Shyamsundar, for review and testing - Thomas Peters, for review and testing - Daniel Gaspar, for Flask AppBuilder - Gloria Huber and Denny McKinney, for doc review &nbsp; ### Articles There are a few articles that provide some orientation to API Logic Server: * [How Automation Activates Agile](https://modeling-languages.com/logic-model-automation/) * [How Automation Activates Agile](https://dzone.com/articles/automation-activates-agile) - providing working software rapidly drives agile collaboration to define systems that meet actual needs, reducing requirements risk * [How to create application systems in moments](https://dzone.com/articles/create-customizable-database-app-systems-with-1-command) * [Stop coding database backends…Declare them with one command.](https://medium.com/@valjhuber/stop-coding-database-backends-declare-them-with-one-command-938cbd877f6d) * [Instant Database Backends](https://dzone.com/articles/instant-api-backends) * [Extensible Rules](https://dzone.com/articles/logic-bank-now-extensible-drive-95-automation-even) - defining new rule types, using Python * [Declarative](https://dzone.com/articles/agile-design-automation-how-are-rules-different-fr) - exploring _multi-statement_ declarative technology * [Automate Business Logic With Logic Bank](https://dzone.com/articles/automate-business-logic-with-logic-bank) - general introduction, discussions of extensibility, manageability and scalability * [Agile Design Automation With Logic Bank](https://dzone.com/articles/logical-data-indendence) - focuses on automation, design flexibility and agile iterations * [Instant Web Apps](https://dzone.com/articles/instant-db-web-apps) [^1]: See the [FAQ for Low Code](FAQ-Low-Code) ### Change Log 10/02/2022 - 06.02.00: Option infer_primary_key, Oct1 SRA (issue 49), cleanup db/api setup, restore postgres dvr 09/15/2022 - 06.01.00: Multi-app Projects 08/28/2022 - 06.00.00: Admin App show_when, cascade add. Simplify Codespaces swagger url & use default config 08/15/2022 - 05.03.33: Remove Postgres driver from local install, Fix ApiLogicServer run fails (Issue 45) 06/27/2022 - 05.03.06: nw-, with perform_customizations docker 06/22/2022 - 05.03.00: Docker support to load/run project (env or sh), create ApiLogicProject image 06/16/2022 - 05.02.23: Support nw- (sample, no customization) for evaluation 06/12/2022 - 05.02.22: No pyodbc by default, model customizations simplified, better logging 05/30/2022 - 05.02.16: Python 3.10, Dockerfile include, start info 05/25/2022 - 05.02.12: Verified for Python 3.10, improved support for configuring `venv` 05/04/2022 - 05.02.03: alembic for database migrations, admin-merge.yaml 04/24/2022 - 05.01.01: copy_children, with support for nesting (children and grandchildren, etc.) 03/27/2022 - 05.00.06: Introducing [Behave test framework](https://valhuber.github.io/ApiLogicServer/Logic-Tutorial/), LogicBank bugfix 02/18/2022 - 04.02.03: SqlServer fixes, rebuild creates '-created' versions for data model repair 01/18/2022 - 04.01.01: fix [startup failure](https://github.com/valhuber/ApiLogicServer/issues/32) on created app (windows pip-install version only) 01/14/2022 - 04.01.00: add info_disp/show, attribute info, performance, date fix 12/26/2021 - 04.00.05: Introducing the Admin app, with Readme Tutorial 11/13/2021 - 03.50.00: rebuild-from-database/model, improved relationship support 11/04/2021 - 03.40.01: Per macOS Monterey, default ports to 5001, 5002 10/18/2021 - 03.20.11: Readme Tutorial for IDE users 10/16/2021 - 03.20.07: dev-network no longer required (see Releases) 10/03/2021 - 03.10.17: default db_url 10/02/2021 - 03.01.16: bugfix improper run arg for VSCode launch configuration 09/29/2021 - 03.01.15: run (now just runs without create), added create-and-run 09/25/2021 - 03.01.10: enable run command for Docker execution, pyodbc, fab create-by-copy 09/15/2021 - 03.00.09: auto-create .devcontainer for vscode, configure network, python & debug 09/10/2021 - 03.00.02: rename logic_bank to declare_logic, improved logging


نیازمندی

مقدار نام
==1.7.1 PyJWT
==2.8.2 python-dateutil
==1.16.0 six
==1.4.29 SQLAlchemy
==0.38.2 SQLAlchemy-Utils
==2.0.3 Werkzeug
==3.4.4 Flask-AppBuilder
==0.6.0 logicbankutils
==5.0.2 inflect
==1.1.0 itsdangerous
==2.11.2 Jinja2
==1.1.1 MarkupSafe
==1.2.6 behave
>=2.12.2 safrs
==1.5.7 Flask-Admin
==3.0.0 Flask-Cors
==1.1.2 Flask
==0.15.0 python-dotenv
==20.1.0 gunicorn
==1.1.1 email-validator
>=1.07.01 LogicBank
==1.0.2 PyMySQL
==36.0.1 cryptography
==2.27.1 requests
==1.3.25 dotmap
==2.9.3 psycopg2-binary
==2.3.3 WTForms
==1.7.7 alembic
==0.12.5 GeoAlchemy2


زبان مورد نیاز

مقدار نام
~=3.8 Python


نحوه نصب


نصب پکیج whl ApiLogicServer-6.2.0:

    pip install ApiLogicServer-6.2.0.whl


نصب پکیج tar.gz ApiLogicServer-6.2.0:

    pip install ApiLogicServer-6.2.0.tar.gz