Jinja2>=2.9
bleach>=1.4.3

[acme]
txacme>=0.9.2

[acme:python_version < "3.5.3"]
eliot<1.8.0

[all]
authlib>=0.14.0
hiredis
jaeger-client>=4.0.0
lxml>=3.5.0
matrix-synapse-ldap3>=0.1
opentracing>=2.2.0
psycopg2>=2.8
pyjwt>=1.6.4
sentry-sdk>=0.7.2
txacme>=0.9.2
txredisapi>=1.4.7

[all:python_version < "3.5.3"]
eliot<1.8.0

[all:python_version < "3.6"]
pysaml2<6.4.0,>=4.5.0

[all:python_version >= "3.6"]
pysaml2>=4.5.0

[jwt]
pyjwt>=1.6.4

[lint]
black==19.10b0
flake8
flake8-comprehensions
isort==5.0.3

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

[mypy]
mypy-zope==0.2.8
mypy==0.790

[oidc]
authlib>=0.14.0

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

[postgres]
psycopg2>=2.8

[redis]
hiredis
txredisapi>=1.4.7

[saml2]

[saml2:python_version < "3.6"]
pysaml2<6.4.0,>=4.5.0

[saml2:python_version >= "3.6"]
pysaml2>=4.5.0

[sentry]
sentry-sdk>=0.7.2

[systemd]
systemd-python>=231

[test]
mock>=2.0
parameterized>=0.7.0

[url_preview]
lxml>=3.5.0
