# This file was autogenerated by uv via the following command:
#    uv pip compile requirements.in -o requirements.txt -p 3.11 --universal
activitystream==0.5.1
    # via -r requirements.in
aiosmtpd==1.4.6
    # via -r requirements.in
anyio==4.6.0
    # via httpx
atpublic==9.0.0
    # via aiosmtpd
attrs==26.1.0
    # via aiosmtpd
beaker==1.14.1
    # via
    #   -r requirements.in
    #   beaker-session-jwt
beaker-session-jwt==1.0.4
    # via -r requirements.in
beautifulsoup4==4.15.0
    # via
    #   -r requirements.in
    #   webtest
boto3==1.43.114
    # via pymongo-auth-aws
botocore==1.43.114
    # via
    #   boto3
    #   pymongo-auth-aws
    #   s3transfer
certifi==2026.10.23
    # via
    #   httpcore
    #   httpx
    #   pymongo
    #   requests
cffi==2.1.1
    # via
    #   cryptography
    #   pymongocrypt
cfgv==3.5.0
    # via pre-commit
charset-normalizer==3.5.2
    # via requests
colander==1.8.3
    # via -r requirements.in
colorama==0.4.6 ; sys_platform == 'win32'
    # via
    #   defopt
    #   pytest
    #   qrcode
crank==0.8.1
    # via turbogears2
creoleparser==0.7.5
    # via pypeline
cryptography==50.0.2
    # via
    #   -r requirements.in
    #   joserfc
    #   pymongocrypt
decorator==5.3.1
    # via -r requirements.in
defopt==7.0.0
    # via -r requirements.in
diff-match-patch==20230430
    # via sxsdiff
distlib==0.4.3
    # via virtualenv
dnspython==2.9.0
    # via pymongo
docutils==0.23
    # via
    #   -r requirements.in
    #   defopt
    #   pypeline
easywidgets==0.5.0
    # via -r requirements.in
emoji==2.16.0
    # via -r requirements.in
execnet==2.1.2
    # via pytest-xdist
feedgenerator==2.2.1
    # via -r requirements.in
feedparser==6.0.14
    # via -r requirements.in
feedparser-sgmllib==2.1.0
    # via feedparser
filelock==4.2.4
    # via
    #   python-discovery
    #   virtualenv
formencode==2.1.1
    # via
    #   -r requirements.in
    #   easywidgets
genshi==0.7.11
    # via creoleparser
gitdb==4.0.12
    # via gitpython
gitpython==3.2.1
    # via -r requirements.in
gunicorn==26.2.0
    # via -r requirements.in
h11==0.16.0
    # via httpcore
html5lib==1.1
    # via -r requirements.in
httpcore==1.0.9
    # via httpx
httpx==0.27.2
    # via pymongocrypt
identify==2.6.20
    # via pre-commit
idna==3.20
    # via
    #   -r requirements.in
    #   anyio
    #   httpx
    #   requests
inflection==0.5.1
    # via profanityfilter
iniconfig==2.3.1
    # via pytest
iso8601==1.1.0
    # via colander
jinja2==3.1.6
    # via -r requirements.in
jmespath==1.1.0
    # via
    #   boto3
    #   botocore
joserfc==1.7.7
    # via beaker-session-jwt
legacy-cgi==2.6.2 ; python_full_version >= '3.13'
    # via
    #   -r requirements.in
    #   webob
lxml==6.1.3
    # via -r requirements.in
markdown==3.11.1
    # via
    #   -r requirements.in
    #   markdown-checklist
    #   mdx-breakless-lists
    #   pypeline
markdown-checklist==0.4.4
    # via -r requirements.in
markupsafe==3.0.4
    # via
    #   -r requirements.in
    #   easywidgets
    #   jinja2
    #   turbogears2
    #   webhelpers2
    #   werkzeug
mdx-breakless-lists==1.0.1
    # via -r requirements.in
ming==0.17.3
    # via -r requirements.in
mock==5.2.0
    # via -r requirements.in
nh3==0.3.7
    # via textile
nodeenv==1.11.0
    # via pre-commit
oauthlib==4.0.1
    # via
    #   -r requirements.in
    #   requests-oauthlib
packaging==26.3
    # via
    #   pymongocrypt
    #   pytest
    #   virtualenv
paginate==0.5.7
    # via -r requirements.in
passlib==1.7.4
    # via -r requirements.in
