FastAPI-Backend-ML-Service GitHub Details, Stars and Alternatives | OpenRepoFinder
TebogoYungMercykay / repository
FastAPI-Backend-ML-Service
FastAPI API Development Booth: A comprehensive repository showcasing best practices and examples for building robust and efficient API using FastAPI in Python.
A transparent discovery signal based on current public GitHub metadata.
Recent activity35% weight
30
Community adoption25% weight
12
Maintenance state20% weight
100
License clarity10% weight
100
Project information10% weight
100
This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.
README preview
PYTHON FASTAPI DEVELOPMENT
Welcome to the FastAPI Python API Development project repository. This comprehensive repository demonstrates modern best practices for building robust, high-performance, and efficient APIs using FastAPI in Python. It incorporates various technologies, including unit testing, continuous integration/deployment (CI/CD) with Docker and Heroku, database migration tools (Alembic), authentication with JWT tokens, virtual environment management, relational databases (Postgres), Uvicorn ASGI web server, and example routes showcasing different features. Recommendation: Sanjeev Thiyagarajan - Python FastAPI Full Course.
TECHNOLOGIES USED
FastAPI: A modern, fast (high-performance), web framework for building APIs with Python 3.7+ based on standard Python type hints.
Unit Testing: Demonstrates the importance of testing through unit tests for different components of the API.
CI/CD (Docker, Heroku): Implements continuous integration and deployment using Docker for containerization and Heroku for cloud hosting.
Repository for API development in Python using FastAPI, PostgreSQL, SQLAlchemy, Alembic, Docker, and Pytest. It also includes deployment using Cloud Ubuntu VMs and Heroku and building CI/CD pipelines using GitHub Actions.
docker/: Running the FastAPI Project in a Docker Containerized Environment.
tests/: This directory houses unit tests for the FastAPI application, providing a robust testing suite to ensure the functionality and reliability of the codebase.
requirements.txt: File listing project dependencies for easy installation.
README.md: General documentation providing an overview of the project and instructions for setup and deployment.
DATABASE TABLES DESIGN & RELATIONSHIPS
REQUIREMENTS: Quick Setup/Guidelines for Running the Python API
# Place the (.env) File in Root Directory
DATABASE_HOSTNAME='DATABASE_HOSTNAME'
DATABASE_PORT='DATABASE_PORT'
DATABASE_PASSWORD='DATABASE_PASSWORD'
DATABASE_NAME='DATABASE_NAME'
DATABASE_USERNAME='DATABASE_USERNAME'
SECRET_KEY='SECRET_KEY'
ALGORITHM='ALGORITHM'
ACCESS_TOKEN_EXPIRE_MINUTES='ACCESS_TOKEN_EXPIRE_MINUTES'
FINALLY WE GETTING STARTED WITH THE BEST PART
Clone the Repository:
git clone https://github.com/TebogoYungMercykay/Python_API_Development_Booth_FASTAPI.git
cd yourproject
Install Dependencies:
pip install -r requirements.txt
# Alternatively use the script to avoid some installation errors
bash requirements_script.sh
./requirements_script.sh
# If you encounter a permission error, you may need to make the script executable. You can do this with the following command:
chmod +x requirements_script.sh
./requirements_script.sh
Feel free to explore the various directories and components to understand different aspects of FastAPI development. The provided diagrams offer visual insights into the system architecture and database structure. The reverse proxy configurations in the proxy/ directory enhance deployment flexibility.
MIT - LICENSE AGREEMENT
Copyright (c) 2023 Selepe Sello
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
This repository contains coursework for the Python API Development course by Sanjeev Thiyagarjan. It covers building APIs with FastAPI, PostgreSQL, SQLAlchemy ORM, authentication (JWT, OAuth2), database migrations with Alembic, deployment on Heroku & Ubuntu, Dockerization, automated testing with Pytest, and CI/CD setup with GitHub Actions.