38b73f5d4d
(1) requirements.lock: 323 Pakete exakt gepinnt auf das heute getestete Set (fastapi==0.141.1, starlette==1.3.1, sqlalchemy==2.0.35, alembic==1.19.1, asyncpg==0.31.0, pydantic==2.13.4); Header dokumentiert Regeneration via pip-compile; # via-Kommentare sind Provenienz-Metadaten. (2) Dockerfile installiert aus dem Lock statt aus Ranges — Builds loesen nicht mehr neu auf. (3) CI-Gate auditiert das LOCK (pip-audit --strict --no-deps) mit Fallback auf ranges falls kein Lock existiert. (4) deploy-guide.md: Dependencies-aendern-Workflow dokumentiert. Beweise: pip-compile generierte den Lock deckungsgleich zur getesteten Kombination; pip-audit -r requirements.lock = No known vulnerabilities; bash -n Syntax OK.
329 lines
6.0 KiB
Plaintext
329 lines
6.0 KiB
Plaintext
# LeoCRM dependency lockfile — EXACT tested set
|
|
# Regenerate after changing requirements.txt:
|
|
# pip install pip-tools && pip-compile requirements.txt -o requirements.lock
|
|
# Audit gate: pip-audit -r requirements.lock --strict --no-deps
|
|
|
|
aiofiles==25.1.0
|
|
# via -r requirements.txt
|
|
aiohappyeyeballs==2.7.1
|
|
# via aiohttp
|
|
aiohttp==3.14.3
|
|
# via litellm
|
|
aioimaplib==2.0.1
|
|
# via -r requirements.txt
|
|
aiosignal==1.4.0
|
|
# via aiohttp
|
|
aiosmtplib==5.1.2
|
|
# via -r requirements.txt
|
|
alembic==1.19.1
|
|
# via -r requirements.txt
|
|
annotated-doc==0.0.5
|
|
# via fastapi
|
|
annotated-types==0.8.0
|
|
# via pydantic
|
|
anyio==4.14.2
|
|
# via
|
|
# httpx
|
|
# openai
|
|
# starlette
|
|
# watchfiles
|
|
argon2-cffi==25.1.0
|
|
# via minio
|
|
argon2-cffi-bindings==26.1.0
|
|
# via argon2-cffi
|
|
arq==0.28.0
|
|
# via -r requirements.txt
|
|
asyncpg==0.31.0
|
|
# via -r requirements.txt
|
|
attrs==26.1.0
|
|
# via
|
|
# aiohttp
|
|
# jsonschema
|
|
# referencing
|
|
bcrypt==4.0.1
|
|
# via
|
|
# -r requirements.txt
|
|
# passlib
|
|
boto3==1.43.80
|
|
# via litellm
|
|
botocore==1.43.80
|
|
# via
|
|
# boto3
|
|
# s3transfer
|
|
brotli==1.2.0
|
|
# via fonttools
|
|
certifi==2026.7.22
|
|
# via
|
|
# httpcore
|
|
# httpx
|
|
# minio
|
|
# requests
|
|
cffi==2.1.1
|
|
# via
|
|
# argon2-cffi-bindings
|
|
# cryptography
|
|
# weasyprint
|
|
charset-normalizer==3.5.1
|
|
# via requests
|
|
click==8.4.2
|
|
# via
|
|
# arq
|
|
# huggingface-hub
|
|
# litellm
|
|
# uvicorn
|
|
croniter==6.2.4
|
|
# via -r requirements.txt
|
|
cryptography==50.0.1
|
|
# via
|
|
# -r requirements.txt
|
|
# pgpy
|
|
cssselect2==0.9.0
|
|
# via weasyprint
|
|
distro==1.9.0
|
|
# via openai
|
|
dnspython==2.8.0
|
|
# via email-validator
|
|
email-validator==2.3.0
|
|
# via -r requirements.txt
|
|
et-xmlfile==2.0.0
|
|
# via openpyxl
|
|
fastapi==0.141.1
|
|
# via -r requirements.txt
|
|
fastuuid==0.14.0
|
|
# via litellm
|
|
filelock==3.32.4
|
|
# via huggingface-hub
|
|
fonttools[woff]==4.63.0
|
|
# via weasyprint
|
|
frozenlist==1.8.0
|
|
# via
|
|
# aiohttp
|
|
# aiosignal
|
|
fsspec==2026.7.0
|
|
# via huggingface-hub
|
|
greenlet==3.5.5
|
|
# via -r requirements.txt
|
|
h11==0.16.0
|
|
# via
|
|
# httpcore
|
|
# uvicorn
|
|
hf-xet==1.6.0
|
|
# via huggingface-hub
|
|
hiredis==3.4.1
|
|
# via redis
|
|
httpcore==1.0.9
|
|
# via httpx
|
|
httptools==0.8.0
|
|
# via uvicorn
|
|
httpx==0.28.1
|
|
# via
|
|
# -r requirements.txt
|
|
# huggingface-hub
|
|
# litellm
|
|
# openai
|
|
huggingface-hub==1.28.0
|
|
# via tokenizers
|
|
idna==3.19
|
|
# via
|
|
# anyio
|
|
# email-validator
|
|
# httpx
|
|
# requests
|
|
# yarl
|
|
importlib-metadata==8.9.0
|
|
# via litellm
|
|
jinja2==3.1.6
|
|
# via
|
|
# -r requirements.txt
|
|
# litellm
|
|
jiter==0.16.0
|
|
# via openai
|
|
jmespath==1.1.0
|
|
# via
|
|
# boto3
|
|
# botocore
|
|
jsonschema==4.26.0
|
|
# via litellm
|
|
jsonschema-specifications==2025.9.1
|
|
# via jsonschema
|
|
litellm==1.98.0
|
|
# via -r requirements.txt
|
|
lxml==6.1.2
|
|
# via
|
|
# python-docx
|
|
# python-pptx
|
|
mako==1.4.1
|
|
# via alembic
|
|
markupsafe==3.0.3
|
|
# via
|
|
# jinja2
|
|
# mako
|
|
minio==7.2.20
|
|
# via -r requirements.txt
|
|
multidict==6.7.1
|
|
# via
|
|
# aiohttp
|
|
# yarl
|
|
nh3==0.3.7
|
|
# via -r requirements.txt
|
|
openai==2.54.0
|
|
# via litellm
|
|
openpyxl==3.1.5
|
|
# via -r requirements.txt
|
|
packaging==26.3
|
|
# via huggingface-hub
|
|
passlib[bcrypt]==1.7.4
|
|
# via -r requirements.txt
|
|
pgpy==0.6.0
|
|
# via -r requirements.txt
|
|
pgvector==0.5.0
|
|
# via -r requirements.txt
|
|
pillow==12.3.0
|
|
# via
|
|
# python-pptx
|
|
# weasyprint
|
|
prometheus-client==0.26.0
|
|
# via -r requirements.txt
|
|
propcache==0.5.2
|
|
# via
|
|
# aiohttp
|
|
# yarl
|
|
pyasn1==0.6.4
|
|
# via pgpy
|
|
pycparser==3.0
|
|
# via cffi
|
|
pycryptodome==3.23.0
|
|
# via minio
|
|
pydantic==2.13.4
|
|
# via
|
|
# -r requirements.txt
|
|
# fastapi
|
|
# litellm
|
|
# openai
|
|
# pydantic-settings
|
|
pydantic-core==2.46.4
|
|
# via pydantic
|
|
pydantic-settings==2.15.0
|
|
# via
|
|
# -r requirements.txt
|
|
# litellm
|
|
pydyf==0.12.1
|
|
# via weasyprint
|
|
pyjwt==2.13.0
|
|
# via redis
|
|
pypdf==6.16.2
|
|
# via -r requirements.txt
|
|
pyphen==0.18.1
|
|
# via weasyprint
|
|
python-dateutil==2.9.0.post0
|
|
# via
|
|
# botocore
|
|
# croniter
|
|
python-docx==1.2.0
|
|
# via -r requirements.txt
|
|
python-dotenv==1.2.3
|
|
# via
|
|
# litellm
|
|
# pydantic-settings
|
|
# uvicorn
|
|
python-multipart==0.0.32
|
|
# via -r requirements.txt
|
|
python-pptx==1.0.2
|
|
# via -r requirements.txt
|
|
pyyaml==6.0.3
|
|
# via
|
|
# huggingface-hub
|
|
# uvicorn
|
|
redis[hiredis]==5.3.1
|
|
# via
|
|
# -r requirements.txt
|
|
# arq
|
|
referencing==0.37.0
|
|
# via
|
|
# jsonschema
|
|
# jsonschema-specifications
|
|
regex==2026.7.19
|
|
# via tiktoken
|
|
requests==2.34.2
|
|
# via tiktoken
|
|
rpds-py==2026.6.3
|
|
# via
|
|
# jsonschema
|
|
# referencing
|
|
s3transfer==0.19.2
|
|
# via boto3
|
|
six==1.17.0
|
|
# via python-dateutil
|
|
sniffio==1.3.1
|
|
# via openai
|
|
sqlalchemy==2.0.35
|
|
# via
|
|
# -r requirements.txt
|
|
# alembic
|
|
starlette==1.3.1
|
|
# via
|
|
# -r requirements.txt
|
|
# fastapi
|
|
structlog==26.1.0
|
|
# via -r requirements.txt
|
|
tiktoken==0.14.0
|
|
# via litellm
|
|
tinycss2==1.5.1
|
|
# via
|
|
# cssselect2
|
|
# weasyprint
|
|
tinyhtml5==2.1.0
|
|
# via weasyprint
|
|
tokenizers==0.23.1
|
|
# via litellm
|
|
tqdm==4.70.0
|
|
# via
|
|
# huggingface-hub
|
|
# openai
|
|
typing-extensions==4.16.0
|
|
# via
|
|
# alembic
|
|
# fastapi
|
|
# huggingface-hub
|
|
# minio
|
|
# openai
|
|
# pydantic
|
|
# pydantic-core
|
|
# python-docx
|
|
# python-pptx
|
|
# sqlalchemy
|
|
# typing-inspection
|
|
typing-inspection==0.4.4
|
|
# via
|
|
# fastapi
|
|
# pydantic
|
|
# pydantic-settings
|
|
urllib3==2.7.0
|
|
# via
|
|
# botocore
|
|
# minio
|
|
# requests
|
|
uvicorn[standard]==0.52.4
|
|
# via -r requirements.txt
|
|
uvloop==0.22.1
|
|
# via uvicorn
|
|
watchfiles==1.2.0
|
|
# via uvicorn
|
|
weasyprint==69.0
|
|
# via -r requirements.txt
|
|
webencodings==0.6.1
|
|
# via
|
|
# cssselect2
|
|
# tinycss2
|
|
# tinyhtml5
|
|
websockets==17.0.1
|
|
# via uvicorn
|
|
xlsxwriter==3.2.9
|
|
# via python-pptx
|
|
yarl==1.24.5
|
|
# via aiohttp
|
|
zipp==4.1.0
|
|
# via importlib-metadata
|
|
zopfli==0.4.3
|
|
# via fonttools
|