django>=2.2,<2.3
django-ckeditor==6.1.0
django-phonenumber-field[phonenumbers]==5.2.0
django-reversion==3.0.9
django-xforwardedfor-middleware==2.0
django-otp==1.1.1
django-filter

dj-database-url

djangorestframework>=3.11,<3.13
drf-spectacular
uritemplate
djangorestframework-simplejwt==4.8.0
drf-flex-fields

passlib~=1.7.4
bcrypt  # Requires libffi-dev and python-dev

dnspython==2.1.0
feedparser==6.0.8
greenlet==1.1.2
gevent==21.8.0
jsonfield==3.1.0
Pillow  # Optional dependency for django-ckeditor
progressbar33==2.4
py-dateutil==2.2
cryptography
pytz
requests
lxml
chardet
ovh
oath
redis
rrdtool>=0.1.10
qrcode

aiosmtplib
aioredis==1.3.1

django>=2.2,<2.3
django-ckeditor==6.1.0
django-phonenumber-field[phonenumbers]==5.2.0
django-reversion==3.0.9
django-xforwardedfor-middleware==2.0
django-otp==1.1.1
django-filter
docutils<0.18

dj-database-url

djangorestframework>=3.11,<3.13
drf-spectacular
uritemplate
djangorestframework-simplejwt==4.8.0
drf-flex-fields

passlib~=1.7.4
bcrypt  # Requires libffi-dev and python-dev

dnspython==2.1.0
feedparser==6.0.8
greenlet==1.1.2
gevent==21.8.0
jsonfield==3.1.0
Pillow  # Optional dependency for django-ckeditor
progressbar33==2.4
py-dateutil==2.2
cryptography
pytz
requests
lxml
chardet
ovh
oath
redis
rrdtool>=0.1.10
qrcode

aiosmtplib
aioredis==1.3.1

Use docutils<0.18 to fix documentation generation.
Use docutils<0.18 to fix documentation generation.
