python -m venv env
env\Scripts\activate
pip install fastapi uvicorn
pip install black isort flake8
pip install python-dotenv
uvicorn main:app --reload
pip freeze > requirements.txt
pip install -r requirements.txt
PostgreSQL
MySQL
| Purpose | Package |
|---|
| Fast API Framework | fastapi |
| ASGI Server | uvicorn |
| Production ASGI Server | gunicorn |
| Async Support | anyio |
Database & ORM
| Purpose | Package |
|---|
| ORM | sqlalchemy |
| Async ORM | sqlalchemy[asyncio] |
| PostgreSQL Driver | psycopg2-binary |
| Async PostgreSQL | asyncpg |
| MySQL Driver | pymysql |
| MongoDB | motor |
| Redis | redis |
| Database Migration | alembic |
| SQL Toolkit | sqlmodel |
Authentication & Security
| Purpose | Package |
|---|
| JWT Authentication | python-jose |
| Password Hashing | passlib[bcrypt] |
| OAuth Support | authlib |
| Rate Limiting | slowapi |
| CORS Middleware | fastapi.middleware.cors |
| Security Utilities | fastapi-security |
| CSRF Protection | fastapi-csrf-protect |
Validation & Serialization
| Purpose | Package |
|---|
| Data Validation | pydantic |
| Settings Management | pydantic-settings |
| Environment Variables | python-dotenv |
| Email Validation | email-validator |
| Phone Validation | phonenumbers |
Background Tasks & Queue
| Purpose | Package |
|---|
| Task Queue | celery |
| Redis Queue | rq |
| Async Scheduler | apscheduler |
| Distributed Tasks | dramatiq |
File Upload & Storage
| Purpose | Package |
|---|
| Multipart Upload | python-multipart |
| AWS S3 Upload | boto3 |
| MinIO Storage | minio |
| Image Processing | pillow |
Email & Notifications
| Purpose | Package |
|---|
| Email Sending | fastapi-mail |
| SMTP Email | aiosmtplib |
| Firebase Push Notification | firebase-admin |
| Twilio SMS | twilio |
WebSocket & Realtime
| Purpose | Package |
|---|
| WebSocket Support | websockets |
| Socket.IO | python-socketio |
| Realtime Communication | starlette.websockets |
Testing
| Purpose | Package |
|---|
| Testing Framework | pytest |
| Async Testing | pytest-asyncio |
| API Testing | httpx |
| Mocking | pytest-mock |
| Coverage | coverage |
Development Tools
| Purpose | Package |
|---|
| Formatter | black |
| Import Sorter | isort |
| Linter | flake8 |
| Type Checking | mypy |
| Pre Commit Hooks | pre-commit |
| Dev Auto Reload | watchfiles |
Logging & Monitoring
| Purpose | Package |
|---|
| Structured Logging | loguru |
| Monitoring | prometheus-client |
| Error Tracking | sentry-sdk |
| OpenTelemetry | opentelemetry-sdk |
API Documentation
| Purpose | Package |
|---|
| Swagger UI | Built-in FastAPI |
| ReDoc | Built-in FastAPI |
| API Versioning | fastapi-versioning |
Pagination & Filtering
| Purpose | Package |
|---|
| Pagination | fastapi-pagination |
| Filtering | fastapi-filter |
Caching
| Purpose | Package |
|---|
| Redis Cache | fastapi-cache2 |
| In-Memory Cache | cachetools |
GraphQL
| Purpose | Package |
|---|
| GraphQL API | strawberry-graphql |
| Alternative GraphQL | graphene |
AI & Machine Learning
| Purpose | Package |
|---|
| OpenAI Integration | openai |
| LangChain | langchain |
| Vector Database | chromadb |
| HuggingFace Models | transformers |
| Embeddings | sentence-transformers |
Data Processing
| Purpose | Package |
|---|
| Data Analysis | pandas |
| Numerical Computing | numpy |
| Excel Support | openpyxl |
| CSV Handling | Built-in csv |
PDF & Document Processing
| Purpose | Package |
|---|
| PDF Generation | reportlab |
| PDF Reading | PyPDF2 |
| DOCX Processing | python-docx |
| HTML to PDF | weasyprint |
Useful FastAPI Extensions
| Purpose | Package |
|---|
| Admin Panel | fastapi-admin |
| Users Management | fastapi-users |
| Dependency Injection | dependency-injector |
| API Limiter | fastapi-limiter |
| Event System | blinker |
0 comments:
Post a Comment