dotlah! dotlah!
  • Cities
  • Technology
  • Business
  • Politics
  • Society
  • Science
  • About
Social Links
  • zedreviews.com
  • citi.io
  • aster.cloud
  • liwaiwai.com
  • guzz.co.uk
  • atinatin.com
0 Likes
0 Followers
0 Subscribers
dotlah!
  • Cities
  • Technology
  • Business
  • Politics
  • Society
  • Science
  • About
  • Technology

How To: Create A Flask/API Project In Ubuntu

  • April 6, 2019
Total
0
Shares
0
0
0

Prerequisites

  • Operating System: Ubuntu 16 or Ubuntu 18
  • Python 3.X is installed
  • Python Pip is installed
  • Python Virtual Environment is installed (Optional)

 

Structure Overview

|__ dotlah_flask_api
    |__ api
        |__ res
            |__ __init__.py
            |__ application_res.py
        |__ __init__.py
    |__ app_wsgi.py
    |__ runserver.py
    |__ requirements.txt
    |__ README.md

Replace the dotlah_flask_api directory with the project name of your choice.

Steps

01. Create the necessary directories and files. You can use the following shell script to create it, or manually enter them in the terminal, or create them from another way.

$ cd ~ 
$ nano setup-flask-api.sh 

 

#!/bin/bash
mkdir $1
mkdir -p $1/api/res

touch $1/api/res/__init__.py
touch $1/api/res/application_res.py
touch $1/app_wsgi.py
touch $1/runserver.py
touch $1/requirements.txt
touch $1/README.md

 

02.  Run the setup script.

# FORMAT
$ sh setup-flask-api.sh <project-name-without-space> 

# SAMPLE 
$ sh setup-flask-api.sh dotlah_flask_api 

 

While it is totally safe to create a Project with spaces, it is more of a standard in this case.

 

03. Navigate to the Project directory

# FORMAT 
$ cd <project-name-without-space> 

# SAMPLE 
$ cd dotlah_flask_api 

 

04. Update the necessary Python library/packages by setting the value of the requirements.txt

$ nano requirements.txt 

 

Set the value:

flask 

 

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

For instructions on how to install and configure virtual environment. See this guide.

# FORMAT 

# SAMPLE 
$ cd dotlah_flask_api 
$ python3 -m venv project-venv 

 

06. Activate the Virtual Environment.

$ source project-venv/bin/activate  

 

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

(project-venv) $ pip install -r requirements.txt 

 

08. Update the content of runserver.py.

(project-venv) $ nano runserver.py 

 

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

# Start Flask with default web server
from api import application

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

 

09.  Update the dunder python file.

(project-venv) $ nano api/__init__.py 

 

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 

 

10.  Update the application_res.py.

(project-venv) $ nano 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 = 'dotlah-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, (/).

11. Run the application

