Skip to main content

A CLI tool to scaffold FastAPI and LLM-ready Python project structures.

Project description

fastapi-bootstrapper

A modern CLI tool for instantly scaffolding production-ready FastAPI backend projects—with support for LLM (Large Language Model) integrations like OpenAI, Claude, Mistral, and Gemini.


🚀 Features

  • Interactive CLI wizard: Walks you through naming, location, project type, logging, and requirements.
  • LLM-ready: Instantly add stub integrations for OpenAI, Claude, Mistral, Gemini (auto-includes sample code and dependencies).
  • Custom structure: Sets up all best-practice folders and main files—no backend/ nesting, everything is organized at the top level.
  • Virtual environment: Creates a fresh virtualenv for you.
  • Requirements: Installs your dependencies; warns gracefully if any fail.
  • Logging: Add (or skip) ready-to-use concurrent logging support.
  • Clean code: Files are filled with high-quality Python boilerplate so you can get started right away.

📦 Installation

From PyPI

pip install fastapi-bootstrapper

🛠️ Usage

Run the following in your terminal:

fastapi-bootstrap

The CLI wizard will ask you:

  • Project name (e.g. awesome-backend)

  • Project location (any path; leave blank for current directory)

  • Project type:

    • Normal FastAPI
    • LLM FastAPI
    • Simple FastAPI
  • Enable logging?

  • Extra requirements? (comma separated, e.g. sqlalchemy, asyncpg)

  • You’ll see a summary. Hit Enter to confirm.

After it finishes, your new project will look like this:

myproject/
  app/
    api/
    core/
      config/
      logs/         # only if you selected logging
      services/
        llm/        # only for LLM projects
      integrations/
      db/
    models/
  main.py
  requirements.txt
  README.md
  .gitignore
  venv/

🧑‍💻 Example: Quickstart

fastapi-bootstrap
Enter project name: my-awesome-api
Enter full path where you want to create the project (leave blank for current directory):
Select project type:
1. normal fastapi
2. llm fastapi
3. simple fastapi
Enter option: 2
Enable logging? [y/n]: y
List extra requirements (comma separated, blank for none): sqlalchemy, python-dotenv
--- Summary ---
project_name: my-awesome-api
project_location: /your/path
project_type: llm fastapi
logging: True
requirements: ['sqlalchemy', 'python-dotenv']
Path: /your/path/my-awesome-api
--------------------
Press Enter to confirm and create the project...

🦾 What’s Included

  • Full FastAPI project tree (modular and ready for production)

  • .gitignore, README.md, requirements.txt generated

  • Virtualenv set up at venv/

  • For LLM FastAPI:

    • All code stubs for OpenAI, Claude, Mistral, Gemini in app/core/services/llm/
  • Logging support with rotating file handler (if enabled)

  • Auto-installed dependencies (with failure notice if any package fails)


✍️ Author

Chaithanya K cchaithanya83@gmail.com


🧩 Contributing

PRs and feature requests welcome!


💡 Tips

  • Edit requirements.txt and run source venv/bin/activate (Linux/Mac) or venv\Scripts\activate (Windows) to enter your environment.
  • Run python main.py or uvicorn main:app --reload to start your FastAPI server.
  • For LLM features, add your API keys in an .env file as required.

Happy coding! 🚀

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fastapi_bootstrapper-0.1.1.tar.gz (7.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

fastapi_bootstrapper-0.1.1-py3-none-any.whl (7.8 kB view details)

Uploaded Python 3

File details

Details for the file fastapi_bootstrapper-0.1.1.tar.gz.

File metadata

  • Download URL: fastapi_bootstrapper-0.1.1.tar.gz
  • Upload date:
  • Size: 7.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for fastapi_bootstrapper-0.1.1.tar.gz
Algorithm Hash digest
SHA256 6429cef84d511283e3e5064ff3113e6d50b6fc1a3cd15f22afc182eea407a3dc
MD5 c50f80801a432e688ca52bd4e813cf7e
BLAKE2b-256 7546328b416671f966e63377a7a05e0dd034d3a571fae1198b37a30011bf44a8

See more details on using hashes here.

File details

Details for the file fastapi_bootstrapper-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for fastapi_bootstrapper-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 9d0fab14b51d86c70f0d58a0d9eb7668c2ba89ad84cb796bb0f5e5e977db09e3
MD5 6680559b49f8c6f05d16ec79a423c074
BLAKE2b-256 a03b30c35701a09c69d43c2c2e5b2219ef34d1c00f9aeaa7401a8d79a4393811

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page