paste==3.10.1
    # via
    #   -r requirements.in
    #   easywidgets
    #   pastescript
pastedeploy==3.1.0
    # via
    #   -r requirements.in
    #   pastescript
pastescript==3.7.0
    # via -r requirements.in
pillow==13.0.0
    # via -r requirements.in
platformdirs==4.14.0
    # via virtualenv
pluggy==1.7.0
    # via pytest
pockets==0.9.1
    # via sphinxcontrib-napoleon
pre-commit==4.7.0
    # via -r requirements.in
profanityfilter==2.1.0
    # via -r requirements.in
pyasynchat==1.0.5
    # via -r requirements.in
pyasyncore==1.0.5
    # via pyasynchat
pycparser==3.11 ; implementation_name != 'PyPy'
    # via cffi
pygments==2.21.0
    # via
    #   -r requirements.in
    #   pytest
pymongo==4.19.0
    # via
    #   -r requirements.in
    #   activitystream
    #   beaker-session-jwt
    #   ming
pymongo-auth-aws==1.3.0
    # via pymongo
pymongocrypt==1.21.2
    # via pymongo
pypeline==0.8.1
    # via -r requirements.in
pysolr==3.11.0
    # via -r requirements.in
pytest==9.1.1
    # via
    #   -r requirements.in
    #   pytest-sugar
    #   pytest-xdist
pytest-sugar==1.1.1
    # via -r requirements.in
pytest-xdist==3.8.0
    # via -r requirements.in
python-dateutil==2.9.0.post0
    # via
    #   -r requirements.in
    #   botocore
    #   easywidgets
python-discovery==1.6.2
    # via virtualenv
python-magic==0.4.27
    # via -r requirements.in
python-oembed==0.2.4
    # via -r requirements.in
pytz==2026.5
    # via
    #   -r requirements.in
    #   ming
pyyaml==6.0.3
    # via pre-commit
qrcode==8.2
    # via -r requirements.in
regex==2026.9.29 ; implementation_name != 'pypy'
    # via textile
repoze-lru==0.8
    # via turbogears2
requests==2.34.2
    # via
    #   -r requirements.in
    #   pysolr
    #   requests-oauthlib
requests-oauthlib==2.0.0
    # via -r requirements.in
ruff==0.17.1
    # via -r requirements.in
s3transfer==0.19.2
    # via boto3
setproctitle==1.3.8
    # via -r requirements.in
setuptools==81.0.0
    # via
    #   -r requirements.in
    #   colander
    #   paste
    #   pastescript
    #   pysolr
six==1.17.0
    # via
    #   -r requirements.in
    #   creoleparser
    #   html5lib
    #   pockets
    #   python-dateutil
    #   sphinxcontrib-napoleon
    #   sxsdiff
    #   webhelpers2
smmap==5.0.3
    # via gitdb
sniffio==1.3.1
    # via
    #   anyio
    #   httpx
soupsieve==2.10 ; python_full_version < '3.11.5'
    # via beautifulsoup4
soupsieve==3.0.3 ; python_full_version >= '3.11.5'
    # via beautifulsoup4
sphinxcontrib-napoleon==0.7
    # via defopt
sxsdiff==0.3.0
    # via -r requirements.in
termcolor==3.3.0
    # via pytest-sugar
testfixtures==12.4.0
    # via -r requirements.in
textile==4.0.4
    # via pypeline
timermiddleware==0.7.0
    # via -r requirements.in
translationstring==1.4
    # via colander
turbogears2==2.5.0
    # via -r requirements.in
turbohtml==1.15.2
    # via
    #   -r requirements.in
    #   pypeline
typing-extensions==4.16.0
    # via
    #   beautifulsoup4
    #   testfixtures
tzdata==2025.2 ; sys_platform == 'win32'
    # via feedgenerator
urllib3==2.8.0
    # via
    #   botocore
    #   requests
virtualenv==21.14.13
    # via pre-commit
waitress==3.0.2
    # via webtest
webencodings==0.6.1
    # via html5lib
webhelpers2==2.1
    # via -r requirements.in
webob==1.8.11
    # via
    #   -r requirements.in
    #   easywidgets
    #   timermiddleware
    #   turbogears2
    #   webtest
webtest==3.0.7
    # via -r requirements.in
werkzeug==3.1.9
    # via -r requirements.in
wrapt==2.5.1
    # via -r requirements.in