(project-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.

 

12. Test the application on the browser or via CURL.

Via Curl (open another terminal session)

$ curl http://localhost:8888

 

Via Browser

http://localhost:8888
Total
0
Shares
Share
Tweet
Share
Share
Related Topics
  • API
  • Flask
  • How To
  • Python
  • Ubuntu
majulah

Previous Article
  • Technology

How To: Configure Python Virtual Environment In Ubuntu

  • April 6, 2019
View Post
Next Article
  • Science

Statistics For Dummies: A Quick Guide On Probability Axioms

  • April 25, 2019
View Post
You May Also Like
oracle-ibm
View Post
  • Artificial Intelligence
  • Technology

IBM and Oracle Expand Partnership to Advance Agentic AI and Hybrid Cloud

  • Dean Marc
  • May 6, 2025
View Post
  • Software
  • Technology

Canonical Releases Ubuntu 25.04 Plucky Puffin

  • Dean Marc
  • April 17, 2025
View Post
  • Artificial Intelligence
  • Technology

Tokyo Electron and IBM Renew Collaboration for Advanced Semiconductor Technology

  • Dean Marc
  • April 2, 2025
View Post
  • Artificial Intelligence
  • Technology

IBM contributes key open-source projects to Linux Foundation to advance AI community participation

  • dotlah.com
  • March 22, 2025
View Post
  • Artificial Intelligence
  • Technology

Mitsubishi Motors Canada Launches AI-Powered “Intelligent Companion” to Transform the 2025 Outlander Buying Experience

  • Dean Marc
  • March 10, 2025
View Post
  • Technology

New Meta for Education Offering is Now Generally Available

  • Dean Marc
  • February 26, 2025
View Post
  • Artificial Intelligence
  • Technology

Deep dive into AI with Google Cloud’s global generative AI roadshow

  • dotlah.com
  • February 18, 2025
View Post
  • Artificial Intelligence
  • Technology

How the UK’s plans for AI could derail net zero – the numbers explained

  • dotlah.com
  • February 9, 2025


Trending
  • 1
    • People
    • Technology
    How Technology Is Transforming Social Work Practice And Formation
    • January 30, 2020
  • 2
    • Cities
    Don’t Feel Like Taking Public Transport? Try These Next-Level Ways To Get Around The City
    • July 14, 2020
  • 3
    • Technology
    Simplifying The Complex: Introducing Privacy Management For Microsoft 365
    • October 27, 2021
  • desktop-g111779ed1_1280 4
    • Features
    • People
    Fostering Workplace Wellness: Thriving In Remote, Home, & Office Environments
    • May 15, 2023
  • 5
    • Cities
    • People
    The Benefits Of Living In A Small Town
    • June 5, 2020
  • 6
    • Business
    • People
    Return To The Office: The Future Of The Workplace
    • January 25, 2023
  • 7
    • Lah!
    Four Evidence-Based Research Studies Confirm Contributions Of Urban Nature To Health And Well-Being
    • March 3, 2022
  • 8
    • Society
    Coronavirus: The Latest Disease To Fuel Mistrust, Fear And Racism
    • February 13, 2020
  • 9
    • Lah!
    • Society
    What Is Essential Is Invisible To The Eye
    • September 17, 2021
  • 10
    • Lah!
    Grab Announces Expansion Of Hawker Centre 2.0 To 16 More Locations
    • September 1, 2020
  • welder-g57ffa0239_1280 11
    • Business
    • Features
    • People
    6 Tips To Help You Stay Safe While Welding
    • February 13, 2022
  • workplace 12
    • Business
    • People
    Simple Tips That Will Help Protect Your Rights In The Office
    • January 13, 2021
Trending
  • college-of-cardinals-2025 1
    The Definitive Who’s Who of the 2025 Papal Conclave
    • May 8, 2025
  • conclave-poster-black-smoke 2
    The World Is Revalidating Itself
    • May 7, 2025
  • oracle-ibm 3
    IBM and Oracle Expand Partnership to Advance Agentic AI and Hybrid Cloud
    • May 6, 2025
  • 4
    Conclave: How A New Pope Is Chosen
    • April 25, 2025
  • 5
    Canonical Releases Ubuntu 25.04 Plucky Puffin
    • April 17, 2025
  • 6
    Mathematicians uncover the logic behind how people walk in crowds
    • April 3, 2025
  • 7
    Tokyo Electron and IBM Renew Collaboration for Advanced Semiconductor Technology
    • April 2, 2025
  • 8
    Tariffs, Trump, and Other Things That Start With T – They’re Not The Problem, It’s How We Use Them
    • March 25, 2025
  • 9
    IBM contributes key open-source projects to Linux Foundation to advance AI community participation
    • March 22, 2025
  • PiPiPi 10
    The Unexpected Pi-Fect Deals This March 14
    • March 14, 2025
Social Links
dotlah! dotlah!
  • Cities
  • Technology
  • Business
  • Politics
  • Society
  • Science
  • About
Connecting Dots Across Asia's Tech and Urban Landscape

Input your search keywords and press Enter.