2.1 KiB
2.1 KiB
Story 1.2: Backend-Python-Umgebung & Requirements
Status: done
Story
Als Backend-Entwickler,
möchte ich eine vollständige requirements.txt mit allen Abhängigkeiten,
so dass ich reproduzierbar installieren kann.
Acceptance Criteria
pip install -r requirements.txtinstalliert FastAPI, LangGraph, langchain-anthropic, langchain-openai, SQLAlchemy, alembic, chromadb, tavily-python, pypdf, pytestpytest backend/tests/läuft durch (0 oder mehr passed, 0 failed)asyncio_mode = autoist inpytest.inikonfiguriert für async Tests- Alle Pakete haben gepinnte Versionen für Reproduzierbarkeit
Tasks / Subtasks
- Task 1:
requirements.txtmit allen Abhängigkeiten erstellen (AC: 1, 4)- Subtask 1.1: Core: fastapi, uvicorn, pydantic
- Subtask 1.2: AI: langgraph, langchain-anthropic, langchain-openai
- Subtask 1.3: DB: sqlalchemy[asyncio], asyncpg, alembic
- Subtask 1.4: Tools: chromadb, tavily-python, pypdf, langchain-text-splitters
- Subtask 1.5: Test: pytest, pytest-asyncio, httpx, aiosqlite
- Task 2:
pytest.inimitasyncio_mode = autokonfigurieren (AC: 2, 3) - Task 3:
backend/__init__.pyfür Package-Erkennung
Dev Notes
aiosqlitewird für In-Memory-SQLite in Tests verwendet (kein PostgreSQL in CI)httpxfür async FastAPI-Test-Client (AsyncClient)
Project Structure Notes
backend/requirements.txtbackend/pytest.ini
References
- [Source: CLAUDE.md#Python Code Style]
- [Source: _bmad-output/planning-artifacts/architecture.md#Technische-Abhängigkeiten]
Dev Agent Record
Agent Model Used
Amelia (💻 BMAD Dev Agent)
Completion Notes List
aiosqliteermöglicht In-Memory-SQLite für Tests ohne laufenden PostgreSQL-Server.asyncio_mode = autoist essentiell für pytest-asyncio-Kompatibilität mit allen async Fixtures.
File List
backend/requirements.txtbackend/pytest.inibackend/__init__.py