Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/wpcodevo/python_fastapi
This article will teach you how to create a CRUD RESTful API with Python, FastAPI, SQLAlchemy ORM, Pydantic, Alembic, PostgreSQL, and Docker-compose to perform the basic Create/Read/Update/Delete operations against a database.
https://github.com/wpcodevo/python_fastapi
fastapi fastapi-crud fastapi-sqlalchemy postgresql pydantic pydantic-models python rest-api restful restful-api sqlalchemy sqlalchemy-orm sqlalchemy-python uvicorn
Last synced: 27 days ago
JSON representation
This article will teach you how to create a CRUD RESTful API with Python, FastAPI, SQLAlchemy ORM, Pydantic, Alembic, PostgreSQL, and Docker-compose to perform the basic Create/Read/Update/Delete operations against a database.
- Host: GitHub
- URL: https://github.com/wpcodevo/python_fastapi
- Owner: wpcodevo
- Created: 2022-07-06T21:50:47.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2022-12-22T17:15:05.000Z (about 2 years ago)
- Last Synced: 2024-05-15T15:32:45.664Z (7 months ago)
- Topics: fastapi, fastapi-crud, fastapi-sqlalchemy, postgresql, pydantic, pydantic-models, python, rest-api, restful, restful-api, sqlalchemy, sqlalchemy-orm, sqlalchemy-python, uvicorn
- Language: Python
- Homepage: https://codevoweb.com/crud-restful-api-server-with-python-fastapi-and-postgresql
- Size: 36.1 KB
- Stars: 65
- Watchers: 2
- Forks: 23
- Open Issues: 1
-
Metadata Files:
- Readme: readMe.md
Awesome Lists containing this project
README
# RESTful API with Python, FastAPI, Pydantic, SQLAlchemy and Docker
## 1. RESTful API with Python,SQLAlchemy, & FastAPI: Access and Refresh Tokens
In this article, you'll learn how to secure a FastAPI app by implementing access and refresh token functionalities using JSON Web Tokens (JWTs). We'll use the FastAPI JWT Auth package to sign, encode and decode the access and refresh JWT tokens.
![RESTful API with Python,SQLAlchemy, & FastAPI: Access and Refresh Tokens](https://codevoweb.com/wp-content/uploads/2022/07/RESTful-API-with-Python-FastAPI-Access-and-Refresh-Tokens.webp)
### Topics Covered
- Python FastAPI JWT Authentication Overview
- How to Setup FastAPI with PostgreSQL
- Setup FastAPI
- Initialize a Simple FastAPI Server
- Setting up Environment Variables in FastAPI
- Connect to the PostgreSQL Docker Container
- Installing the UUID OSSP PostgreSQL Extension
- Create Database Models with SQLAlchemy in FastAPI
- Creating Schemas with Pydantic in FastAPI
- Password Management with Bcrypt
- Configure the FastAPI JWT Auth Extension
- Creating the Authentication Controllers
- User Registration Controller
- User Sign-in Controller
- Refresh Access Token Controller
- Logout User Controller
- How to add Protected Routes
- Create a User Controller
- Adding the Routes to FastAPI Middleware Pipeline
- Database Migration with Alembic
- Testing the FastAPI JSON Web Token APIRead the entire article here: [https://codevoweb.com/restful-api-with-python-fastapi-access-and-refresh-tokens](https://codevoweb.com/restful-api-with-python-fastapi-access-and-refresh-tokens)
## 2. RESTful API with Python, SQLAlchemy, & FastAPI: Send HTML Emails
In this article, you'll learn how to send HTML emails with Python, FastAPI, SQLAlchemy, PostgreSQL, Jinja2, and Docker-compose. Also, you'll learn how to dynamically generate HTML templates with the Jinja2 package.
![RESTful API with Python, SQLAlchemy, & FastAPI: Send HTML Emails](https://codevoweb.com/wp-content/uploads/2022/07/RESTful-API-with-Python-FastAPI-Send-HTML-Emails.webp)
### Topics Covered
- Send HTML Email with jinja2 and FastAPI Overview
- Creating an SMTP Provider Account
- Validating the Environment Variables with Pydantic
- Create a Database Model with Sqlalchemy
- Creating the HTML Email Templates with Jinja2
- Set up SMTP Email Sender
- How to Send the HTML Email
- Update the SignUp Path Operation Function
- Create a Controller to Verify the CodeRead the entire article here: [https://codevoweb.com/restful-api-with-python-fastapi-send-html-emails](https://codevoweb.com/restful-api-with-python-fastapi-send-html-emails)
## 3. CRUD RESTful API Server with Python, SQLAlchemy, FastAPI, and PostgreSQL
This article will teach you how to create a CRUD RESTful API with Python, FastAPI, SQLAlchemy ORM, Pydantic, Alembic, PostgreSQL, and Docker-compose to perform the basic Create/Read/Update/Delete operations against a database.
![CRUD RESTful API Server with Python, SQLAlchemy, FastAPI, and PostgreSQL](https://codevoweb.com/wp-content/uploads/2022/07/CRUD-RESTful-API-Server-with-Python-FastAPI-and-PostgreSQL.webp)
### Topics Covered
- Python, FastAPI, PostgreSQL, SQLAlchemy CRUD API Overview
- Setting up FastAPI and PostgreSQL
- Building the FastAPI Server
- Starting the FastAPI Server
- Setting up Environment Variables in FastAPI
- Connecting to the PostgreSQL Server
- Installing the UUID OSSP PostgreSQL Plugin
- How to Create Database Models with SQLAlchemy
- Creating Validation Schemas with Pydantic
- Creating the FastAPI Route Handlers
- Fetch All Posts Handler
- Create New Post Handler
- Update Post Handler
- Get a Single Post Handler
- Remove Post Handler
- Add the Routes to the FastAPI Middleware StackRead the entire article here: [https://codevoweb.com/crud-restful-api-server-with-python-fastapi-and-postgresql](https://codevoweb.com/crud-restful-api-server-with-python-fastapi-and-postgresql)