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-08-15 08:56:20 +02:00
|
|
|
Django==1.11.23
|
2017-08-22 00:16:18 +02:00
|
|
|
|
2019-08-06 01:29:34 +02:00
|
|
|
# needed for Deque (in Python < 3.5.4) and TypedDict
|
|
|
|
typing_extensions==3.7.4
|
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
|
2019-07-03 06:26:56 +02:00
|
|
|
Markdown==3.1.1
|
2019-07-25 13:26:05 +02:00
|
|
|
Pygments==2.4.2
|
2019-07-19 07:46:07 +02:00
|
|
|
hyperlink==19.0.0
|
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-07-05 07:53:18 +02:00
|
|
|
Pillow==6.1.0
|
2017-08-22 00:16:18 +02:00
|
|
|
|
|
|
|
# Needed for building complex DB queries
|
2019-07-25 13:33:49 +02:00
|
|
|
SQLAlchemy==1.3.6
|
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 S3 file uploads
|
2018-07-30 10:58:12 +02:00
|
|
|
boto==2.49.0
|
2017-08-22 00:16:18 +02:00
|
|
|
|
|
|
|
# Needed for integrations
|
2019-07-26 10:04:24 +02:00
|
|
|
defusedxml==0.6.0
|
2017-08-22 00:16:18 +02:00
|
|
|
|
|
|
|
# Needed for LDAP support
|
2019-07-25 12:33:44 +02:00
|
|
|
django-auth-ldap==2.0.0
|
2017-08-22 00:16:18 +02:00
|
|
|
|
|
|
|
# Django extension providing bitfield support
|
2019-07-25 12:38:29 +02:00
|
|
|
django-bitfield==1.9.6
|
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
|
|
|
|
|
|
|
# Needed for Android push notifications
|
|
|
|
python-gcm==0.4
|
|
|
|
|
|
|
|
# Needed for the email mirror
|
2018-02-13 20:10:51 +01:00
|
|
|
html2text==2018.1.9
|
2019-07-25 12:48:02 +02:00
|
|
|
httplib2==0.13.0
|
2019-08-25 01:38:20 +02:00
|
|
|
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
|
2019-08-25 01:38:20 +02:00
|
|
|
git+https://github.com/zulip/line_profiler.git#egg=line_profiler==2.1.2.zulip1
|
2019-02-28 02:00:06 +01:00
|
|
|
|
2017-09-16 14:29:51 +02:00
|
|
|
# Needed for inlining the CSS in emails
|
2019-07-25 13:16:09 +02:00
|
|
|
premailer==3.5.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
|
2019-07-25 13:02:58 +02:00
|
|
|
mock==3.0.5
|
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-07-25 13:21:07 +02:00
|
|
|
psycopg2==2.8.3 --no-binary psycopg2
|
2017-08-22 00:16:18 +02:00
|
|
|
|
|
|
|
# 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
|
2019-07-28 15:08:55 +02:00
|
|
|
redis==3.2.1
|
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
|
|
|
|
|
|
|
# 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
|
|
|
|
|
|
|
# Fast JSON parser
|
2019-08-25 01:38:20 +02:00
|
|
|
git+https://github.com/zulip/ultrajson@70ac02bec#egg=ujson==1.35+git
|
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
|
2019-07-25 12:19:05 +02:00
|
|
|
apns2==0.5.0
|
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
|
2019-07-25 12:52:50 +02:00
|
|
|
ijson==2.4
|
2017-08-22 00:16:18 +02:00
|
|
|
|
|
|
|
# Needed for link preview
|
2019-07-25 12:24:07 +02:00
|
|
|
beautifulsoup4==4.8.0
|
2017-11-17 17:30:09 +01:00
|
|
|
pyoembed==0.1.2
|
2019-05-05 05:28:13 +02:00
|
|
|
python-magic==0.4.15
|
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-08-25 01:38:20 +02:00
|
|
|
git+https://github.com/zulip/python-zulip-api.git@804501610b6a205334e71b4e441fca60acf650da#egg=zulip==0.6.1_git&subdirectory=zulip
|
|
|
|
git+https://github.com/zulip/python-zulip-api.git@804501610b6a205334e71b4e441fca60acf650da#egg=zulip_bots==0.6.1+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-07-25 12:57:45 +02:00
|
|
|
lxml==4.3.4
|
2017-11-29 00:13:09 +01:00
|
|
|
|
|
|
|
# Needed for 2-factor authentication
|
2019-07-25 12:43:13 +02:00
|
|
|
django-two-factor-auth==1.9.1
|
2019-05-27 14:20:54 +02:00
|
|
|
|
|
|
|
# Required by django-phonenumber-field which is a dependency of django-two-factor-auth.
|
|
|
|
# Developers can install either phonenumberslite or phonenumbers. Developers of
|
|
|
|
# django-two-factor-auth has not specified which package to install so we are going
|
|
|
|
# with phonenumberslite since it has less memory footprint.
|
2019-07-25 13:07:52 +02:00
|
|
|
phonenumberslite==8.10.15
|
2019-05-27 14:20:54 +02:00
|
|
|
|
2019-07-25 13:38:52 +02:00
|
|
|
twilio==6.29.2
|
2018-01-13 19:36:21 +01:00
|
|
|
|
2018-12-17 20:32:11 +01:00
|
|
|
# Needed for processing payments (in corporate)
|
2019-08-19 10:47:22 +02:00
|
|
|
stripe==2.35.0
|
2018-02-12 18:18:03 +01:00
|
|
|
|
|
|
|
# Needed for serving uploaded files from nginx but perform auth checks in django.
|
2019-08-12 01:52:09 +02:00
|
|
|
django-sendfile2==0.4.2
|
2018-03-05 12:28:41 +01:00
|
|
|
|
|
|
|
# For checking whether email of the user is from a disposable email provider.
|
2019-07-25 12:29:01 +02:00
|
|
|
disposable-email-domains==0.0.52
|
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.
|
2019-08-25 01:38:20 +02:00
|
|
|
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
|
2019-08-01 15:04:02 +02:00
|
|
|
|
|
|
|
# Needed for function decorators that don't break introspection.
|
|
|
|
# Used for rate limiting authentication.
|
|
|
|
decorator==4.4.0
|