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
View Post
  • Gears
  • Technology

Apple Vision Pro upgraded with the powerful M5 chip and comfortable Dual Knit Band

  • Dean Marc
  • October 15, 2025
View Post
  • Gears
  • Technology

Meet Samsung Galaxy Tab S11 Series: Packing Everything You Expect From a Premium Tablet

  • Dean Marc
  • September 4, 2025
View Post
  • Technology

Malaysia’s ‘ASEAN Shenzhen’ needs some significant legal reform to take off — here’s how

  • dotlah.com
  • August 25, 2025
View Post
  • Gears
  • Technology

Samsung Electronics Debuts Odyssey G7 Monitors, Showcasing Top Games on Its Displays at Gamescom 2025

  • Dean Marc
  • August 20, 2025
View Post
  • Artificial Intelligence
  • Technology

Thoughts on America’s AI Action Plan

  • Dean Marc
  • July 24, 2025
View Post
  • Technology

ESWIN Computing launches the EBC77 Series Single Board Computer with Ubuntu

  • dotlah.com
  • July 17, 2025
View Post
  • Gears
  • Technology

Samsung Galaxy Z Fold7: Raising the Bar for Smartphones

  • Dean Marc
  • July 9, 2025
View Post
  • Cities
  • Technology

Meralco PowerGen’s PacificLight starts up 100 MW fast-response plant in Singapore

  • dotlah.com
  • June 20, 2025


Trending
  • 1
    • Features
    • People
    5 Skilled Industrial Trades Needed In The City
    • March 4, 2020
  • Wind power 2
    • Cities
    • Climate Change
    Renewables Now Generate More Of Britain’s Electricity Than Fossil Fuels – But What Happens Next?
    • January 14, 2024
  • 3
    • Cities
    • Lah!
    • Society
    The World’s Most Powerful Passports Of 2020
    • June 23, 2020
  • 4
    • Technology
    National Library Board And Singapore Press Holdings Extend Free Access Of eNewspapers For Library Patrons Beyond Circuit Breaker
    • June 1, 2020
  • extreme-heat-cities-1600 5
    • Cities
    Extreme Heat Affects 2 Billion People Living in Cities
    • October 27, 2021
  • 6
    • Cities
    • Lah!
    • Technology
    Tough Bicycle Helmet Made From Composite Materials Can Better Protect Cyclists
    • July 23, 2021
  • 7
    • Lah!
    5 Places To Hit Up For Singapore Flavours This August!
    • August 27, 2021
  • 8
    • Cities
    Shell City Solutions Collaborates With The Resilient Cities Network
    • June 22, 2021
  • 9
    • Science
    • Technology
    New Quantum Magnet Unleashes Electronics Potential
    • July 27, 2023
  • 10
    • Lah!
    Strengthened Active Mobility Regulations for Better Safety and Connectivity
    • May 28, 2020
  • car-street-london-1932153_1280 11
    • Cities
    Beginner Tips For City Driving
    • February 22, 2021
  • 12
    • People
    • World Events
    What We Know Suggests The Economic Impact Of Wuhan Coronavirus Will Be Limited
    • January 28, 2020
Trending
  • 1
    We must empower local leaders to meet global goals – here’s why
    • November 4, 2025
  • Halloween Deals 2
    31 Spooky Deals for October 31! Halloween Specials!
    • October 31, 2025
  • 2025 Laptop Buyer’s Guide: Best Value and Performance Picks 3
    2025 Laptop Buyer’s Guide: Best Value and Performance Picks
    • October 28, 2025
  • 4
    Why climate summits fail – and three ways to save them
    • October 21, 2025
  • Bluetooth speakers 5
    Best Bluetooth Speakers Under $200 (2025 Edition)
    • October 16, 2025
  • 6
    Apple Vision Pro upgraded with the powerful M5 chip and comfortable Dual Knit Band
    • October 15, 2025
  • 7
    Apple unveils new 14‑inch MacBook Pro powered by the M5 chip, delivering the next big leap in AI for the Mac
    • October 15, 2025
  • 8
    Apple introduces the powerful new iPad Pro with the M5 chip
    • October 15, 2025
  • 9
    Singapore’s national identity excludes those who don’t look like a ‘regular family’
    • October 9, 2025
  • Smart Watch 10
    Best Smartwatches, Your Gateway to Health Monitoring and Everyday Use
    • October 5, 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.