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
|
2019-02-28 02:01:49 +01:00
|
|
|
Django==1.11.20
|
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
|
2019-04-23 18:39:54 +02:00
|
|
|
Jinja2==2.10.1
|
2017-08-22 00:16:18 +02:00
|
|
|
|
|
|
|
# Needed for markdown processing
|
2018-12-20 08:28:40 +01:00
|
|
|
Markdown==3.0.1
|
2019-03-06 09:56:40 +01:00
|
|
|
MarkupSafe==1.1.1
|
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-04-23 20:28:53 +02:00
|
|
|
SQLAlchemy==1.3.3
|
2017-08-22 00:16:18 +02:00
|
|
|
|
|
|
|
# Needed for password hashing
|
2019-01-30 08:38:20 +01:00
|
|
|
argon2-cffi==19.1.0
|
2017-08-22 00:16:18 +02:00
|
|
|
|
|
|
|
# Needed for Tornado >3.2 compatibility
|
|
|
|
backports-abc==0.5
|
|
|
|
|
|
|
|
# Needed for Tornado 4 compatibility
|
2019-01-30 08:47:18 +01:00
|
|
|
backports.ssl-match-hostname==3.7.0.1
|
2017-08-22 00:16:18 +02:00
|
|
|
|
|
|
|
# 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-04-25 14:55:06 +02:00
|
|
|
certifi===2019.3.9
|
2017-08-22 00:16:18 +02:00
|
|
|
|
|
|
|
# Used for scrapy as well as argon2
|
2019-04-23 18:07:13 +02:00
|
|
|
cffi==1.12.3
|
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-03-06 09:13:54 +01:00
|
|
|
cryptography==2.6.1
|
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-04-23 18:32:25 +02:00
|
|
|
httplib2==0.12.3
|
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
|
|
|
|
2019-01-10 00:42:38 +01:00
|
|
|
# Needed for hipchat import
|
|
|
|
hypchat==0.21
|
|
|
|
|
2019-02-28 02:00:06 +01:00
|
|
|
# For doing highly usable Python profiling
|
|
|
|
line_profiler==2.1.2
|
|
|
|
|
2017-09-16 14:29:51 +02:00
|
|
|
# Needed for inlining the CSS in emails
|
2019-04-23 20:16:56 +02:00
|
|
|
premailer==3.4.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
|
2019-01-30 09:01:08 +01:00
|
|
|
oauthlib==3.0.1
|
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-31 08:10:34 +01:00
|
|
|
pika==0.13.0
|
2017-08-22 00:16:18 +02:00
|
|
|
|
|
|
|
# Needed to access our database
|
2019-04-23 20:20:20 +02:00
|
|
|
psycopg2==2.8.2 --no-binary psycopg2
|
2017-08-22 00:16:18 +02:00
|
|
|
|
2019-01-07 11:47:51 +01:00
|
|
|
pyasn1==0.4.5
|
2019-04-24 19:18:25 +02:00
|
|
|
pyasn1-modules==0.2.5
|
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-03-06 10:05:21 +01:00
|
|
|
python-dateutil==2.8.0
|
2017-08-22 19:32:38 +02:00
|
|
|
|
2017-08-22 00:16:18 +02:00
|
|
|
# Needed for timezone work
|
2019-04-23 20:23:45 +02:00
|
|
|
pytz==2019.1
|
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
|
2019-04-23 20:39:19 +02:00
|
|
|
virtualenv-clone==0.5.3
|
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.
|
2019-03-19 23:37:53 +01:00
|
|
|
-e "git+https://github.com/zulip/python-zulip-api.git@0.6.0#egg=zulip==0.6.0_git&subdirectory=zulip"
|
|
|
|
-e "git+https://github.com/zulip/python-zulip-api.git@0.6.0#egg=zulip_bots==0.6.0+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-04-23 18:43:15 +02:00
|
|
|
lxml==4.3.3
|
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-04-23 20:35:50 +02:00
|
|
|
twilio==6.26.1
|
2018-01-13 19:36:21 +01:00
|
|
|
|
2018-12-17 20:32:11 +01:00
|
|
|
# Needed for processing payments (in corporate)
|
2019-04-25 11:22:36 +02:00
|
|
|
stripe==2.27.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-04-23 18:28:13 +02:00
|
|
|
disposable-email-domains==0.0.49
|
2018-05-26 00:59:35 +02:00
|
|
|
|
|
|
|
# Needed for parsing YAML with JSON references from the REST API spec files
|
2019-01-07 16:47:23 +01:00
|
|
|
yamole==2.1.6
|
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"
|
2019-02-11 15:19:38 +01:00
|
|
|
|
|
|
|
# Needed for string matching in AlertWordProcessor
|
|
|
|
pyahocorasick==1.4.0
|