Skip to content

FastAPI Scaffold is a CLI tool to quickly generate FastAPI project structures with optional features like authentication, database integration, machine learning model setup, and Docker support.

License

Notifications You must be signed in to change notification settings

devroopsaha744/fastapi-scaffold

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

fastapi-scaffold

PyPI Version Python Version License

fastapi-scaffold is a CLI tool that generates a scalable FastAPI project template with advanced features including authentication, machine learning endpoints, background tasks, caching, rate limiting, and more.

Installation

Install the CLI tool via pip:

pip install fastapi-scaffold

Usage

Create a New FastAPI Project

To create a new project, run:

fastapi-scaffold create my_project

This command generates a new project with optional features:

  • --ml → Includes machine learning endpoints and model setup.
  • --db → Adds database configuration and ORM setup.
  • --auth → Includes authentication endpoints.
  • --docker → Generates Dockerfile and docker-compose.yml for container support.

Example:

fastapi-scaffold create my_project --ml --db --auth --docker

Install Project Dependencies

After generating your project, navigate into the project directory and install dependencies:

fastapi-scaffold install

Alternatively, run:

pip install -r requirements.txt

Delete an Existing Project

To delete a project directory, use:

fastapi-scaffold delete my_project

Project Structure

A generated project will have the following structure:

my_project/
├── app/
│   ├── api/
│   │   ├── __init__.py
│   │   ├── users.py
│   │   ├── items.py
│   │   ├── admin.py
│   │   ├── ml.py
│   │   └── health.py
│   ├── schemas/
│   │   ├── __init__.py
│   │   ├── user.py
│   │   ├── item.py
│   │   ├── ml.py
│   │   └── stats.py
│   ├── models/
│   │   ├── __init__.py
│   │   ├── user.py
│   │   ├── item.py
│   │   └── ml_model.pkl
│   ├── crud/
│   │   ├── __init__.py
│   │   ├── user.py
│   │   ├── item.py
│   │   └── stats.py
│   ├── services/
│   │   ├── __init__.py
│   │   ├── auth.py
│   │   ├── tasks.py
│   │   └── ml.py
│   ├── utils/
│   │   ├── __init__.py
│   │   ├── dependencies.py
│   │   ├── cache.py
│   │   └── rate_limit.py
│   ├── middleware.py
│   ├── database.py
│   ├── auth.py
│   ├── logger.py
│   ├── config.py
│   └── main.py
├── tests/
│   ├── test_main.py
│   └── test_users.py
├── .env
├── requirements.txt
├── Dockerfile
├── docker-compose.yml
└── README.md

Running the Project

  1. Navigate to the project directory:
    cd my_project
  2. Install dependencies:
    pip install -r requirements.txt
  3. Start the FastAPI server:
    uvicorn app.main:app --reload

The API will be available at http://127.0.0.1:8000.

Contributing

Contributions are welcome! Please open an issue or submit a pull request for any improvements or bug fixes.

License

This project is licensed under the MIT License. See the LICENSE file for details.

About

FastAPI Scaffold is a CLI tool to quickly generate FastAPI project structures with optional features like authentication, database integration, machine learning model setup, and Docker support.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published