
Introduce a new technical specification for managing database transactions in FastAPI, ensuring ACID compliance through standardized practices. The specification outlines transaction handling for API endpoints, CRUD functions, and non-API operations, emphasizing the use of context managers and error handling. Additionally, update the requirements file to include new testing dependencies for async operations, enhancing the testing framework for the application.
24 lines
896 B
Plaintext
24 lines
896 B
Plaintext
fastapi>=0.95.0
|
|
uvicorn[standard]>=0.20.0
|
|
sqlalchemy[asyncio]>=2.0.0 # Core ORM + Async support
|
|
asyncpg>=0.27.0 # Async PostgreSQL driver
|
|
psycopg2-binary>=2.9.0 # Often needed by Alembic even if app uses asyncpg
|
|
alembic>=1.9.0 # Database migrations
|
|
pydantic-settings>=2.0.0 # For loading settings from .env
|
|
python-dotenv>=1.0.0 # To load .env file for scripts/alembic
|
|
passlib[bcrypt]>=1.7.4
|
|
python-jose[cryptography]>=3.3.0
|
|
pydantic[email]
|
|
google-generativeai>=0.5.0
|
|
sentry-sdk[fastapi]>=1.39.0
|
|
python-multipart>=0.0.6 # Required for form data handling
|
|
fastapi-users[sqlalchemy]>=12.1.2
|
|
email-validator>=2.0.0
|
|
fastapi-users[oauth]>=12.1.2
|
|
authlib>=1.3.0
|
|
itsdangerous>=2.1.2
|
|
pytest>=7.4.0
|
|
pytest-asyncio>=0.21.0
|
|
pytest-cov>=4.1.0
|
|
httpx>=0.24.0 # For async HTTP testing
|
|
aiosqlite>=0.19.0 # For async SQLite support in tests |