# FastAPI Init Project ๐
[](https://www.python.org/downloads/)
[](https://fastapi.tiangolo.com/)
[](https://opensource.org/licenses/MIT)
A comprehensive toolkit for kickstarting FastAPI projects with best practices, production-ready configurations, and modern development tools.
- **GitHub:** [rameshkannanyt/fastapi-init](https://github.com/rameshkannanyt/fastapi-init)
- **Maintainer:** rameshkannanyt0078@gmail.com
---
## โจ Features
- ๐๏ธ Project scaffolding with best-practice structure
- ๐ JWT authentication & security
- ๐๏ธ SQLAlchemy ORM & Alembic migrations
- ๐งช Pytest-based test setup
- ๐ณ Docker & Docker Compose support
- ๐ Health checks & onboarding reports
- ๐ CORS & environment validation
- ๐ Structured logging
- ๐ Automatic API documentation
---
## ๐ Quick Start
### Installation
```bash
pip install -e .
```
### Create a New Project
```bash
fastapi-init-project init my-api
# Options:
# --with-database Include database setup
# --with-auth Include JWT authentication
# --with-docker Include Docker & Compose
# --with-tests Include test setup
# Example:
fastapi-init-project init my-api --with-database --with-auth --with-docker --with-tests
```
### CLI Commands
```bash
fastapi-init-project init <project_name> [options] # Scaffold a new project
fastapi-init-project env-check # Check environment for issues
fastapi-init-project onboarding-report # Generate onboarding report
fastapi-init-project setup-database # Set up Alembic migrations
fastapi-init-project docker-setup # Add Docker configuration
```
---
## ๐ Project Structure
```
my-api/
โโโ app/
โ โโโ api/
โ โ โโโ v1/
โ โ โโโ auth_router.py
โ โ โโโ health.py
โ โ โโโ router.py
โ โโโ core/
โ โ โโโ auth.py
โ โ โโโ config.py
โ โ โโโ database.py
โ โ โโโ logging.py
โ โ โโโ middleware.py
โ โโโ models/
โ โ โโโ models.py
โ โโโ schemas/
โ โ โโโ schemas.py
โ โโโ main.py
โโโ tests/
โโโ alembic/
โโโ logs/
โโโ requirements.txt
โโโ Dockerfile
โโโ docker-compose.yml
โโโ .env.example
โโโ README.md
```
---
## ๐งช Testing
```bash
pytest
pytest --cov=app
```
---
## ๐ณ Docker
```bash
docker build -t my-api .
docker run -p 8000:8000 my-api
docker-compose up -d
```
---
## โ๏ธ Configuration
Copy `.env.example` to `.env` and edit as needed:
- `SECRET_KEY`: JWT secret key
- `DATABASE_URL`: Database connection string
- `DEBUG`: Enable debug mode
- `ALLOWED_ORIGINS`: CORS allowed origins
---
## ๐ Documentation
- **Swagger UI:** http://localhost:8000/docs
- **ReDoc:** http://localhost:8000/redoc
- **Health Check:** http://localhost:8000/health
---
## ๐ค Contributing
Contributions are welcome! Please open issues or pull requests on [GitHub](https://github.com/rameshkannanyt/fastapi-init).
---
## ๐ License
MIT License. See [LICENSE](LICENSE) for details.
---
**Made with โค๏ธ for the FastAPI community**
Raw data
{
"_id": null,
"home_page": "https://github.com/rameshkannanyt/fastapi-init",
"name": "fastapi-init-project",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "fastapi, scaffolding, toolkit, web, api, framework, fastapi-init",
"author": "Ramesh Kannan S",
"author_email": "yrameshkannanyt007@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/4f/e2/96a30f52ae37e6189cb5ce8bf76db0987e79424642356230830042ec6301/fastapi_init_project-0.2.2.tar.gz",
"platform": null,
"description": "# FastAPI Init Project \ud83d\ude80\r\n\r\n[](https://www.python.org/downloads/)\r\n[](https://fastapi.tiangolo.com/)\r\n[](https://opensource.org/licenses/MIT)\r\n\r\nA comprehensive toolkit for kickstarting FastAPI projects with best practices, production-ready configurations, and modern development tools.\r\n\r\n- **GitHub:** [rameshkannanyt/fastapi-init](https://github.com/rameshkannanyt/fastapi-init)\r\n- **Maintainer:** rameshkannanyt0078@gmail.com\r\n\r\n---\r\n\r\n## \u2728 Features\r\n\r\n- \ud83c\udfd7\ufe0f Project scaffolding with best-practice structure\r\n- \ud83d\udd10 JWT authentication & security\r\n- \ud83d\uddc4\ufe0f SQLAlchemy ORM & Alembic migrations\r\n- \ud83e\uddea Pytest-based test setup\r\n- \ud83d\udc33 Docker & Docker Compose support\r\n- \ud83d\udcca Health checks & onboarding reports\r\n- \ud83d\udd12 CORS & environment validation\r\n- \ud83d\udcdd Structured logging\r\n- \ud83d\udcda Automatic API documentation\r\n\r\n---\r\n\r\n## \ud83d\ude80 Quick Start\r\n\r\n### Installation\r\n\r\n```bash\r\npip install -e .\r\n```\r\n\r\n### Create a New Project\r\n\r\n```bash\r\nfastapi-init-project init my-api\r\n# Options:\r\n# --with-database Include database setup\r\n# --with-auth Include JWT authentication\r\n# --with-docker Include Docker & Compose\r\n# --with-tests Include test setup\r\n\r\n# Example:\r\nfastapi-init-project init my-api --with-database --with-auth --with-docker --with-tests\r\n```\r\n\r\n### CLI Commands\r\n\r\n```bash\r\nfastapi-init-project init <project_name> [options] # Scaffold a new project\r\nfastapi-init-project env-check # Check environment for issues\r\nfastapi-init-project onboarding-report # Generate onboarding report\r\nfastapi-init-project setup-database # Set up Alembic migrations\r\nfastapi-init-project docker-setup # Add Docker configuration\r\n```\r\n\r\n---\r\n\r\n## \ud83d\udcc1 Project Structure\r\n\r\n```\r\nmy-api/\r\n\u251c\u2500\u2500 app/\r\n\u2502 \u251c\u2500\u2500 api/\r\n\u2502 \u2502 \u2514\u2500\u2500 v1/\r\n\u2502 \u2502 \u251c\u2500\u2500 auth_router.py\r\n\u2502 \u2502 \u251c\u2500\u2500 health.py\r\n\u2502 \u2502 \u2514\u2500\u2500 router.py\r\n\u2502 \u251c\u2500\u2500 core/\r\n\u2502 \u2502 \u251c\u2500\u2500 auth.py\r\n\u2502 \u2502 \u251c\u2500\u2500 config.py\r\n\u2502 \u2502 \u251c\u2500\u2500 database.py\r\n\u2502 \u2502 \u251c\u2500\u2500 logging.py\r\n\u2502 \u2502 \u2514\u2500\u2500 middleware.py\r\n\u2502 \u251c\u2500\u2500 models/\r\n\u2502 \u2502 \u2514\u2500\u2500 models.py\r\n\u2502 \u251c\u2500\u2500 schemas/\r\n\u2502 \u2502 \u2514\u2500\u2500 schemas.py\r\n\u2502 \u2514\u2500\u2500 main.py\r\n\u251c\u2500\u2500 tests/\r\n\u251c\u2500\u2500 alembic/\r\n\u251c\u2500\u2500 logs/\r\n\u251c\u2500\u2500 requirements.txt\r\n\u251c\u2500\u2500 Dockerfile\r\n\u251c\u2500\u2500 docker-compose.yml\r\n\u251c\u2500\u2500 .env.example\r\n\u2514\u2500\u2500 README.md\r\n```\r\n\r\n---\r\n\r\n## \ud83e\uddea Testing\r\n\r\n```bash\r\npytest\r\npytest --cov=app\r\n```\r\n\r\n---\r\n\r\n## \ud83d\udc33 Docker\r\n\r\n```bash\r\ndocker build -t my-api .\r\ndocker run -p 8000:8000 my-api\r\ndocker-compose up -d\r\n```\r\n\r\n---\r\n\r\n## \u2699\ufe0f Configuration\r\n\r\nCopy `.env.example` to `.env` and edit as needed:\r\n- `SECRET_KEY`: JWT secret key\r\n- `DATABASE_URL`: Database connection string\r\n- `DEBUG`: Enable debug mode\r\n- `ALLOWED_ORIGINS`: CORS allowed origins\r\n\r\n---\r\n\r\n## \ud83d\udcda Documentation\r\n\r\n- **Swagger UI:** http://localhost:8000/docs\r\n- **ReDoc:** http://localhost:8000/redoc\r\n- **Health Check:** http://localhost:8000/health\r\n\r\n---\r\n\r\n## \ud83e\udd1d Contributing\r\n\r\nContributions are welcome! Please open issues or pull requests on [GitHub](https://github.com/rameshkannanyt/fastapi-init).\r\n\r\n---\r\n\r\n## \ud83d\udcc4 License\r\n\r\nMIT License. See [LICENSE](LICENSE) for details.\r\n\r\n---\r\n\r\n**Made with \u2764\ufe0f for the FastAPI community**\r\n",
"bugtrack_url": null,
"license": null,
"summary": "A comprehensive toolkit for kickstarting FastAPI projects with best practices.",
"version": "0.2.2",
"project_urls": {
"Bug Reports": "https://github.com/rameshkannanyt/fastapi-init/issues",
"Documentation": "https://github.com/rameshkannanyt/fastapi-init#readme",
"Homepage": "https://github.com/rameshkannanyt/fastapi-init",
"Source": "https://github.com/rameshkannanyt/fastapi-init"
},
"split_keywords": [
"fastapi",
" scaffolding",
" toolkit",
" web",
" api",
" framework",
" fastapi-init"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "ece3ea414d18c1d1ce3be40c80da6c93c092ffa62c85aa6bbf1c6dc17bb7f4db",
"md5": "b15ebc66e4f0783b9711bd5be0a2f04f",
"sha256": "0336c77ada59de7e6360bf8f1b1aa85cd78c1872fccda2c563dc5510f2ec54b6"
},
"downloads": -1,
"filename": "fastapi_init_project-0.2.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "b15ebc66e4f0783b9711bd5be0a2f04f",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 29076,
"upload_time": "2025-07-22T03:52:44",
"upload_time_iso_8601": "2025-07-22T03:52:44.141936Z",
"url": "https://files.pythonhosted.org/packages/ec/e3/ea414d18c1d1ce3be40c80da6c93c092ffa62c85aa6bbf1c6dc17bb7f4db/fastapi_init_project-0.2.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "4fe296a30f52ae37e6189cb5ce8bf76db0987e79424642356230830042ec6301",
"md5": "fa783df03c75f40688cbf14e799213ab",
"sha256": "b0fa944efc92d6e2af162472857314e6a2f12089da30a4870bed0a1bba57581a"
},
"downloads": -1,
"filename": "fastapi_init_project-0.2.2.tar.gz",
"has_sig": false,
"md5_digest": "fa783df03c75f40688cbf14e799213ab",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 25623,
"upload_time": "2025-07-22T03:52:45",
"upload_time_iso_8601": "2025-07-22T03:52:45.582418Z",
"url": "https://files.pythonhosted.org/packages/4f/e2/96a30f52ae37e6189cb5ce8bf76db0987e79424642356230830042ec6301/fastapi_init_project-0.2.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-22 03:52:45",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "rameshkannanyt",
"github_project": "fastapi-init",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"requirements": [
{
"name": "fastapi",
"specs": []
},
{
"name": "uvicorn",
"specs": []
},
{
"name": "jinja2",
"specs": []
},
{
"name": "httpx",
"specs": []
},
{
"name": "pytest",
"specs": []
},
{
"name": "pytest-asyncio",
"specs": []
},
{
"name": "pydantic",
"specs": []
},
{
"name": "sqlalchemy",
"specs": []
},
{
"name": "databases",
"specs": []
},
{
"name": "aiofiles",
"specs": []
},
{
"name": "python-dotenv",
"specs": []
}
],
"lcname": "fastapi-init-project"
}