diff --git a/saju-lab/.dockerignore b/saju-lab/.dockerignore new file mode 100644 index 0000000..f965521 --- /dev/null +++ b/saju-lab/.dockerignore @@ -0,0 +1,5 @@ +__pycache__ +*.pyc +.pytest_cache +data/ +tests/ diff --git a/saju-lab/Dockerfile b/saju-lab/Dockerfile new file mode 100644 index 0000000..2e77614 --- /dev/null +++ b/saju-lab/Dockerfile @@ -0,0 +1,12 @@ +FROM python:3.12-slim-bookworm +ENV PYTHONUNBUFFERED=1 + +WORKDIR /app + +COPY requirements.txt . +RUN pip install --no-cache-dir --timeout 600 --retries 5 -r requirements.txt + +COPY . . + +EXPOSE 8000 +CMD ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8000", "--workers", "1"] diff --git a/saju-lab/app/__init__.py b/saju-lab/app/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/saju-lab/app/calculator/__init__.py b/saju-lab/app/calculator/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/saju-lab/app/interpret/__init__.py b/saju-lab/app/interpret/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/saju-lab/app/routers/__init__.py b/saju-lab/app/routers/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/saju-lab/pytest.ini b/saju-lab/pytest.ini new file mode 100644 index 0000000..82bc8d1 --- /dev/null +++ b/saju-lab/pytest.ini @@ -0,0 +1,3 @@ +[pytest] +asyncio_mode = auto +pythonpath = . diff --git a/saju-lab/requirements.txt b/saju-lab/requirements.txt new file mode 100644 index 0000000..7e0016d --- /dev/null +++ b/saju-lab/requirements.txt @@ -0,0 +1,8 @@ +fastapi==0.115.6 +uvicorn[standard]==0.34.0 +httpx>=0.27 +pydantic>=2.9 +sxtwl>=2.0 +pytest>=8.0 +pytest-asyncio>=0.24 +respx>=0.21 diff --git a/saju-lab/tests/__init__.py b/saju-lab/tests/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/saju-lab/tests/fixtures/__init__.py b/saju-lab/tests/fixtures/__init__.py new file mode 100644 index 0000000..e69de29