Skip to content

nanotaboada/python-samples-fastapi-restful

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🧪 RESTful API with Python 3 and FastAPI

Status

Python CI Quality Gate Status Codacy Badge codecov CodeFactor codebeat badge Code style: black

About

Proof of Concept for a RESTful API made with Python 3 and FastAPI.

Structure

Simplified, conceptual project structure and main application flow

Figure: Simplified, conceptual project structure and main application flow. Not all dependencies are shown.

Install

pip install -r requirements.txt
pip install -r requirements-lint.txt
pip install -r requirements-test.txt

Start

uvicorn main:app --reload --port 9000

Docs

http://localhost:9000/docs

API Documentation

Container

Docker Compose

This setup uses Docker Compose to build and run the app and manage a persistent SQLite database stored in a Docker volume.

Build the image

docker compose build

Start the app

docker compose up

On first run, the container copies a pre-seeded SQLite database into a persistent volume On subsequent runs, that volume is reused and the data is preserved

Stop the app

docker compose down

Optional: database reset

docker compose down -v

This removes the volume and will reinitialize the database from the built-in seed file the next time you up.

Credits

The solution has been coded using Visual Studio Code with the official Python extension.

Terms

All trademarks, registered trademarks, service marks, product names, company names, or logos mentioned on this repository are the property of their respective owners. All usage of such terms herein is for identification purposes only and constitutes neither an endorsement nor a recommendation of those items. Furthermore, the use of such terms is intended to be for educational and informational purposes only.

Packages

 
 
 

Contributors 3

  •  
  •  
  • Â