# 폐쇄망(사내망) 반입·설치용 버전 고정.
#
# `pip download -c`의 입력으로 써서 외부망에서 수집한 wheel 조합을 재현 가능하게 만든다.
# **사내 미러가 보유한 버전에 맞춘 조합**이다 — 미러에 있는 것은 그대로 쓰고 없는 것만
# 반입한다(차집합은 scripts/mirror-diff.py 가 뽑는다).
#
# 아래 조합으로 Python 3.12 의존성 해석이 충돌 없이 통과하고 `pytest tests/unit`이 전부
# 통과하는 것을 확인했다 (ragking + server + fastembed, 총 132개 배포판, linux x86_64).
# 반입 대상 Python은 3.12 하나다 — 다른 버전용 바이너리 wheel은 받지 않는다.
#
# 절차와 근거는 docs/offline-install.md. 버전을 올릴 때는 이 파일을 고치고 wheelhouse를
# 다시 뜬 뒤, 사내망에서 pytest를 돌려 확인한다.
#
# 사내 미러 보유 버전에 맞춘 것 (= 반입 불필요, 24개):
#   llama-index-core 0.14.12 · llama-index-embeddings-openai 0.5.1
#   llama-index-llms-openai 0.6.10 · llama-index-postprocessor-jinaai-rerank 0.4.1
#   llama-index-vector-stores-qdrant 0.9.1 · qdrant-client 1.18.0 · minio 7.2.14
#   fastapi 0.139.0 · langchain-text-splitters 1.1.0 · aiohttp 3.13.3 · redis 5.2.1
#   pydantic-settings 2.14.2 · pymupdf 1.25.5 · numpy 2.4.6 · grpcio 1.81.1 · pillow 12.2.0
#   sqlalchemy 2.0.51 · zstandard 0.25.0 · tokenizers 0.22.2 · pydantic-core 2.46.4
#   pycryptodome 3.23.0 · networkx 3.6.1 · nltk 3.10.0 · celery 5.5.3
#
# selectolax는 미러에 없다 — 반입 대상이다.
#
# 제약이 있는 세 가지:
#   - redis: llama-index-storage-kvstore-redis가 `redis<6`을 강제한다. 미러의 7.4.1로는
#     해석이 불가능하다(ResolutionImpossible 실측). 5.2.1로 고정한다.
#   - qdrant-client: 1.19에서 qdrant_fastembed.IDF_EMBEDDING_MODELS가 사라져
#     llama-index-vector-stores-qdrant import가 깨진다. 1.18.x가 상한이다.
#   - fastembed: qdrant-client 1.18.x는 fastembed>=0.8,<0.9를 요구한다(1.16.x는 >=0.7,<0.8).
#     하이브리드 검색을 쓸 때만 설치한다 — 기본 의존성이 아니다.

aiohappyeyeballs==2.7.1
aiohttp==3.13.3
aiosignal==1.4.0
aiosqlite==0.22.1
amqp==5.3.1
annotated-doc==0.0.5
annotated-types==0.8.0
anyio==4.14.2
argon2-cffi==25.1.0
argon2-cffi-bindings==25.1.0
attrs==26.1.0
banks==2.5.0
billiard==4.2.4
celery==5.5.3
certifi==2026.7.22
cffi==2.1.1
charset-normalizer==3.5.0
click==8.4.2
click-didyoumean==0.3.1
click-plugins==1.1.1.2
click-repl==0.3.0
colorama==0.4.6
dataclasses-json==0.6.7
defusedxml==0.7.1
deprecated==1.3.1
dirtyjson==1.0.8
distro==1.9.0
fastapi==0.139.0
fastapi-utils==0.8.0
fastembed==0.8.0
filelock==3.32.3
filetype==1.2.0
flatbuffers==25.12.19
frozenlist==1.8.0
fsspec==2026.7.0
greenlet==3.5.5
griffe==2.1.0
griffecli==2.1.0
griffelib==2.1.0
grpcio==1.81.1
h11==0.16.0
h2==4.4.1
hf-xet==1.6.0
hpack==4.2.0
httpcore==1.0.9
httptools==0.8.0
httpx==0.28.1
huggingface_hub==1.27.0
hyperframe==6.1.0
idna==3.18
jinja2==3.1.6
jiter==0.16.0
joblib==1.5.3
jsonpatch==1.33
jsonpointer==3.1.1
kombu==5.5.4
langchain-core==1.5.5
langchain-protocol==0.0.18
langchain-text-splitters==1.1.0
langsmith==0.11.0
llama-index-core==0.14.12
llama-index-embeddings-openai==0.5.1
llama-index-instrumentation==0.5.0
llama-index-llms-openai==0.6.10
llama-index-postprocessor-jinaai-rerank==0.4.1
llama-index-storage-docstore-redis==0.5.0
llama-index-storage-kvstore-redis==0.4.1
llama-index-vector-stores-qdrant==0.9.1
llama-index-workflows==2.23.1
loguru==0.7.3
markupsafe==3.0.3
marshmallow==3.26.2
minio==7.2.14
mmh3==5.2.1
multidict==6.7.1
mypy_extensions==1.1.0
nest-asyncio==1.6.0
networkx==3.6.1
nltk==3.10.0
numpy==2.4.6
onnxruntime==1.28.0
openai==2.54.0
orjson==3.12.0
packaging==26.3
pillow==12.2.0
platformdirs==4.11.3
portalocker==3.2.0
prompt_toolkit==3.0.53
propcache==0.5.2
protobuf==7.35.1
psutil==5.9.8
py_rust_stemmers==0.1.8
pycparser==3.0
pycryptodome==3.23.0
pydantic==2.13.4
pydantic-settings==2.14.2
pydantic_core==2.46.4
pymupdf==1.25.5
python-dateutil==2.9.0.post0
python-dotenv==1.2.2
pyyaml==6.0.3
qdrant-client==1.18.0
redis==5.2.1
regex==2026.7.19
requests==2.34.2
requests-toolbelt==1.0.0
selectolax==0.4.11
setuptools==84.0.0
six==1.17.0
sniffio==1.3.1
sqlalchemy==2.0.51
starlette==1.6.0
tenacity==9.1.4
tiktoken==0.13.0
tokenizers==0.22.2
tqdm==4.70.0
typing-inspect==0.9.0
typing-inspection==0.4.4
typing_extensions==4.16.0
tzdata==2026.3
urllib3==2.7.0
uuid_utils==0.17.0
uvicorn==0.52.3
uvloop==0.22.1
vine==5.1.0
watchfiles==1.2.0
wcwidth==0.8.2
websockets==17.0.1
wrapt==2.3.0
xxhash==4.0.0
yarl==1.24.5
zstandard==0.25.0
