Collect macroeconomic releases, events and holidays through the official browser SDK with resumable history from 2025. Preserve evidence, revisions and observation times, and merge verified series with official fields taking priority. Add category filters, field provenance, coverage and connection status. Verify calendar persistence and deployment recovery in isolated acceptance checks.
21 lines
854 B
Docker
21 lines
854 B
Docker
FROM python:3.13-slim AS base
|
|
COPY --from=ghcr.io/astral-sh/uv:0.12 /uv /uvx /usr/local/bin/
|
|
ENV UV_COMPILE_BYTECODE=1 UV_LINK_MODE=copy UV_NO_CACHE=1 UV_PROJECT_ENVIRONMENT=/opt/venv PATH=/opt/venv/bin:$PATH
|
|
WORKDIR /app
|
|
COPY pyproject.toml uv.lock ./
|
|
RUN uv sync --locked --no-dev --no-install-project
|
|
COPY . .
|
|
RUN uv sync --locked --no-dev
|
|
|
|
FROM base AS check
|
|
RUN uv sync --locked && uv run pytest && uvx ruff==0.14.14 check --select F,E9,B src tests
|
|
|
|
FROM base AS runtime
|
|
ENV PLAYWRIGHT_BROWSERS_PATH=/opt/ms-playwright
|
|
RUN playwright install --with-deps --only-shell chromium
|
|
ARG APP_VERSION=source
|
|
ARG APP_COMMIT=unknown
|
|
ENV APP_VERSION=$APP_VERSION APP_COMMIT=$APP_COMMIT
|
|
LABEL org.opencontainers.image.version=$APP_VERSION org.opencontainers.image.revision=$APP_COMMIT
|
|
LABEL org.opencontainers.image.source=https://git.134333.xyz/eezd/AlphaPulse
|