7cd8cfde0a
A-3 migrations 319-323 (news_sources 9컬럼 + source_channel 'crawl' + process_stage 'fulltext' + source_health) A-1 조건부 GET(ETag/Last-Modified 그대로 재전송)+콘텐츠 해시 변경감지, A-4 politeness 코어(per-domain 직렬+robots+정직UA), A-2+A-7 fulltext_worker(4-tier 재사용·NAS crawl_raw gzip 보존·격하 경로·03:40 reconcile 안전망), A-5 circuit breaker(3/10 임계, enabled 미터치), A-6 포털 전재 2차 dedup(제목+3일, 12자 게이트). 기존 소스 fulltext_policy='none' 기본 = 무회귀. plan crawl-24x7-1, 예외 박제 crawl-24x7-exec1-20260610.md
34 lines
1.1 KiB
Plaintext
34 lines
1.1 KiB
Plaintext
fastapi>=0.110.0
|
|
uvicorn[standard]>=0.27.0
|
|
sqlalchemy[asyncio]>=2.0.0
|
|
asyncpg>=0.29.0
|
|
pgvector>=0.3.0
|
|
python-dotenv>=1.0.0
|
|
pyyaml>=6.0
|
|
httpx>=0.27.0
|
|
python-jose[cryptography]>=3.3.0
|
|
bcrypt>=4.0.0
|
|
pyotp>=2.9.0
|
|
caldav>=1.3.0
|
|
apscheduler>=3.10.0
|
|
anthropic>=0.40.0
|
|
markdown>=3.5.0
|
|
python-multipart>=0.0.9
|
|
jinja2>=3.1.0
|
|
feedparser>=6.0.0
|
|
pymupdf>=1.24.0
|
|
# Web/Blog ingest (devonagent 트랙) + 뉴스 fulltext 승격 (crawl-24x7 A-2) — 4-tier fallback.
|
|
# trafilatura 는 단일 메인테이너 리스크로 exact pin (A-2 결정).
|
|
trafilatura==2.1.0
|
|
readability-lxml>=0.8.1
|
|
markdownify>=0.13.1
|
|
# tier-4 (bs4) 가 직접 import — 전이 의존 가정 제거 (crawl-24x7 A-2)
|
|
beautifulsoup4>=4.12.0
|
|
# office OOXML(docx/xlsx/pptx) → md (plan ds-s1-backend-1 C-1).
|
|
# 정확한 핀은 E-1 markitdown OOXML PoC(devsbx/버전핀 컨텍스트)에서 확정.
|
|
markitdown[docx,xlsx,pptx]>=0.1.0
|
|
# .hwp(HWP5 binary) → md: 순수 Python HWP5 전용 변환기(CLI hwp5html). LibreOffice 번들 libhwplo
|
|
# 필터가 실제 한컴 HWP5 를 못 읽어 전건 실패 → pyhwp 로 교체(2026-06-09). six = pyhwp 의 미선언 런타임 의존성.
|
|
pyhwp>=0.1b15
|
|
six>=1.16.0
|