29 lines
1.1 KiB
Plaintext
29 lines
1.1 KiB
Plaintext
# Pinned deliberately: this container is the assistant's whole view of the
|
|
# outside world, and a surprise minor bump in an extraction library changes
|
|
# what the model reads.
|
|
|
|
fastapi==0.141.1
|
|
uvicorn[standard]==0.52.4
|
|
pydantic==2.13.5
|
|
httpx[http2]==0.28.1
|
|
redis==8.1.0
|
|
|
|
# TLS certificate parsing for inspect_tls.
|
|
cryptography==50.0.1
|
|
|
|
# HTML -> markdown. Top scorer in the Bevendorff et al. content-extraction
|
|
# benchmark, ~15MB installed, and it hands back metadata (title, date,
|
|
# sitename) in the same call, which is what the citation lines are built from.
|
|
trafilatura==2.2.0
|
|
|
|
# PDF text. pypdf is BSD-3, pure Python, zero runtime deps, and handles the
|
|
# digitally-generated datasheets that make up most of what gets fetched.
|
|
# pdfminer.six (MIT) is the fallback for multi-column pages where pypdf
|
|
# interleaves columns - the normal shape of a parameter table.
|
|
#
|
|
# PyMuPDF is deliberately absent. It is faster, but it is AGPL-3.0, and its
|
|
# section 13 network clause is a live problem here specifically: this serves
|
|
# an assistant that five other people reach over a network.
|
|
pypdf==6.18.0
|
|
pdfminer.six==20260107
|