216 lines
4.7 KiB
Markdown
216 lines
4.7 KiB
Markdown
---
|
|
name: python-fastapi-development
|
|
description: "Python FastAPI backend development with async patterns, SQLAlchemy, Pydantic, authentication, and production API patterns."
|
|
category: granular-workflow-bundle
|
|
risk: safe
|
|
source: personal
|
|
date_added: "2026-02-27"
|
|
---
|
|
|
|
# Python/FastAPI Development Workflow
|
|
|
|
## Overview
|
|
|
|
Specialized workflow for building production-ready Python backends with FastAPI, featuring async patterns, SQLAlchemy ORM, Pydantic validation, and comprehensive API patterns.
|
|
|
|
## When to Use This Workflow
|
|
|
|
Use this workflow when:
|
|
- Building new REST APIs with FastAPI
|
|
- Creating async Python backends
|
|
- Implementing database integration with SQLAlchemy
|
|
- Setting up API authentication
|
|
- Developing microservices
|
|
|
|
## Workflow Phases
|
|
|
|
### Phase 1: Project Setup
|
|
|
|
#### Skills to Invoke
|
|
- `app-builder` - Application scaffolding
|
|
- `python-development-python-scaffold` - Python scaffolding
|
|
- `fastapi-templates` - FastAPI templates
|
|
- `uv-package-manager` - Package management
|
|
|
|
#### Actions
|
|
1. Set up Python environment (uv/poetry)
|
|
2. Create project structure
|
|
3. Configure FastAPI app
|
|
4. Set up logging
|
|
5. Configure environment variables
|
|
|
|
#### Copy-Paste Prompts
|
|
```
|
|
Use @fastapi-templates to scaffold a new FastAPI project
|
|
```
|
|
|
|
```
|
|
Use @python-development-python-scaffold to set up Python project structure
|
|
```
|
|
|
|
### Phase 2: Database Setup
|
|
|
|
#### Skills to Invoke
|
|
- `prisma-expert` - Prisma ORM (alternative)
|
|
- `database-design` - Schema design
|
|
- `postgresql` - PostgreSQL setup
|
|
- `pydantic-models-py` - Pydantic models
|
|
|
|
#### Actions
|
|
1. Design database schema
|
|
2. Set up SQLAlchemy models
|
|
3. Create database connection
|
|
4. Configure migrations (Alembic)
|
|
5. Set up session management
|
|
|
|
#### Copy-Paste Prompts
|
|
```
|
|
Use @database-design to design PostgreSQL schema
|
|
```
|
|
|
|
```
|
|
Use @pydantic-models-py to create Pydantic models for API
|
|
```
|
|
|
|
### Phase 3: API Routes
|
|
|
|
#### Skills to Invoke
|
|
- `fastapi-router-py` - FastAPI routers
|
|
- `api-design-principles` - API design
|
|
- `api-patterns` - API patterns
|
|
|
|
#### Actions
|
|
1. Design API endpoints
|
|
2. Create API routers
|
|
3. Implement CRUD operations
|
|
4. Add request validation
|
|
5. Configure response models
|
|
|
|
#### Copy-Paste Prompts
|
|
```
|
|
Use @fastapi-router-py to create API endpoints with CRUD operations
|
|
```
|
|
|
|
```
|
|
Use @api-design-principles to design RESTful API
|
|
```
|
|
|
|
### Phase 4: Authentication
|
|
|
|
#### Skills to Invoke
|
|
- `auth-implementation-patterns` - Authentication
|
|
- `api-security-best-practices` - API security
|
|
|
|
#### Actions
|
|
1. Choose auth strategy (JWT, OAuth2)
|
|
2. Implement user registration
|
|
3. Set up login endpoints
|
|
4. Create auth middleware
|
|
5. Add password hashing
|
|
|
|
#### Copy-Paste Prompts
|
|
```
|
|
Use @auth-implementation-patterns to implement JWT authentication
|
|
```
|
|
|
|
### Phase 5: Error Handling
|
|
|
|
#### Skills to Invoke
|
|
- `fastapi-pro` - FastAPI patterns
|
|
- `error-handling-patterns` - Error handling
|
|
|
|
#### Actions
|
|
1. Create custom exceptions
|
|
2. Set up exception handlers
|
|
3. Implement error responses
|
|
4. Add request logging
|
|
5. Configure error tracking
|
|
|
|
#### Copy-Paste Prompts
|
|
```
|
|
Use @fastapi-pro to implement comprehensive error handling
|
|
```
|
|
|
|
### Phase 6: Testing
|
|
|
|
#### Skills to Invoke
|
|
- `python-testing-patterns` - pytest testing
|
|
- `api-testing-observability-api-mock` - API testing
|
|
|
|
#### Actions
|
|
1. Set up pytest
|
|
2. Create test fixtures
|
|
3. Write unit tests
|
|
4. Implement integration tests
|
|
5. Configure test database
|
|
|
|
#### Copy-Paste Prompts
|
|
```
|
|
Use @python-testing-patterns to write pytest tests for FastAPI
|
|
```
|
|
|
|
### Phase 7: Documentation
|
|
|
|
#### Skills to Invoke
|
|
- `api-documenter` - API documentation
|
|
- `openapi-spec-generation` - OpenAPI specs
|
|
|
|
#### Actions
|
|
1. Configure OpenAPI schema
|
|
2. Add endpoint documentation
|
|
3. Create usage examples
|
|
4. Set up API versioning
|
|
5. Generate API docs
|
|
|
|
#### Copy-Paste Prompts
|
|
```
|
|
Use @api-documenter to generate comprehensive API documentation
|
|
```
|
|
|
|
### Phase 8: Deployment
|
|
|
|
#### Skills to Invoke
|
|
- `deployment-engineer` - Deployment
|
|
- `docker-expert` - Containerization
|
|
|
|
#### Actions
|
|
1. Create Dockerfile
|
|
2. Set up docker-compose
|
|
3. Configure production settings
|
|
4. Set up reverse proxy
|
|
5. Deploy to cloud
|
|
|
|
#### Copy-Paste Prompts
|
|
```
|
|
Use @docker-expert to containerize FastAPI application
|
|
```
|
|
|
|
## Technology Stack
|
|
|
|
| Category | Technology |
|
|
|----------|------------|
|
|
| Framework | FastAPI |
|
|
| Language | Python 3.11+ |
|
|
| ORM | SQLAlchemy 2.0 |
|
|
| Validation | Pydantic v2 |
|
|
| Database | PostgreSQL |
|
|
| Migrations | Alembic |
|
|
| Auth | JWT, OAuth2 |
|
|
| Testing | pytest |
|
|
|
|
## Quality Gates
|
|
|
|
- [ ] All tests passing (>80% coverage)
|
|
- [ ] Type checking passes (mypy)
|
|
- [ ] Linting clean (ruff, black)
|
|
- [ ] API documentation complete
|
|
- [ ] Security scan passed
|
|
- [ ] Performance benchmarks met
|
|
|
|
## Related Workflow Bundles
|
|
|
|
- `development` - General development
|
|
- `database` - Database operations
|
|
- `security-audit` - Security testing
|
|
- `api-development` - API patterns
|