| ActivityStream==0.3.0 |
| beautifulsoup4 |
| Beaker |
| backlash==0.1.4 |
| chardet |
| colander==1.7.0 |
| cryptography |
| decorator |
| EasyWidgets>=0.3.6 |
| emoji |
| # only needed < py3.4 and causes problems >=3.6 https://stackoverflow.com/a/45716067/ |
| enum34 ; python_version < "3.4" |
| faulthandler ; python_version < "3.3" |
| feedgenerator |
| feedparser |
| FormEncode>=2 |
| GitPython==2.1.11 |
| html5lib==1.0.1 |
| Jinja2 |
| Markdown<3 |
| markdown-checklist==0.4.1 |
| MarkupSafe |
| Ming==0.10.2 |
| # TODO: move to "oauthlib" instead |
| # oauth2 doesn't have a release with py3.6 support, but does have fixes on master: |
| # archive/.../.zip URL is preferable over git+https://... since it supports pip hash generating+checking |
| https://github.com/joestump/python-oauth2/archive/b94f69b1ad195513547924e380d9265133e995fa.zip#egg=oauth2 |
| paginate |
| Paste>=3.5 |
| PasteDeploy |
| PasteScript |
| Pillow |
| # profanity filter for feedback |
| profanityfilter==2.0.6 |
| Pygments |
| pymongo==3.10.1 |
| Pypeline[creole,markdown,textile,rst] |
| pysolr==3.6.0 |
| python-dateutil |
| python-magic |
| python-oembed |
| pytz==2019.1 |
| qrcode |
| requests |
| requests-oauthlib |
| # for taskd proc name switching |
| setproctitle==1.1.9 |
| six |
| TimerMiddleware==0.5.1 |
| TurboGears2==2.3.12 |
| WebHelpers2 |
| WebOb==1.7.4 |
| wrapt==1.11.2 |
| |
| # testing |
| datadiff |
| ipython<6 # Ipython 7 starts to require py3 |
| mock |
| nose |
| pyflakes |
| #pylint -- disabled due to [#8346] (also requires diff versions on py2 vs 3, including transitive deps which gets tricky with pip-compile) |
| testfixtures |
| WebTest==2.0.33 |
| |
| # deployment |
| gunicorn==19.5.0 |