2017-08-30 00:45:33 +02:00
|
|
|
# After editing this file, you MUST afterward run
|
2017-11-17 02:41:06 +01:00
|
|
|
# /tools/update-locked-requirements to update requirements/dev.txt
|
|
|
|
# and requirements/prod.txt.
|
2017-08-30 00:45:33 +02:00
|
|
|
# See requirements/README.md for more detail.
|
2017-10-19 06:48:23 +02:00
|
|
|
# Django itself
|
2018-10-31 20:12:11 +01:00
|
|
|
Django==1.11.16
|
2017-08-22 00:16:18 +02:00
|
|
|
|
2017-08-09 04:01:00 +02:00
|
|
|
# needed for mypy TypedDict
|
2018-10-19 23:06:16 +02:00
|
|
|
mypy_extensions==0.4.1
|
2017-08-09 04:01:00 +02:00
|
|
|
|
2017-08-22 00:16:18 +02:00
|
|
|
# Needed for rendering backend templates
|
2018-02-13 20:24:45 +01:00
|
|
|
Jinja2==2.10
|
2017-08-22 00:16:18 +02:00
|
|
|
|
|
|
|
# Needed for markdown processing
|
2018-02-13 20:31:09 +01:00
|
|
|
Markdown==2.6.11
|
2018-11-09 11:22:53 +01:00
|
|
|
MarkupSafe==1.1.0
|
2019-01-07 11:55:47 +01:00
|
|
|
Pygments==2.3.1
|
2017-08-22 00:16:18 +02:00
|
|
|
|
|
|
|
# Needed for manage.py
|
2018-07-30 12:39:26 +02:00
|
|
|
ipython==6.5.0
|
2017-08-22 00:16:18 +02:00
|
|
|
|
|
|
|
# Needed for Image Processing
|
2019-01-07 09:41:02 +01:00
|
|
|
Pillow==5.4.1
|
2017-08-22 00:16:18 +02:00
|
|
|
|
|
|
|
# Needed for building complex DB queries
|
2019-01-07 16:37:28 +01:00
|
|
|
SQLAlchemy==1.2.15
|
2017-08-22 00:16:18 +02:00
|
|
|
|
|
|
|
# Needed for password hashing
|
2018-11-09 07:32:51 +01:00
|
|
|
argon2-cffi==18.3.0
|
2017-08-22 00:16:18 +02:00
|
|
|
|
|
|
|
# Needed for Tornado >3.2 compatibility
|
|
|
|
backports-abc==0.5
|
|
|
|
|
|
|
|
# Needed for Tornado 4 compatibility
|
|
|
|
backports.ssl-match-hostname==3.5.0.1
|
|
|
|
|
|
|
|
# Needed for S3 file uploads
|
2018-07-30 10:58:12 +02:00
|
|
|
boto==2.49.0
|
2017-08-22 00:16:18 +02:00
|
|
|
|
2019-01-07 08:53:52 +01:00
|
|
|
certifi==2018.11.29
|
2017-08-22 00:16:18 +02:00
|
|
|
|
|
|
|
# Used for scrapy as well as argon2
|
2018-04-01 17:10:05 +02:00
|
|
|
cffi==1.11.5
|
2017-08-22 00:16:18 +02:00
|
|
|
|
|
|
|
chardet==3.0.4
|
|
|
|
|
|
|
|
# Pinned version because older versions don't compile on newer Linux.
|
|
|
|
# Not actually a direct dependency.
|
2019-01-07 08:57:09 +01:00
|
|
|
cryptography==2.4.2
|
2017-08-22 00:16:18 +02:00
|
|
|
|
|
|
|
# Needed for integrations
|
|
|
|
defusedxml==0.5.0
|
|
|
|
|
|
|
|
# Needed for LDAP support
|
2018-11-12 08:26:02 +01:00
|
|
|
django-auth-ldap==1.7.0
|
2017-08-22 00:16:18 +02:00
|
|
|
|
|
|
|
# Django extension providing bitfield support
|
2018-07-18 21:18:38 +02:00
|
|
|
-e git+https://github.com/zulip/django-bitfield@0d2b15cdb5af5ddec88d41cac19c0f2ce1b1ad38#egg=django-bitfield==1.9.3+dev.0d2b15cdb5af5ddec88d41cac19c0f2ce1b1ad38
|
2017-08-22 00:16:18 +02:00
|
|
|
|
|
|
|
# Django extension for sending data to statsd
|
2017-09-18 21:07:51 +02:00
|
|
|
django-statsd-mozilla==0.4.0
|
2017-08-22 00:16:18 +02:00
|
|
|
|
|
|
|
docopt==0.6.2
|
|
|
|
|
|
|
|
# Needed for Android push notifications
|
|
|
|
python-gcm==0.4
|
|
|
|
|
|
|
|
gitdb==0.6.4
|
|
|
|
|
|
|
|
# Needed for Google Apps mobile auth
|
2018-07-30 12:10:58 +02:00
|
|
|
google-api-python-client==1.7.4
|
2017-08-22 00:16:18 +02:00
|
|
|
|
|
|
|
# Needed for the email mirror
|
2018-02-13 20:10:51 +01:00
|
|
|
html2text==2018.1.9
|
2019-01-07 09:19:38 +01:00
|
|
|
httplib2==0.12.0
|
2017-10-03 18:03:53 +02:00
|
|
|
-e git+https://github.com/zulip/talon.git@7d8bdc4dbcfcc5a73298747293b99fe53da55315#egg=talon==1.2.10.zulip1
|
2017-08-22 00:16:18 +02:00
|
|
|
|
2017-09-16 14:29:51 +02:00
|
|
|
# Needed for inlining the CSS in emails
|
2018-05-02 19:26:56 +02:00
|
|
|
premailer==3.2.0
|
2017-09-16 14:29:51 +02:00
|
|
|
|
2017-08-22 00:16:18 +02:00
|
|
|
# Needed for JWT-based auth
|
2019-01-07 11:59:17 +01:00
|
|
|
PyJWT==1.7.1
|
2017-08-22 00:16:18 +02:00
|
|
|
|
|
|
|
# Needed for including other markdown files for user docs
|
|
|
|
markdown-include==0.5.1
|
|
|
|
|
|
|
|
# Needed for mock objects in decorators
|
|
|
|
mock==2.0.0
|
|
|
|
|
2018-11-09 11:24:17 +01:00
|
|
|
oauth2client==4.1.3
|
2018-05-24 13:14:17 +02:00
|
|
|
oauthlib==2.1.0
|
2017-08-22 00:16:18 +02:00
|
|
|
|
|
|
|
# Enhanced HTTPS support for httplib and urllib2 using PyOpenSSL
|
|
|
|
# Needed by requests to send https request to some sites.
|
2018-07-30 12:49:32 +02:00
|
|
|
ndg-httpsclient==0.5.1
|
2017-08-22 00:16:18 +02:00
|
|
|
|
|
|
|
# Needed to access rabbitmq
|
2018-04-11 08:34:53 +02:00
|
|
|
# See #8466 for why we're not using the latest version.
|
2019-01-07 09:37:36 +01:00
|
|
|
pika==0.12.0
|
2017-08-22 00:16:18 +02:00
|
|
|
|
|
|
|
# Needed to access our database
|
2018-11-12 08:50:26 +01:00
|
|
|
psycopg2==2.7.6.1 --no-binary psycopg2
|
2017-08-22 00:16:18 +02:00
|
|
|
|
2019-01-07 11:47:51 +01:00
|
|
|
pyasn1==0.4.5
|
2019-01-07 11:52:20 +01:00
|
|
|
pyasn1-modules==0.2.3
|
2017-08-22 00:16:18 +02:00
|
|
|
pycrypto==2.6.1
|
|
|
|
|
|
|
|
# Needed for memcached usage
|
2018-11-12 08:51:28 +01:00
|
|
|
pylibmc==1.6.0
|
2017-08-22 00:16:18 +02:00
|
|
|
|
2018-06-11 04:19:16 +02:00
|
|
|
# Needed for compression support in memcached via pylibmc
|
|
|
|
django-pylibmc==0.6.1
|
|
|
|
|
2017-08-22 19:32:38 +02:00
|
|
|
# Needed for zerver/tests/test_timestamp.py
|
2019-01-07 12:03:00 +01:00
|
|
|
python-dateutil==2.7.5
|
2017-08-22 19:32:38 +02:00
|
|
|
|
2017-08-22 00:16:18 +02:00
|
|
|
# Needed for timezone work
|
2019-01-07 12:06:23 +01:00
|
|
|
pytz==2018.9
|
2017-08-22 00:16:18 +02:00
|
|
|
|
|
|
|
# Needed for redis
|
|
|
|
redis==2.10.6
|
|
|
|
|
2018-11-07 01:23:13 +01:00
|
|
|
requests_oauthlib==1.0.0
|
2018-11-09 16:16:11 +01:00
|
|
|
rsa==4.0
|
2017-08-22 00:16:18 +02:00
|
|
|
|
|
|
|
# Needed for Python 2+3 compatibility
|
2019-01-07 16:32:53 +01:00
|
|
|
six==1.12.0
|
2017-08-22 00:16:18 +02:00
|
|
|
smmap==0.9.0
|
|
|
|
|
|
|
|
# Needed for Tornado websockets support
|
2018-11-09 16:19:45 +01:00
|
|
|
sockjs-tornado==1.0.6
|
2017-08-22 00:16:18 +02:00
|
|
|
|
|
|
|
# Needed to parse source maps for error reporting
|
|
|
|
sourcemap==0.2.1
|
|
|
|
|
|
|
|
# Tornado used for server->client push system
|
2018-02-13 21:44:35 +01:00
|
|
|
tornado==4.5.3
|
2017-08-22 00:16:18 +02:00
|
|
|
|
|
|
|
# Needed for Python static typing
|
2018-11-12 07:57:00 +01:00
|
|
|
typing==3.6.6
|
2017-08-22 00:16:18 +02:00
|
|
|
|
|
|
|
# Fast JSON parser
|
2017-08-30 00:58:47 +02:00
|
|
|
-e git+https://github.com/zulip/ultrajson@70ac02bec#egg=ujson==1.35+git
|
2017-08-22 00:16:18 +02:00
|
|
|
|
|
|
|
uritemplate==3.0.0
|
|
|
|
|
|
|
|
# Django extension for static asset pipeline
|
2018-02-13 20:02:59 +01:00
|
|
|
django-pipeline==1.6.14
|
2017-08-22 00:16:18 +02:00
|
|
|
|
|
|
|
# Django extension for serving webpack modules
|
2018-04-01 15:04:08 +02:00
|
|
|
django-webpack-loader==0.6.0
|
2017-08-22 00:16:18 +02:00
|
|
|
|
|
|
|
# Needed for iOS push notifications
|
2018-05-24 13:05:23 +02:00
|
|
|
apns2==0.4.1
|
2017-08-22 00:16:18 +02:00
|
|
|
|
2018-11-09 16:13:21 +01:00
|
|
|
python-twitter==3.5
|
2017-08-22 00:16:18 +02:00
|
|
|
|
|
|
|
# To parse po files
|
2018-02-13 20:53:36 +01:00
|
|
|
polib==1.1.0
|
2017-08-22 00:16:18 +02:00
|
|
|
|
|
|
|
# Needed for cloning virtual environments
|
2018-11-12 07:58:31 +01:00
|
|
|
virtualenv-clone==0.4.0
|
2017-08-22 00:16:18 +02:00
|
|
|
|
|
|
|
# Needed for reading json as stream
|
|
|
|
ijson==2.3
|
|
|
|
|
|
|
|
# Needed for link preview
|
2019-01-07 08:50:53 +01:00
|
|
|
beautifulsoup4==4.7.1
|
2017-11-17 17:30:09 +01:00
|
|
|
pyoembed==0.1.2
|
2017-08-22 00:16:18 +02:00
|
|
|
|
2018-04-17 01:36:00 +02:00
|
|
|
# The Zulip API bindings, from its own repository. We integrate with
|
|
|
|
# these tightly, including fetching content not included in the normal
|
|
|
|
# release tarballs (which is a bug). So we need to pin it makes sense
|
|
|
|
# to pin a version from Git rather than a release.
|
2018-12-17 22:33:09 +01:00
|
|
|
-e "git+https://github.com/zulip/python-zulip-api.git@0.5.6#egg=zulip==0.5.6_git&subdirectory=zulip"
|
|
|
|
-e "git+https://github.com/zulip/python-zulip-api.git@0.5.6#egg=zulip_bots==0.5.6+git&subdirectory=zulip_bots"
|
2017-05-14 07:09:42 +02:00
|
|
|
|
2016-07-02 07:26:18 +02:00
|
|
|
# Used for Hesiod lookups, etc.
|
2018-07-30 13:17:57 +02:00
|
|
|
py3dns==3.2.0
|
2016-07-03 09:21:33 +02:00
|
|
|
|
2016-07-20 12:16:02 +02:00
|
|
|
# Install Python Social Auth
|
2018-11-09 16:18:35 +01:00
|
|
|
social-auth-app-django==3.1.0
|
2017-10-05 23:03:30 +02:00
|
|
|
|
|
|
|
# Needed for messages' rendered content parsing in push notifications.
|
2019-01-07 09:30:39 +01:00
|
|
|
lxml==4.3.0
|
2017-11-29 00:13:09 +01:00
|
|
|
|
|
|
|
# Needed for 2-factor authentication
|
2018-11-09 07:53:03 +01:00
|
|
|
django-two-factor-auth==1.8.0
|
2019-01-07 16:44:10 +01:00
|
|
|
twilio==6.22.1
|
2018-01-13 19:36:21 +01:00
|
|
|
|
2018-12-17 20:32:11 +01:00
|
|
|
# Needed for processing payments (in corporate)
|
2019-01-07 16:40:35 +01:00
|
|
|
stripe==2.17.0
|
2018-02-12 18:18:03 +01:00
|
|
|
|
|
|
|
# Needed for serving uploaded files from nginx but perform auth checks in django.
|
|
|
|
django-sendfile==0.3.11
|
2018-03-05 12:28:41 +01:00
|
|
|
|
|
|
|
# For checking whether email of the user is from a disposable email provider.
|
2019-01-07 09:00:37 +01:00
|
|
|
disposable-email-domains==0.0.39
|
2018-05-26 00:59:35 +02:00
|
|
|
|
|
|
|
# Needed for parsing YAML with JSON references from the REST API spec files
|
2018-06-21 00:37:50 +02:00
|
|
|
yamole==2.1.5
|
2018-07-12 17:25:05 +02:00
|
|
|
|
|
|
|
# Needed for signing thumbnail requests so that they can be authenticated on the
|
2018-10-17 20:15:02 +02:00
|
|
|
# other end. Using a fork to eliminate a really slow pkgresources import.
|
|
|
|
-e "git+https://github.com/zulip/libthumbor.git@60ed2431c07686a12f2770b2d852c5650f3ccfc6#egg=libthumbor==1.3.2zulip"
|