- Added MTG card ORM models (mtg_cards, mtg_sets tables) - Created card_database service with search, get_by_name, get_by_set - Added Redis client with caching layer (3600s TTL default) - Created card router with caching on all endpoints: - Search cards (5min cache) - Get card by name (10min cache) - Get cards by set (15min cache) - Get card types/rarities (30min cache) - Get sets (1hr cache) - Get statistics (1hr cache) - Updated settings.py: - Added JWT_SECRET_KEY field - Added DB_CONFIG and REDIS_CONFIG dictionaries - Updated security.py to use JWT_SECRET_KEY with fallback - Updated auth.py to use timezone-aware datetimes - Updated refresh_mtg.py to use settings instead of os.environ - Updated mtg_monitor.py to use settings for connections - Added services package with __init__.py All 20 tests passing.
37 lines
519 B
Plaintext
37 lines
519 B
Plaintext
# FastAPI and ASGI
|
|
fastapi==0.115.0
|
|
uvicorn[standard]==0.30.0
|
|
websockets==12.0
|
|
|
|
# Database
|
|
sqlalchemy[asyncio]==2.0.34
|
|
asyncpg==0.29.0
|
|
alembic==1.13.2
|
|
|
|
# Authentication
|
|
python-jose[cryptography]==3.3.0
|
|
passlib[bcrypt]==1.7.4
|
|
bcrypt==4.0.1
|
|
python-multipart==0.0.9
|
|
|
|
# Validation
|
|
pydantic==2.9.2
|
|
pydantic-settings==2.5.2
|
|
|
|
# Redis
|
|
redis[hiredis]==5.1.0
|
|
|
|
# Utilities
|
|
python-dotenv==1.0.1
|
|
httpx==0.27.2
|
|
aiohttp==3.9.5
|
|
|
|
# Testing
|
|
pytest==8.3.3
|
|
pytest-asyncio==0.24.0
|
|
pytest-cov==6.0.0
|
|
aiosqlite==0.20.0
|
|
|
|
# Linting
|
|
ruff==0.6.5
|