Changelogs » Apilogicserver

PyUp Safety actively tracks 382,903 Python packages for vulnerabilities and notifies you when to upgrade.

Apilogicserver

04.01.00

We're pleased to announce API Logic Server, version 4.01.00.  Install via [pip](https://pypi.org/project/ApiLogicServer/), or docker (as described in the [readme](https://github.com/valhuber/ApiLogicServer/blob/main/README.md)).
  
  Admin App - PythonAnywhere
  
  You can explore the Admin app [on this site](http://apilogicserver.pythonanywhere.com/admin-app/index.html) with no install.
  
  
  Admin App - info properties
  
  This release adds support for `info` properties on attributes, list pages, and show pages.  The Customer / Order pages on PythonAnywhere (above) provide examples.
  
  Key doc pages
  These doc pages contain key information:
  - The Admin App has a [Tour, here](https://github.com/valhuber/ApiLogicServer/wiki/Admin-Tour)
  - We have introduced an [Architecture page](https://github.com/valhuber/ApiLogicServer/wiki/Architecture)
  - We have expanded the [Logic Page](https://github.com/valhuber/ApiLogicServer/wiki/Logic:-Rules-plus-Python)
  - Technical details are now found in the [Guide](https://github.com/valhuber/ApiLogicServer/wiki)

04.00.12

We're pleased to announce API Logic Server, version 4.00.12.  Install via [pip](https://pypi.org/project/ApiLogicServer/), or docker (as described in the [readme](https://github.com/valhuber/ApiLogicServer/blob/main/README.md)).
  
  
  Introducing the Admin App
  
  This is a major release, introducing the **react admin app:**
  
  - Try it now - it is [deployed on PythonAnywhere](http://apilogicserver.pythonanywhere.com/admin-app/index.html)
  - It is a multi-page, multi-table react app for searching, browsing and updating your data
  - It also provides access to you API via oas/Swagger
  - It's created directly from your schema
  - It is the default browser target when you launch the server
  - It is customizable via a simple yaml file
  - No piles of complicated JavaScript/HTML to learn or alter)
  
  Significant Doc Upgrades
  We have also made some important doc revisions:
  - The Admin App has a [Tour, here](https://github.com/valhuber/ApiLogicServer/wiki/Admin-Tour)
  - We have introduced an [Architecture page](https://github.com/valhuber/ApiLogicServer/wiki/Architecture)
  - We have expanded the [Logic Page](https://github.com/valhuber/ApiLogicServer/wiki/Logic:-Rules-plus-Python)
  - Technical details are now found in the [Guide](https://github.com/valhuber/ApiLogicServer/wiki)

3.50.00

Available on both pip and docker, release 3.50.00 provides the following features and improvements.
  
  New `rebuild` commands
  
  You can now [rebuild](https://github.com/valhuber/ApiLogicServer/wiki#rebuilding) projects when the underlying database or data model has been changed, and preserve the customizations you have made.
  
  
  Model-driven creation
  
  Aspects of creation were in the past driven by the schema.  They are now driven by `models.py`.  This adapts to changes you make to `models.py` for better naming, and for creating relationships not present in the schema.
  
  
  Improved relationship support
  
  Better support for relationships includes:
  
  * multiple relationships between tables (e.g., Department / Employee)
  * multi-field relationships (e.g., Order / Location)
  
  Here is a [data model diagram for NW Plus}(https://github.com/valhuber/ApiLogicServer/wiki/Sample-Database#nw-plus).
  
  Improved information on logic
  
  The [logic page](https://github.com/valhuber/ApiLogicServer/wiki/Logic:-Rules-plus-Python) has been improved with more information on the design philosophy behind rules.

3.40.01

This release (Docker and PyPI) changes default port assignments to avoid collisions, such as oft-used 8080, or the new Apple MacOS that uses port 5000.
  
  Port changes affect [how to run docker](https://github.com/valhuber/ApiLogicServer/blob/main/README.md), and [Flask App Builder](https://github.com/valhuber/ApiLogicServer/wiki/Working-with-Flask-AppBuilder#starting-flask-appbuilder).
  
  For more information, see How to [Run the ApiLogicServer](https://github.com/valhuber/ApiLogicServer/wiki/ApiLogicServer-Guide#how-to-run-the-api-logic-server).

03.20.11

Minor internal release:
  
  *   Readme in created project now contains Tutorial
  *   Future support for yaml app model creation - stay tuned.

03.20.07

This release introduces 2 changes to simplify VS Code usage:
  
  *   a clone-able project, and
  *   elimination of the `dev-network` requirements.
  
  Clone-able project
  
  As explained in [Working with IDEs](https://github.com/valhuber/ApiLogicServer/wiki/Working-with-IDEs#load-docker-based-projects-starting-from-vs-code), an alternative project creation option is based on cloning the [ApiLogicServer/working\_software\_now](https://github.com/ApiLogicServer/working_software_now.git) repository.  This alternative avoids a long docker run command, and enables the entire procedure to be performed from within VS Code.
  
  Eliminate `dev-network` requirement
  
  Prior to this release, projects were created with a `.devcontainer` to include this network.  This would fail if users forgot to `docker create  network.` This network was required only for the testing examples, so was an unnecessary burden that created errors.
  
  It has been removed from the `.devcontainer` in created projects, in [ApiLogicServer/working\_software\_now](https://github.com/ApiLogicServer/working_software_now.git), and the documentation.
  
  Users are encouraged to pull the latest:
  
  
  docker pull apilogicserver/api_logic_server

03.20.03

This release (docker and pip) includes:

03.20.02

This release (docker and pip) includes:

03.20.00

This release (docker and pip) includes:

3.10.16

Re-release of 3.1.15, with fix for [bad VSCode launch configuration](https://github.com/valhuber/ApiLogicServer/issues/22)
  
  To clarify that projects are mainly model files and the code is in the ApiLogicServer, this release:
  
  alters the run command to (just) run an existing project
  introduces create-and-run for the obvious purpose
  
  See the [readme](https://github.com/valhuber/ApiLogicServer/blob/main/README.md) for more information.

03.10.15

To clarify that projects are mainly model files and the code is in the ApiLogicServer, this release:
  * alters the `run` command to (just) run an existing project
  * introduces `create-and-run` for the obvious purpose
  
  See the [readme](https://github.com/valhuber/ApiLogicServer/blob/main/README.md) for more information.

3.01.10

1.  [Enhanced Docker support](https://github.com/valhuber/ApiLogicServer/wiki/Working-with-Docker).  [`pip`](https://pypi.org/project/ApiLogicServer/) support is still provided.
  
  *   You may find these [internal docker procedures](https://github.com/valhuber/ApiLogicServer/wiki/Working-with-Docker) to be useful
  
  1.  [Improved IDE support](https://github.com/valhuber/ApiLogicServer/blob/main/README.md#3-customize), with pre-built configurations for `launch` and `container execution`
  2.  [Testing](https://github.com/valhuber/ApiLogicServer/wiki/Testing) provides several docker databases
  3.  This release also includes improved `PythonPath` (e.g. you can rename projects), and better / more concise logging
  4.  Logging is clearer and more concise

03.01.10


        

3.00.10

1.  [Enhanced Docker support](https://github.com/valhuber/ApiLogicServer/wiki/Working-with-Docker), including a dockerized database example.  [`pip`](https://pypi.org/project/ApiLogicServer/) support is still provided.
  2.  [Improved IDE support](https://github.com/valhuber/ApiLogicServer/wiki/Working-with-IDEs), with pre-built configurations for `launch` and `container execution`
  3.  This release also includes improved `PythonPath` (e.g. you can rename projects), and better / more concise logging

03.00.10


        

03.00.00

[Docker support](https://github.com/valhuber/ApiLogicServer/wiki/Working-with-Docker) supports not only ApiLogicServer execution in a deployment-friendly container, it also provides IDE support to eliminate the need to install and configure Python.
  
  This release also includes improved `PythonPath` and better / more concise logging.

2.12.0

- Improved CLI Interface
  - More commands, less verbose
  - Defaulting of project_name and db_url
  - New command to run basic web app (`run-ui` - example below)
  - ApiLogicServer saves the name of the last-created project (example below)
  
  So, you can do this:
  
  ApiLogicServer                get info, see commands
  
  ApiLogicServer create    accept / override defaults
  APiLogicServer run         runs just-created project
  ApiLogicServer run-ui    runs the web-app in the just-created project

02.0010

Improved model error recovery - varieties in database data types can sometimes make model creation or loading fail.  This release provides additional diagnostics, and a recovery process.  See [TroubleShooting](https://github.com/valhuber/ApiLogicServer/wiki/Troubleshooting#manual-model-repair).
  
  Fix sql/server char type (issues  [13](https://github.com/valhuber/ApiLogicServer/issues/13)).

2.3.6

This release creates React-Admin client applications.  This capability is for technology exploration -- it is _not_ ready for general use.  For more information, see [this project](https://github.com/meera/apilogicserver-react-admin-genned#readme).
  
  The creation logic has been substantially restructured to support this new capability, with a good deal of code cleanup.
  
  This release includes a fix for [Incorrect (relative) db\_url in config file](https://github.com/valhuber/ApiLogicServer/issues/17)

02.03.04

This release creates React-Admin client applications.  This capability is for technology exploration -- it is _not_ ready for general use.  For more information, see [this project](https://github.com/meera/apilogicserver-react-admin-genned#readme).
  
  The creation logic has been substantially restructured to support this new capability, with a good deal of code cleanup.

02.02.29

This release now uses [safrs 2.11.5](https://github.com/thomaxxl/safrs/releases/tag/2.11.5), available on [pip](https://pypi.org/project/ApiLogicServer/).
  
  It also provides help args when starting the created api server or web app, which document server and port options.
  
  It also rolls up some previous minor fixes:
  
  05/27/2021 - 02.02.28: Flask AppBuilder 3.3.0
  05/26/2021 - 02.02.27: Clearer logicbank multi-table chain log - show attribute names
  05/23/2021 - 02.02.19: TVF multi-row fix; ApiLogicServer Summary - Console Startup Banner
  05/21/2021 - 02.02.17: SAFRS Patch Error Fix, model gen for Posting w/o autoIncr, Startup Tests

02.02.17

This release now uses safrs 2.11.4, which resolves these Issues:
  * 15: *Improper Error Reporting After Patch*
  * 16: *POST fail for tables without autoIncrement keys*
  
  The startup procedure also provides [useful API examples](https://github.com/valhuber/ApiLogicServer/wiki/Tutorial#sample-project-diagnostics) for the sample project, and a helpful banner:
  <img width="1400" alt="console-word-wrap" src="https://user-images.githubusercontent.com/5579631/119159738-64e47600-ba0c-11eb-9b96-3e458924859f.png">
  
  > Note: your console log is probably messy, due to word wrap. The logic log is a critical debug feature, so it's worth addressing this. You can copy the log into a text editor that can turn off word wrap, or use IDEs (such as PyCharm) that do this automatically. Mac/Unix users can use `tput rmam`  to reset: tput smam, which is how the the screen shot above was created.

02.02.08

This release enables you to [Customize Server Startup](https://github.com/valhuber/ApiLogicServer/wiki/Tutorial#customize-server-startup).  This is used in the Northwind sample for diagnostics, and to provide *explore further* information.
  
  The sample [server_startup_test.py](https://github.com/valhuber/ApiLogicServer/blob/main/api_logic_server_cli/nw_server_startup_test.py) also contains some useful examples of API invocation.

2.1.1

See \[SAFRS 2.1.2\](https://github.com/thomaxxl/safrs/releases/tag/2.12.0)
  
  Improved CLI
  
  Includes:
  - More commands, less verbose
  - Defaulting of project\_name and db\_url
  - New command to run basic web app (\`run-ui\` - example below)
  - ApiLogicServer saves the name of the last-created project (example below)
  
  So, you can do this:
  \`\`\`
  ApiLogicServer                get info, see commands
  
  ApiLogicServer create    accept / override defaults
  APiLogicServer run         runs just-created project
  ApiLogicServer run-ui    runs the web-app in the just-created project
  \`\`\`
  
  Bug Fix
  
  This release also fixes a bug wherein the [run command failed initially in VS Code](https://github.com/valhuber/ApiLogicServer/issues/25).
  
  Remove Startup Tests
  
  VS Code testing revealed that default breakpoints were hit during during startup tests - these included error tests, so activated breakpoints.  This is not a friendly out-of-box experience, so the startup tests were removed.  You can run the same tests in the tests folder (sample project only).
  
  CORS
  
  Is now enabled by default.

02.01.00

This release introduces 2 significant new features.
  
  Extended Builders
  [Extended Builder support](https://github.com/valhuber/ApiLogicServer/wiki/Extended-Builder) so you can extend the project creation process, for example to create services for proprietary database features such as Sql/Server Table Value Functions.  This support includes
  * CLI extensions to invoke your Extended Builder, per CLI arguments
  * A sample Extended Builder.  This is in an experimental state.
  
  Improved SAFRS support for services
  In previous releases, SAFRS required a backing table for custom services.  This release provides an option to create services without a backing table.  See the [Add Order Service Example](https://github.com/valhuber/ApiLogicServer/wiki/Tutorial#services-add-order).

02.00.14

This release includes support for [pythonanywhere](https://github.com/valhuber/ApiLogicServer/wiki/PythonAnywhere), by providing a port option, and wsgi creation:
  
  
  ApiLogicServer create --host=ApiLogicServer.pythonanywhere.com --port=

02.00.06

Introduces CLI info that clarifies how projects are created, and doc locations - see attached cli.run.png.
  
  Important: we are seeing certificate errors - see [Troubleshooting](https://github.com/valhuber/ApiLogicServer/wiki/Troubleshooting#certificate-failures)

02.00.05

We now include SQL/Server tests in this release.
  
  In testing Northwind, we encountered [issues with spaces in view names](https://github.com/valhuber/ApiLogicServer/wiki/Testing#northwind---sqlserver--docker) - they are now allowed.
  
  This release also includes useful log information when starting the server, to underscore that ApiLogicServer run creates a _customizable project_ - the log shows its location so you can open it with your IDE.  Similarly, the log shows the URL to initiate OpenApi/Swagger:
  
  
  *** Customizable ApiLogicServer project created -- open it in your IDE at /Users/val/dev/servers/sqlserver
  *** Server now running -- explore with OpenAPI (Swagger) at http://localhost:5000/

02.00.00

This release has a number of new features:
  
  Preserve Customizations Over Iterations
  This release enables you to [preserve customizations](https://github.com/valhuber/ApiLogicServer/wiki/ApiLogicServer-Guide#customizing-apilogicserver-projects) if/when you recreate the project from an altered schema.  You can:
  
  * Extend the model - add relationships, derived attributes
  
  * [Extend the API](https://github.com/valhuber/ApiLogicServer/wiki/Tutorial#services-add-order) - add services such as add order
  
  sqlite DBs are copied to database directory
  These databases are copied into the database directory, so that you can zip a self-contained project.
  
  Flask Create-Admin shell script creation
  For Mac/Unix users, a shell scripts automates creating admin data to your schema, to simplify [Working with Flask AppBuilder](https://github.com/valhuber/ApiLogicServer/wiki/Working-with-Flask-AppBuilder).

01.04.08

[Services support](https://github.com/valhuber/ApiLogicServer/wiki/Tutorial#services-add-order) has been added to illustrate processing business objects (e.g., an `Order` and a list of `OrderDetails`, including swagger generation and re-use of existing logic.  We've also simplified the startup logic in `api_logic_server_run.py`.

01.04.07

Tutorial much more clear about dev process impact.
  
  Incorporate LogicBank Fix - 0.9.4 - bad Warning: Missing Parent message

01.04.06

There is now a Tutorial, with 2 options to run:
  
  1. [Cloud](https://github.com/valhuber/ApiLogicServerTutorial#readme) - no install, using JupyterLab / MyBinder
  
  2. [Locally installed version](https://github.com/valhuber/ApiLogicServer/wiki/Tutorial) - enables browser options

01.03.01

Default sample (Northwind) creates and runs, api and app.
  
  Tested for MySQL Sakaila and Chinook - creates and runs, api and app.