From 13227e6214cd43e74788996a6026bc70ddb42bb0 Mon Sep 17 00:00:00 2001 From: chan Date: Wed, 3 Sep 2025 17:37:21 +0900 Subject: [PATCH] =?UTF-8?q?=EC=9D=98=EC=A1=B4=EC=84=B1=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dockerfile | 11 --- uv.lock | 255 ++++++++++++++++++++++++++++++++++++++++++++++++++--- 2 files changed, 244 insertions(+), 22 deletions(-) diff --git a/dockerfile b/dockerfile index 1b7c572..6a3a551 100644 --- a/dockerfile +++ b/dockerfile @@ -1,30 +1,19 @@ -# Use a more complete Python runtime as a parent image to avoid missing system libraries FROM python:3.12 -# Install system dependencies required by OpenCV RUN apt-get update && apt-get install -y libgl1 && rm -rf /var/lib/apt/lists/* -# Set the working directory in the container WORKDIR /app -# Install uv RUN pip install uv -# Copy the dependency files COPY pyproject.toml uv.lock ./ -# Install dependencies using uv -# Note: We use the lock file for reproducible builds RUN uv pip sync uv.lock --no-cache --system -# Copy the rest of the application's code COPY . . -# Expose the port that Streamlit runs on EXPOSE 8502 -# Set the healthcheck HEALTHCHECK CMD curl --fail http://localhost:8502/_stcore/health -# Command to run the Streamlit app CMD ["streamlit", "run", "app.py", "--server.port=8502", "--server.address=0.0.0.0"] diff --git a/uv.lock b/uv.lock index a8c6353..0d36a8e 100644 --- a/uv.lock +++ b/uv.lock @@ -1,23 +1,41 @@ # This file was autogenerated by uv via the following command: # uv pip compile pyproject.toml -o uv.lock +aiohappyeyeballs==2.6.1 + # via aiohttp +aiohttp==3.12.15 + # via langchain-community +aiosignal==1.4.0 + # via aiohttp aistudio-sdk==0.3.6 # via paddlex altair==5.5.0 # via streamlit annotated-types==0.7.0 # via pydantic +anyio==4.10.0 + # via + # httpx + # openai attrs==25.3.0 # via + # aiohttp # jsonschema # referencing bce-python-sdk==0.9.45 # via aistudio-sdk +beautifulsoup4==4.13.5 + # via paddlex blinker==1.9.0 # via streamlit cachetools==6.2.0 - # via streamlit + # via + # premailer + # streamlit certifi==2025.8.3 - # via requests + # via + # httpcore + # httpx + # requests chardet==5.2.0 # via paddlex charset-normalizer==3.4.3 @@ -28,59 +46,182 @@ click==8.2.1 # streamlit colorlog==6.9.0 # via paddlex +contourpy==1.3.3 + # via matplotlib +cssselect==1.3.0 + # via premailer +cssutils==2.11.1 + # via premailer +cycler==0.12.1 + # via matplotlib +dataclasses-json==0.6.7 + # via langchain-community +distro==1.9.0 + # via openai +einops==0.8.1 + # via paddlex +et-xmlfile==2.0.0 + # via openpyxl filelock==3.19.1 # via # huggingface-hub # modelscope # paddlex +fonttools==4.59.2 + # via matplotlib +frozenlist==1.7.0 + # via + # aiohttp + # aiosignal fsspec==2025.9.0 # via huggingface-hub +ftfy==6.3.1 + # via paddlex future==1.0.0 # via bce-python-sdk gitdb==4.0.12 # via gitpython gitpython==3.1.45 # via streamlit +greenlet==3.2.4 + # via sqlalchemy +h11==0.16.0 + # via httpcore hf-xet==1.1.9 # via huggingface-hub +httpcore==1.0.9 + # via httpx +httpx==0.28.1 + # via + # langsmith + # openai + # paddlepaddle +httpx-sse==0.4.1 + # via langchain-community huggingface-hub==0.34.4 - # via paddlex + # via + # paddlex + # tokenizers idna==3.10 - # via requests + # via + # anyio + # httpx + # requests + # yarl imagesize==1.4.1 # via paddlex jinja2==3.1.6 # via # altair + # paddlex # pydeck +jiter==0.10.0 + # via openai +joblib==1.5.2 + # via scikit-learn +jsonpatch==1.33 + # via langchain-core +jsonpointer==3.0.0 + # via jsonpatch jsonschema==4.25.1 # via altair jsonschema-specifications==2025.4.1 # via jsonschema +kiwisolver==1.4.9 + # via matplotlib +langchain==0.3.27 + # via + # langchain-community + # paddlex +langchain-community==0.3.29 + # via paddlex +langchain-core==0.3.75 + # via + # langchain + # langchain-community + # langchain-openai + # langchain-text-splitters + # paddlex +langchain-openai==0.3.32 + # via paddlex +langchain-text-splitters==0.3.11 + # via langchain +langsmith==0.4.23 + # via + # langchain + # langchain-community + # langchain-core +lxml==6.0.1 + # via + # paddlex + # premailer markupsafe==3.0.2 # via jinja2 +marshmallow==3.26.1 + # via dataclasses-json +matplotlib==3.10.6 + # via paddleslim modelscope==1.29.2 # via paddlex +more-itertools==10.8.0 + # via cssutils +multidict==6.6.4 + # via + # aiohttp + # yarl +mypy-extensions==1.1.0 + # via typing-inspect narwhals==2.3.0 # via altair -numpy==2.3.2 +networkx==3.5 + # via paddlepaddle +numpy==1.26.4 # via + # paddleocr-interface (pyproject.toml) + # contourpy + # langchain-community + # matplotlib # opencv-contrib-python + # opencv-python + # opt-einsum + # paddlepaddle # paddlex # pandas # pydeck + # scikit-learn + # scipy # shapely # streamlit +openai==1.104.2 + # via + # langchain-openai + # paddlex opencv-contrib-python==4.10.0.84 # via paddlex +opencv-python==4.6.0.66 + # via paddleslim +openpyxl==3.1.5 + # via paddlex +opt-einsum==3.3.0 + # via paddlepaddle +orjson==3.11.3 + # via langsmith packaging==25.0 # via # altair # huggingface-hub + # langchain-core + # langsmith + # marshmallow + # matplotlib # paddlex # streamlit paddleocr==3.2.0 # via paddleocr-interface (pyproject.toml) +paddlepaddle==3.1.1 + # via paddleocr-interface (pyproject.toml) +paddleslim==2.6.0 + # via paddleocr-interface (pyproject.toml) paddlex==3.2.1 # via paddleocr pandas==2.3.2 @@ -89,14 +230,25 @@ pandas==2.3.2 # streamlit pillow==11.3.0 # via + # matplotlib + # paddlepaddle + # paddleslim # paddlex # streamlit +premailer==3.10.0 + # via paddlex prettytable==3.16.0 # via # aistudio-sdk # paddlex +propcache==0.3.2 + # via + # aiohttp + # yarl protobuf==6.32.0 - # via streamlit + # via + # paddlepaddle + # streamlit psutil==7.0.0 # via aistudio-sdk py-cpuinfo==9.0.0 @@ -108,33 +260,65 @@ pyclipper==1.3.0.post6 pycryptodome==3.23.0 # via bce-python-sdk pydantic==2.11.7 - # via paddlex + # via + # langchain + # langchain-core + # langsmith + # openai + # paddlex + # pydantic-settings pydantic-core==2.33.2 # via pydantic +pydantic-settings==2.10.1 + # via langchain-community pydeck==0.9.1 # via streamlit +pyparsing==3.2.3 + # via matplotlib pypdfium2==4.30.0 # via paddlex python-dateutil==2.9.0.post0 - # via pandas + # via + # matplotlib + # pandas +python-dotenv==1.1.1 + # via pydantic-settings pytz==2025.2 # via pandas pyyaml==6.0.2 # via # huggingface-hub + # langchain + # langchain-community + # langchain-core # paddleocr + # paddleslim # paddlex +pyzmq==27.0.2 + # via paddleslim referencing==0.36.2 # via # jsonschema # jsonschema-specifications +regex==2025.9.1 + # via + # paddlex + # tiktoken requests==2.32.5 # via # aistudio-sdk # huggingface-hub + # langchain + # langchain-community + # langsmith # modelscope # paddlex + # premailer + # requests-toolbelt # streamlit + # tiktoken +requests-toolbelt==1.0.0 + # via langsmith rpds-py==0.27.1 # via # jsonschema @@ -143,6 +327,12 @@ ruamel-yaml==0.18.15 # via paddlex ruamel-yaml-clib==0.2.12 # via ruamel-yaml +scikit-learn==1.7.1 + # via + # paddleslim + # paddlex +scipy==1.16.1 + # via scikit-learn setuptools==80.9.0 # via modelscope shapely==2.1.1 @@ -153,10 +343,33 @@ six==1.17.0 # python-dateutil smmap==5.0.2 # via gitdb +sniffio==1.3.1 + # via + # anyio + # openai +soupsieve==2.8 + # via beautifulsoup4 +sqlalchemy==2.0.43 + # via + # langchain + # langchain-community streamlit==1.49.1 # via paddleocr-interface (pyproject.toml) +swig==4.3.1.post0 + # via paddleslim tenacity==9.1.2 - # via streamlit + # via + # langchain-community + # langchain-core + # streamlit +threadpoolctl==3.6.0 + # via scikit-learn +tiktoken==0.11.0 + # via + # langchain-openai + # paddlex +tokenizers==0.22.0 + # via paddlex toml==0.10.2 # via streamlit tornado==6.5.2 @@ -166,19 +379,33 @@ tqdm==4.67.1 # aistudio-sdk # huggingface-hub # modelscope + # openai + # paddleslim typing-extensions==4.15.0 # via + # aiosignal # altair + # anyio + # beautifulsoup4 # huggingface-hub + # langchain-core + # openai # paddleocr + # paddlepaddle # paddlex # pydantic # pydantic-core # referencing + # sqlalchemy # streamlit + # typing-inspect # typing-inspection +typing-inspect==0.9.0 + # via dataclasses-json typing-inspection==0.4.1 - # via pydantic + # via + # pydantic + # pydantic-settings tzdata==2025.2 # via pandas ujson==5.11.0 @@ -190,4 +417,10 @@ urllib3==2.5.0 watchdog==6.0.0 # via streamlit wcwidth==0.2.13 - # via prettytable + # via + # ftfy + # prettytable +yarl==1.20.1 + # via aiohttp +zstandard==0.24.0 + # via langsmith