forked from zulip/zulip
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcommon.in
201 lines (145 loc) · 4.54 KB
/
common.in
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
# After editing this file, you MUST afterward run
# /tools/update-locked-requirements to update requirements/dev.txt
# and requirements/prod.txt.
# See requirements/README.md for more detail.
# Django itself
Django[argon2]==4.2.*
# needed for NotRequired, ParamSpec
typing-extensions
# For type-safe returns.curry.partial
returns
# Needed for rendering backend templates
Jinja2
# Needed for Markdown processing
Markdown
importlib-metadata ; python_version < "3.10" # for Markdown
Pygments
jsx-lexer
uri-template
regex
# Needed for manage.py
ipython
# Needed for image processing
Pillow
# Needed for building complex DB queries
SQLAlchemy==1.4.*
greenlet
# Needed for S3 file uploads and other AWS tools
boto3
# The runtime-relevant part of boto3-stubs (see mypy.in)
mypy-boto3-s3
mypy-boto3-ses
mypy-boto3-sns
mypy-boto3-sqs
# Needed for integrations
defusedxml
# Needed for LDAP support
python-ldap
django-auth-ldap
# Django extension providing bitfield support
django-bitfield
# Needed for Android push notifications
python-gcm
# Needed for the email mirror
html2text
# Forked to avoid pulling in scipy: https://github.com/mailgun/talon/pull/200
# and to use a maintained cchardet fork: https://github.com/mailgun/talon/pull/233
https://github.com/zulip/talon/archive/5529af43ff5172ff30c1a7b99111a68dcd997810.zip#egg=talon-core==1.6.0+git&subdirectory=talon-core
# Needed for inlining the CSS in emails
css-inline
# Needed for JWT-based auth
PyJWT
# Needed to access RabbitMQ
pika
# Needed to access our database
psycopg2
# Needed for memcached usage
python-binary-memcached
# Needed for compression support in memcached via python-binary-memcached
django-bmemcached
# Needed for zerver/tests/test_timestamp.py
python-dateutil
# Needed for time zone work
https://github.com/andersk/zoneinfo/archive/f9687abaea8453be1c8d0e21544bd557d65af933.zip#egg=backports.zoneinfo==0.2.1+git ; python_version < "3.9" # https://github.com/pganssle/zoneinfo/pull/126
# Needed for Redis
redis
# Tornado used for server->client push system
tornado
# Fast JSON parser
orjson
# Needed for iOS push notifications
aioapns
python-twitter
# To parse po files
polib
# Needed for cloning virtual environments
virtualenv-clone
# Needed for link preview
beautifulsoup4
pyoembed
python-magic
# The Zulip API bindings, from its own repository. We integrate with
# these tightly, including fetching content not included in the official
# PyPI release tarballs, such as logos, assets and documentation files
# that we render on our /integrations/ page. Therefore, we need to pin
# the version from Git rather than a PyPI release. Keeping everything in
# one repository simplifies the process of implementing and documenting
# new bots for new contributors.
https://github.com/zulip/python-zulip-api/archive/0.8.2.zip#egg=zulip==0.8.2+git&subdirectory=zulip
https://github.com/zulip/python-zulip-api/archive/0.8.2.zip#egg=zulip_bots==0.8.2+git&subdirectory=zulip_bots
# Used for Hesiod lookups, etc.
py3dns
# Install Python Social Auth
social-auth-app-django
social-auth-core[azuread,openidconnect,saml]
python3-saml
# For encrypting a login token to the desktop app
cryptography
# Needed for messages' rendered content parsing in push notifications.
lxml
# Needed for 2-factor authentication
django-two-factor-auth[call,phonenumberslite,sms]
# Needed for processing payments (in corporate)
stripe
# For checking whether email of the user is from a disposable email provider.
disposable-email-domains
# Needed for parsing YAML with JSON references from the REST API spec files
jsonref
# Needed for string matching in AlertWordProcessor
pyahocorasick
# Needed for function decorators that don't break introspection.
# Used for rate limiting authentication.
decorator
# For server-side enforcement of password strength
zxcvbn
# Needed for sending HTTP requests
requests[security]
requests-oauthlib
# For OpenAPI schema validation.
openapi-core
importlib-resources ; python_version < "3.9"
# For reporting errors to sentry.io
sentry-sdk
# For detecting URLs to link
tlds
# Unicode Collation Algorithm for sorting multilingual strings
pyuca
# Handle connection retries with exponential backoff
backoff
# Needed for reading bson files in rocketchat import tool
pymongo
# Non-backtracking regular expressions
google-re2
# For querying recursive group membership
django-cte
# SCIM integration
django-scim2
# CSS manipulation
soupsieve
# Circuit-breaking for outgoing services
circuitbreaker
# Runtime monkeypatching of django-stubs generics
django-stubs-ext
# Structured data representation with parsing.
pydantic
annotated_types