diff --git a/.gitignore b/.gitignore index aab0efd..b42ff18 100644 --- a/.gitignore +++ b/.gitignore @@ -35,6 +35,11 @@ ENV/ .DS_Store # API Keys - 중요! +.env +.env.local +.env.development +.env.test +.env.production apis/gemini_keys.yaml !apis/gemini_keys.yaml.template @@ -60,14 +65,11 @@ token.json # env .bemad/ -./docs/ -./pipeline_ui/backend/checkpoints/* -./pipeline_ui/backend/output/ -./pipeline_ui/backend/uploads/ -./pipeline_ui/frontend/node_modules/* -./pipeline_ui/frontend/node_modules/*/* -./pipeline_ui/frontend/node_modules/*/*/* -./pipeline_ui/frontend/node_modules/*/*/*/* -./pipeline_ui/frontend/node_modules/*/*/*/*/* -./pipeline_ui/frontend/node_modules/*/*/*/*/*/* -./pipeline_ui/frontend/node_modules/*/*/*/*/*/*/* +docs/ +pipeline_ui/backend/checkpoints/* +pipeline_ui/backend/output/* +pipeline_ui/backend/uploads/* + +# Frontend (Node.js) +pipeline_ui/frontend/node_modules/* +pipeline_ui/frontend/package-lock.json diff --git a/pipeline_ui/README.md b/pipeline_ui/README.md index c024128..968c8e7 100644 --- a/pipeline_ui/README.md +++ b/pipeline_ui/README.md @@ -24,6 +24,9 @@ source ../../.venv/bin/activate # 서버 실행 python main.py + +# OR 의존성 설치 및 서버 실행 +uv run python main.py ``` 백엔드가 http://localhost:8001 에서 실행됩니다. diff --git a/pyproject.toml b/pyproject.toml index 161a52b..04053b2 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -17,9 +17,9 @@ dependencies = [ "pymupdf>=1.26.7", "pyyaml>=6.0", "typing-extensions>=4.5.0", - "fastapi>=0.115.0", - "uvicorn>=0.32.0", - "python-multipart>=0.0.12", + "fastapi>=0.124.4", + "uvicorn>=0.38.0", + "python-multipart>=0.0.21", "langchain-anthropic>=0.3.0", "json-repair>=0.25.3", "pandas>=2.3.3", @@ -30,4 +30,11 @@ dependencies = [ "pydantic>=2.12.4", "dspy-ai>=3.0.4", "pymongo>=4.6.1", + "dnspython>=2.8.0", + "httpx>=0.28.0", + "tqdm>=4.67.0", + "requests>=2.32.0", + "google-api-python-client>=2.187.0", + "oauth2client>=4.1.3", + "httplib2>=0.31.0", ] diff --git a/uv.lock b/uv.lock index 2a32e7c..64524b2 100644 --- a/uv.lock +++ b/uv.lock @@ -2066,6 +2066,22 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/a4/4f/1f8475907d1a7c4ef9020edf7f39ea2422ec896849245f00688e4b268a71/numpy-2.4.0-cp314-cp314t-win_arm64.whl", hash = "sha256:23a3e9d1a6f360267e8fbb38ba5db355a6a7e9be71d7fce7ab3125e88bb646c8", size = 10661799, upload-time = "2025-12-20T16:18:01.078Z" }, ] +[[package]] +name = "oauth2client" +version = "4.1.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "httplib2" }, + { name = "pyasn1" }, + { name = "pyasn1-modules" }, + { name = "rsa" }, + { name = "six" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/a6/7b/17244b1083e8e604bf154cf9b716aecd6388acd656dd01893d0d244c94d9/oauth2client-4.1.3.tar.gz", hash = "sha256:d486741e451287f69568a4d26d70d9acd73a2bbfa275746c535b4209891cccc6", size = 155910, upload-time = "2018-09-07T21:38:18.036Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/95/a9/4f25a14d23f0786b64875b91784607c2277eff25d48f915e39ff0cff505a/oauth2client-4.1.3-py2.py3-none-any.whl", hash = "sha256:b8a81cc5d60e2d364f0b1b98f958dbd472887acaf1a5b05e21c28c31a2d6d3ac", size = 98206, upload-time = "2018-09-07T21:38:16.742Z" }, +] + [[package]] name = "oauthlib" version = "3.3.1" @@ -3309,11 +3325,15 @@ source = { virtual = "." } dependencies = [ { name = "agentsjson" }, { name = "beautifulsoup4" }, + { name = "dnspython" }, { name = "dotenv" }, { name = "dspy-ai" }, { name = "dspydantic" }, { name = "fastapi" }, + { name = "google-api-python-client" }, { name = "google-generativeai" }, + { name = "httplib2" }, + { name = "httpx" }, { name = "ipykernel" }, { name = "json-repair" }, { name = "langchain" }, @@ -3323,13 +3343,17 @@ dependencies = [ { name = "langchain-google-genai" }, { name = "langchain-openai" }, { name = "langgraph" }, + { name = "oauth2client" }, { name = "pandas" }, { name = "pandasql" }, { name = "pydantic" }, { name = "pymongo" }, { name = "pymupdf" }, + { name = "python-dotenv" }, { name = "python-multipart" }, { name = "pyyaml" }, + { name = "requests" }, + { name = "tqdm" }, { name = "typing-extensions" }, { name = "uvicorn" }, ] @@ -3338,11 +3362,15 @@ dependencies = [ requires-dist = [ { name = "agentsjson", specifier = "==0.1.13" }, { name = "beautifulsoup4", specifier = ">=4.14.3" }, + { name = "dnspython", specifier = ">=2.8.0" }, { name = "dotenv", specifier = ">=0.9.9" }, { name = "dspy-ai", specifier = ">=3.0.4" }, { name = "dspydantic", specifier = ">=0.0.7" }, - { name = "fastapi", specifier = ">=0.115.0" }, + { name = "fastapi", specifier = ">=0.124.4" }, + { name = "google-api-python-client", specifier = ">=2.187.0" }, { name = "google-generativeai", specifier = ">=0.3.0" }, + { name = "httplib2", specifier = ">=0.31.0" }, + { name = "httpx", specifier = ">=0.28.0" }, { name = "ipykernel", specifier = ">=7.1.0" }, { name = "json-repair", specifier = ">=0.25.3" }, { name = "langchain", specifier = ">=0.1.0" }, @@ -3352,15 +3380,19 @@ requires-dist = [ { name = "langchain-google-genai", specifier = ">=4.0.0" }, { name = "langchain-openai", specifier = ">=1.1.0" }, { name = "langgraph", specifier = ">=0.0.30" }, + { name = "oauth2client", specifier = ">=4.1.3" }, { name = "pandas", specifier = ">=2.3.3" }, { name = "pandasql", specifier = ">=0.7.3" }, { name = "pydantic", specifier = ">=2.12.4" }, { name = "pymongo", specifier = ">=4.6.1" }, { name = "pymupdf", specifier = ">=1.26.7" }, - { name = "python-multipart", specifier = ">=0.0.12" }, + { name = "python-dotenv", specifier = ">=1.2.1" }, + { name = "python-multipart", specifier = ">=0.0.21" }, { name = "pyyaml", specifier = ">=6.0" }, + { name = "requests", specifier = ">=2.32.0" }, + { name = "tqdm", specifier = ">=4.67.0" }, { name = "typing-extensions", specifier = ">=4.5.0" }, - { name = "uvicorn", specifier = ">=0.32.0" }, + { name = "uvicorn", specifier = ">=0.38.0" }, ] [[package]]