pydantic>=2.0
httpx>=0.25
pyyaml>=6.0
openai>=1.10
pdfplumber>=0.10
python-dotenv
json5>=0.9.0

[adaptation]
mlflow>=2.10
boto3>=1.34
peft>=0.8
transformers>=4.38
torch>=2.1

[all]
asyncpg>=0.29
kss>=6.0
trafilatura>=1.8
python-docx>=1.1
neo4j>=5.0
mlflow>=2.10
boto3>=1.34
fastapi>=0.109
uvicorn>=0.27
sqlalchemy>=2.0
celery>=5.3
redis>=5.0
snowflake-connector-python>=3.6
langfuse>=2.0

[db]
sqlalchemy>=2.0

[dev]
pytest>=8.0
pytest-asyncio>=0.23
ruff>=0.2
mypy>=1.8

[docs]
python-docx>=1.1

[graph]
neo4j>=5.0

[korean]
kss>=6.0

[kosis]
asyncpg>=0.29

[pdf-ocr]
pymupdf>=1.23

[peft]
peft>=0.8
transformers>=4.38
torch>=2.1

[platform]
fastapi>=0.109
uvicorn>=0.27
sqlalchemy>=2.0
asyncpg>=0.29
celery>=5.3
redis>=5.0
snowflake-connector-python>=3.6
langfuse>=2.0
python-docx>=1.1

[training]
unsloth
trl>=0.8
peft>=0.8
bitsandbytes>=0.43
accelerate>=0.27
datasets>=2.16
transformers>=4.40
torch>=2.2

[training-mac]
mlx-lm>=0.18

[url]
trafilatura>=1.8
beautifulsoup4>=4.12
