{"repo":"IbraheemTuffaha/python-fastapi-template","free":true,"listed":false,"github":"https://github.com/IbraheemTuffaha/python-fastapi-template","clone":"git clone https://github.com/IbraheemTuffaha/python-fastapi-template.git","description":"A template for a Python FastAPI service with uv & Devcontainer","language":"Python","stars":51,"topics":["devcontainer","docker","fastapi","github-actions","pre-commit","python","uv"],"license":"MIT","category":"deployment-docker-iac","readme_excerpt":"Python FastAPI Template A template for a Python FastAPI service: - [x] uv for dependency management - [x] FastAPI for building the API - [x] Devcontainer for development environment - [x] Docker for containerization - [x] ruff for code formatting - [x] pre-commit for code quality checks - [x] Github Actions for CI/CD - [x] pytest for testing - [ ] Kamal for deployment (TODO: add Kamal deploy action) Build and run locally Install uv and python3.12 Then install dependencies Run locally Run tests Build and run using Docker Notes - If you face an issue with git ssh access while pushing new changes, run ssh-add $HOME/.ssh/ in terminal outside the devcontainer. - If you face an issue during devcontainer build , make sure the repo is marked as trusted in VSCode. Check Source Control tab in the sidebar to mark the repo safe, then rebuild the devcontainer. Sample CRUD API The /v1 directory contains a sample API router demonstrating basic CRUD operations for users: - Endpoints: Create, Read, Update, Delete users - Router setup: app/v1/routers/base.py and app/v1/routers/users.py - User model: app/v1/models/user.py - User management: app/v1/services/user/user manager.py Use the samples as a starting point for your own API endpoints. View available endpoints at http://localhost:8000/docs .","default_branch":null,"files":null,"tree":[],"storefront":"/r/IbraheemTuffaha","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/IbraheemTuffaha/python-fastapi-template/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}