aster.cloud aster.cloud
  • /
  • Platforms
    • Public Cloud
    • On-Premise
    • Hybrid Cloud
    • Data
  • Architecture
    • Design
    • Solutions
    • Enterprise
  • Engineering
    • Automation
    • Software Engineering
    • Project Management
    • DevOps
  • Programming
  • Tools
  • About
aster.cloud aster.cloud
  • /
  • Platforms
    • Public Cloud
    • On-Premise
    • Hybrid Cloud
    • Data
  • Architecture
    • Design
    • Solutions
    • Enterprise
  • Engineering
    • Automation
    • Software Engineering
    • Project Management
    • DevOps
  • Programming
  • Tools
  • About
  • DevOps
  • Programming

How To: Create A Flask / API Project In Windows

  • root
  • May 24, 2019
  • 1 minute read

Prerequisites

  • Operating System: Windows 7 and above
  • Python 3.7 or greater installed
  • Python Pip is installed
  • Python Virtual Environment is installed (Optional)

 

Structure Overview

|__ geek_flask_api

  |__ api

    |__ res

      |__ __init__.py

      |__ application_res.py

    |__ __init__.py

  |__ app_wsgi.py

  |__ runserver.py

  |__ requirements.txt

  |__ README.md

 

Steps

01. Create the necessary directories and files.

|__ geek_flask_api

  |__ api

    |__ res

      |__ __init__.py

      |__ application_res.py

    |__ __init__.py

  |__ app_wsgi.py

  |__ runserver.py

  |__ requirements.txt

  |__ README.md

 

02. Update the necessary Python library/packages by setting the value of the geek_flask_api\requirements.txt

flask

 

03. (Optional but recommended). Create a virtual environment dedicated to the Flask/API project.

For instructions on how to install and configure virtual environment. Check this post.

$ cd ~

$ cd geek_flask_api

$ virtualenv geek-python-venv

The directory structure should look something like below

 

04. Activate the Virtual Environment.

# Need to execute this beforehand to enable to run activate shell script

$ Set-ExecutionPolicy Unrestricted -Force

$ .\geek-python-venv\Scripts\activate.ps1

Notice that the command prompt has changed to include virtual environment

 

05. Install the flask library via Pip using the requirements.txt

(geek-python-venv) $ pip install -r .\requirements.txt

 

06. Update the content of geek_flask_api\runserver.py using the editor of your choice and set the content as follows

# -*- coding: utf-8 -*-

# Start Flask with default web server

from api import application

application.run(host='127.0.0.1', port=8888, debug=True)

 

07.Update the dunder geek_flask_api\api\__init__.py python file. This imports the res python module, the endpoints will be located at the application_res or other res (Resource) python file.

from flask import Flask

application = Flask(__name__)

import api.res.application_res

 

08. Update the geek_flask_api\api\res\application_res.py

# -*- coding: utf-8 -*-

from flask import jsonify

from api import application

@application.route('/', methods=['GET'])

def get_app_properties():

  name = 'geek-flask-api'
  version = '0.0.1'

  app_properties = \
  {
    'name' : name
    , 'version' : version
  }

  return jsonify(app_properties)

Above will create a GET endpoint accessible by the root path, (/).

Read More  Open Source Is Life

 

09. Run the application

(geek-python-venv) $ python runsever.py

It should show something similar

 

Note that running the application via this way (runserver.py) should only be used on local development. If needed to deploy on a Web Application server, a middleware or WSGI server should be used instead.

 

10. Test the application on the browser.

http://localhost:8888

root

Related Topics
  • Flask
  • How To
  • Python
You May Also Like
View Post
  • DevOps
  • Engineering

Verify POST Endpoint Availability With Uptime Checks

  • March 24, 2023
View Post
  • Automation
  • Programming

Learn Expect By Writing And Automating A Simple Game

  • March 14, 2023
View Post
  • Automation
  • Computing
  • DevOps

The Good And Bad Of ‘Zero-Touch’ Cloud Operations

  • February 23, 2023
View Post
  • DevOps
  • Software Engineering
  • Tools

Are Your CICD And DevOps Tools Really Helping Developers?

  • February 22, 2023
SQL
View Post
  • Data
  • Programming

Infrastructure from Code: the New Wave of Cloud Infrastructure Management

  • February 16, 2023
View Post
  • DevOps

How Multicloud Changes DevOps

  • February 15, 2023
View Post
  • Programming

Go 1.20 Is Released!

  • February 13, 2023
View Post
  • Computing
  • Programming

Tiny Snippets Of Code That Changed The World

  • January 23, 2023

Stay Connected!
LATEST
  • 1
    How AI Can Improve Digital Security
    • March 27, 2023
  • 2
    Docker’s Bad Week
    • March 27, 2023
  • 3
    My First Pull Request At Age 14
    • March 24, 2023
  • 4
    AWS Chatbot Now Integrated Into Microsoft Teams
    • March 24, 2023
  • 5
    Verify POST Endpoint Availability With Uptime Checks
    • March 24, 2023
  • 6
    Sovereign Clouds Are Becoming A Big Deal Again
    • March 23, 2023
  • 7
    Ditching Google: The 3 Search Engines That Use AI To Give Results That Are Meaningful
    • March 23, 2023
  • 8
    Pythonic Techniques For Handling Sequences
    • March 21, 2023
  • 9
    Oracle Cloud Infrastructure to Increase the Reliability, Efficiency, and Simplicity of Large-Scale Kubernetes Environments at Reduced Costs
    • March 20, 2023
  • 10
    Monitor Kubernetes Cloud Costs With Open Source Tools
    • March 20, 2023
about
Hello World!

We are aster.cloud. We’re created by programmers for programmers.

Our site aims to provide guides, programming tips, reviews, and interesting materials for tech people and those who want to learn in general.

We would like to hear from you.

If you have any feedback, enquiries, or sponsorship request, kindly reach out to us at:

[email protected]
Most Popular
  • 1
    Cloudflare Takes On Online Fraud Detection Market
    • March 15, 2023
  • 2
    Linux Foundation Training & Certification & Cloud Native Computing Foundation Partner With Corise To Prepare 50,000 Professionals For The Certified Kubernetes Administrator Exam
    • March 16, 2023
  • 3
    Cloudflare Democratizes Post-Quantum Cryptography By Delivering It For Free, By Default
    • March 16, 2023
  • 4
    Daily QR “Scan Scams” Phishing Users On Their Mobile Devices
    • March 16, 2023
  • 5
    Lockheed Martin Launches Commercial Ground Control Software For Satellite Constellations
    • March 14, 2023
  • /
  • Platforms
  • Architecture
  • Engineering
  • Programming
  • Tools
  • About

Input your search keywords and press Enter.