Skip to content

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

11 stars

Watchers

1 watching

Forks

Releases

No releases published

Contributors