Flask App with zcatalyst-sdk

Flask is a popular, lightweight microframework of Python that developers can use to build highly functional applications. It does not use any libraries or tools, but supports a wide range of extensions for a variety of functionalities. Flask comes with a fast and built-in debugger and development server, as well as offers secure cookies, Unicode support and more.

This example illustrates the steps to build a simple Python app with the Flask framework and Catalyst Python SDK. This application will then be bundled and associated with an AppSail service, and deployed to the console.

Note: Catalyst offers a built-in support for the Flask framework through the Catalyst Python SDK. You can create Catalyst serverless functions using this SDK package.
  1. Create a new folder in your local system for the Flask app.

  2. Navigate to the directory from your terminal and execute the following command to install Flask and the Python zcatalyst-sdk:

python3 -m pip install flask -t . python3 -m pip install --pre zcatalyst-sdk -t .
  1. You can now create your python index file and name it app.py or anything of your choice. Add the logic you require in the application’s code. Given below is a sample code for a basic “Hello World” program.
import os from flask import Flask, request app = Flask(__name__) @app.route('/') def hello(): return 'Hello, World!' @app.route('/sdk') def sdk(): try: import zcatalyst_sdk as zcatalyst app = zcatalyst.initialize(req=request) cache_resp = app.cache().segment().put('Key', 'value') return cache_resp, 200 except Exception as e: return 'Got exception: ' + repr(e) if __name__ == '__main__': listen_port = int(os.getenv('X_ZOHO_CATALYST_LISTEN_PORT', 9000)) app.run(host="", port=listen_port)
  1. You can now initialize an AppSail service in the same directory from the CLI or add it in an existing project directory. The app’s source must be your application’s directory. Provide the following value while initializing the app service:

    Stack: Python_3_9

  2. Ensure all the Python application files along with the flask and zcatalyst-sdk modules are present in the build directory you specify during initialization. Catalyst will automatically ZIP your app files during deployment to the remote console.

  3. Deploy the app service to the console.

  4. You can then configure the startup command given below from the console:

python3 -u app.py

You can also configure this in the app-config.json file before deploying.

Access the deployed app service from its endpoint URL.

Last Updated 2023-12-14 16:25:23 +0530 +0530