Jinja2>=3.0
Pillow>=10.0.1
PyYAML>=3.13
Twisted[tls]>=18.9.0
attrs!=21.1.0,>=19.2.0
bcrypt>=3.1.7
bleach>=1.4.3
canonicaljson<3.0.0,>=2.0.0
cryptography>=3.4.7
ijson>=3.1.4
immutabledict>=2.0
jsonschema>=3.0.0
matrix-common<2.0.0,>=1.3.0
msgpack>=0.5.2
netaddr>=0.7.18
packaging>=20.0
phonenumbers>=8.2.0
prometheus-client>=0.4.0
pyOpenSSL>=16.0.0
pyasn1-modules>=0.0.7
pyasn1>=0.1.9
pydantic<3,>=1.7.4
pymacaroons>=0.13.0
service-identity>=18.1.0
signedjson<2.0.0,>=1.1.0
sortedcontainers>=1.5.2
treq>=15.1
typing-extensions>=3.10.0.1
unpaddedbase64>=2.1.0

[all]
matrix-synapse-ldap3>=0.1
pysaml2>=4.5.0
authlib>=0.15.1
lxml>=4.2.0
sentry-sdk>=0.7.2
opentracing>=2.2.0
jaeger-client>=4.0.0
txredisapi>=1.4.7
hiredis
Pympler
pyicu>=2.10.2

[all:platform_python_implementation != "PyPy"]
psycopg2>=2.8

[all:platform_python_implementation == "PyPy"]
psycopg2cffi>=2.8
psycopg2cffi-compat==1.1

[cache-memory]
Pympler

[jwt]
authlib>=0.15.1

[matrix-synapse-ldap3]
matrix-synapse-ldap3>=0.1

[oidc]
authlib>=0.15.1

[opentracing]
opentracing>=2.2.0
jaeger-client>=4.0.0

[postgres:platform_python_implementation != "PyPy"]
psycopg2>=2.8

[postgres:platform_python_implementation == "PyPy"]
psycopg2cffi>=2.8
psycopg2cffi-compat==1.1

[redis]
txredisapi>=1.4.7
hiredis

[saml2]
pysaml2>=4.5.0

[sentry]
sentry-sdk>=0.7.2

[systemd]
systemd-python>=231

[test]
parameterized>=0.7.4
idna>=2.5

[url-preview]
lxml>=4.2.0

[user-search]
pyicu>=2.10.2
