Commit Graph

1013 Commits

Author SHA1 Message Date
hackerkid db9d0b74a7 requirements: Upgrade Django to 1.10.5. 2017-01-19 14:11:07 -08:00
Tim Abbott 464411833d requirements: Upgrade mypy to 0.4.6 release. 2017-01-08 22:48:25 -08:00
Tim Abbott 687d0cbf9e docs: Add support for including markdown files in others.
This uses a third-party dependency, python-markdown-include.

The example use for settings is intended primarily as a demonstration.
2016-12-30 17:16:29 -08:00
Umair Khan 8acf2609de ldap: Use newer commit of fakeldap in requirements. 2016-12-30 16:55:05 -08:00
Rishi Gupta 13d1a636d5 queue_processors.SignupWorker: Upgrade to MailChimp API v3.0.
Removes the dependence on postmonkey, which is a wrapper around
MailChimp API v1.3. MailChimp recommends using their v3.0 API directly,
rather than through a wrapper library.
2016-12-29 16:16:18 -08:00
Umair Khan c24fbd28b2 Shift to python-gcm for Android push notifications.
Fixes #2650
2016-12-15 12:17:07 -08:00
Umair Khan efccefc386 Upgrade to the latest Django release, 1.10.4.
Most of the changes to support this were merged some time ago; what
remains are these changes:

* Update requirements.txt
* Django 1.10: Upgrade success-http-headers.txt file.

- We no longer get the absolute urls, see
  https://docs.djangoproject.com/en/1.10/releases/1.9/#http-redirects-no-longer-forced-to-absolute-uris
- The headers are capitalized, previously, they were in upper case.

* Bump PROVISON_VERSION to 3.0 since this is a disruptive change.

Fixes #3.
2016-12-14 22:43:20 -08:00
Umair Khan 9f5c961a1b Django 1.10: Use django-bitfield from Disqus.
Disqus is the upstream for django-bitfield and has now merged in the
support for Django 1.10 we were previously getting from another
repository.
2016-12-14 22:38:35 -08:00
Umair Khan 336a041ac0 Django 1.10: Use uWSGI.
Fixes: #1121

With some tweaks by tabbott to make the number of processes configurable.
2016-12-13 21:40:43 -08:00
Tim Abbott c77b1b2ac0 requirements: Stop using the `-e` feature for installing api bindings.
The `-e api/` line in requirements.txt caused various problems with
provisioning.  It's not entirely clearly why, but it seems likely to
be a bad interaction with our virtualenv caching logic.

Given that it only had marginal value over just installing the API
bindings in the first place, we're replacing this with just `api/`
instead.
2016-12-13 11:53:55 -08:00
Igor Tokarev c93f1d4eda Add oembed/Open Graph/Meta tags data retrieval from inline links.
This change adds support for displaying inline open graph previews for
links posted into Zulip.

It is designed to interact correctly with message editing.

This adds the new settings.INLINE_URL_EMBED_PREVIEW setting to control
whether this feature is enabled.

By default, this setting is currently disabled, so that we can burn it
in for a bit before it impacts users more broadly.

Eventually, we may want to make this manageable via a (set of?)
per-realm settings.  E.g. I can imagine a realm wanting to be able to
enable/disable it for certain URLs.
2016-12-07 17:40:18 -08:00
Anders Kaseorg 70c977696d requirements: Upgrade flup to 1.0.3.dev20161029 for Python 3 support
Signed-off-by: Anders Kaseorg <andersk@mit.edu>
2016-11-26 13:20:22 -08:00
Chelsea Voss 32f5db16fb Add pytest-runner as a prereq to pip installing python-twitter.
While I was setting up the dev environment, pip failed to install
python-twitter: https://github.com/bear/python-twitter/issues/406

This was fixed by manually installing pytest-runner before trying to
install python-twitter, for both the python and python3 virtualenvs.
2016-11-20 13:06:41 -08:00
Tim Abbott a960ff6773 requirements: Update cryptography packages. 2016-11-15 10:13:51 -08:00
Umair Khan 47e8a56870 Django 1.10: Use compatible django guardian. 2016-11-14 16:09:12 -08:00
Umair Khan e89af4c470 Django 1.10: Fix django-bitfield.
SubfieldBase was deprecated in Django 1.10 so the version we use now
doesn't rely on that class.
2016-11-14 16:09:12 -08:00
paxapy 456e761294 lint: Add pep8 checker to the project.
We set this up initially with all of the rules that Zulip violates
disabled.

Also, the pep8 linter is substantially slower than the other Zulip
linters, so we've put it behind an option to `tools/lint-all`.
2016-11-09 15:17:49 -08:00
paxapy 93965a8e89 Add tools for dumping and comparing markdown renderings.
This adds a couple new tools that can be used to determine whether a
particular change in Zulip's backend markdown processor would impact
the rendering of historical messages, without a human actually looking
at the message content.  This is a useful way to verify whether a
change to our markdown syntax is likely to create problems.

[commit message and code tweaked by tabbott]
2016-11-07 07:49:56 -08:00
Tim Abbott 50382f153a requirements: Upgrade pillow to the latest version. 2016-11-06 20:52:04 -08:00
Tim Abbott c6ceae868b requirements: Upgrade twisted, adding incremental and constantly.
Twisted 16.5.0 has a couple new dependencies.
2016-11-05 09:13:35 -07:00
Tim Abbott be506d63f6 requirements: Upgrade a bunch of minor Python package versions.
These are all minor versions and thus shouldn't have any impact.
2016-11-05 09:13:28 -07:00
K.Kanakhin 09e17fbe17 run-dev: Use tornado for dev proxy server for HTTP requests.
- Use tornado as proxy server for development environment,
  replacing twisted (this doesn't support websockets).
- Upgrade tornado version to 4.4.1 (needs to be coupled to the
  above since neither change works without the other)
2016-11-01 20:35:31 -07:00
Tim Abbott 7a02ed42e7 requirements: Move fakeldap to dev.txt. 2016-10-28 11:04:08 -07:00
Umair Khan 50422e775b Add LDAP tests. 2016-10-28 09:27:55 -07:00
K.Kanakhin 6b31fcd63a docs-test: Add scrapy crawler to check documentation not having broken links.
- Add scrapy project with rewrited 'crawl' command and spider to check documentation.
  Command was rewrited due to return exit status by the exception existing,
  it returns exit code 0 if exception happens inside spider in standard behavour.

- Add scrapy requirements to for dev environment. It was added to twisted requirements list.

Fixes #1492
2016-10-25 11:35:16 -07:00
Tim Abbott 0784c4b339 requirements: Install the Zulip API bindings by default.
Now that we're no longer using the --install-option feature of
requirements.txt, we can add this back in again.
2016-10-17 23:21:43 -07:00
Tim Abbott e91f227c0b requirements: Update python-social dependency.
Also, fix the use of `>=` in the version declarations; we want to be
precise about what versions we're installing.
2016-10-16 01:13:50 -07:00
Tim Abbott 14e2540b2f requirements: Upgrade a bunch of dependencies.
These are all minor version upgrades that should be safe.
2016-10-16 01:13:50 -07:00
Tim Abbott ec9dcd7fb4 Upgrade mypy to version 0.4.5.
Now that 0.4.5 is out, we no longer need to use a forked version of mypy.
2016-10-16 01:10:43 -07:00
umkay c028815385 bugdown: Update python-markdown to version 2.6.7.
This updates Bugdown to reflect the changes in the updated
markdown. In particular, we now pass a default config object in the
__init__ for the Bugdown extension, update the make_md_engine function
to take kwargs as opposed to a config list, and have UListProcessor
inherit from ulist as opposed to olist (which no longer works).

We update the (forked from upstream) fenced_code extension's
makeExtension to take args and kwargs, and update
FencedBlockPreprocessor __init__ method with updated Codehilite
arguments.

We update the (forked from upstream) Codehilite extension to
mirror the logic with the latest upstream Codehilite:
	Add parse_hl_lines function
	update makeExtension to take args and kwarfs instead of config
	list
	Add regex for highlight lines
	use linenums instead of linenos
	use get_formatter_by_name instead of HtmlFormatter
	user get_lexer_by_name instead of TextLexer
	add hl_lines and use_pygments arguments to the codehlite
	constructor
2016-10-15 23:38:32 -07:00
umkay bfbf07fde2 Update pinned SQLAlchemy requirement to latest upstream version.
The prerequisite to this change is
278574a6ec
2016-10-14 14:45:43 -07:00
Umair Khan 624f79a892 Use a version of Talon hardcoded to use the --no-ml argument.
This works around https://github.com/pypa/pip/issues/3845, where the
`--install-option` argument was incorrectly polluting other
dependencies).
2016-10-12 22:32:34 -07:00
K.Kanakhin e7642daa2a py3_prod: Add py3 production requirements file. 2016-10-11 14:19:00 -07:00
Tim Abbott 7639dc87a8 Revert "requirements: Install the Zulip API bindings by default."
This reverts commit de5b6d9e37.

This change appears to have caused problems provisioning due to a
conflict with the `--install-option` feature used by talon.
2016-10-10 23:36:01 -07:00
Tim Abbott de5b6d9e37 requirements: Install the Zulip API bindings by default.
Fixes: #1957.
2016-10-10 17:41:46 -07:00
K.Kanakhin 06e70e1fbd run-dev-proxy: Fix twisted py3 compatibility.
- All necessary strings was converted to bytestring
 - Added twisted as py3 dependency
 - Change type annotation for method getchild of class Resource
 - Remove activating python2 env section from run-dev.py script

Fixes #1256
2016-10-06 20:21:25 -07:00
Tim Abbott a17a6a21c0 Upgrade Django to 1.8.15 with Zulip patches. 2016-09-27 20:29:08 -07:00
Tim Abbott 535a40ded9 requirements: Add enum34 for ipython on python 2.
I guess we don't have anything that tests ipython in CI, so this was
missed when I upgraded ipython earlier this week.
2016-09-20 22:37:47 -07:00
Tim Abbott 59f3fd55c9 requirements: Upgrade moto and dependencies. 2016-09-19 22:55:05 -07:00
Umair Khan e3078b226a Optimize incremental virtualenv creation.
This adds a new system for copying packages from old virtualenvs that
are sufficiently similar to the new virtualenv required.

In practice, this results in a huge performance improvement for
re-provisioning Zulip development environments when the requirements
files have changed (which is the dominant performance problem with
provision today).

Fixes: #1507.
2016-09-19 22:35:32 -07:00
Tim Abbott 27e4ed126f requirements: Upgrade various Python dependencies. 2016-09-19 22:32:02 -07:00
Tim Abbott 0cab02b58a Upgrade mypy to latest upstream git.
This new mypy version supports some performance improvements and
should also facilitate running mypy on our scripts more efficiently.
2016-09-19 22:19:38 -07:00
umkay 82d03d603a Update Pygments to latest upstream version.
In HTML, the line break immediately following a start tag is ignored
(see: https://www.w3.org/TR/html4/appendix/notes.html#h-B.3.1). An
extra span tag has been introduced in the upstream Pygments
HtmlFormatter in order to preserve the first new line. The Bugdown
Tests as well as our fenced_code.js frontend markdown processor have
been updated to reflect this new behavior.
2016-09-12 21:58:25 -07:00
Tim Abbott 317e2a63b3 Remove tools/deprecated/review and associated files.
This hasn't been used since before Zulip was open source, and isn't
super reusable, so we can remove it.  It'll always be there in the
history if someone ends up wanting it.

While we're at it, we remove the GitPython dependency (only used for
this tool) and the example MSMTP config for the review tool.
2016-09-10 10:53:02 -07:00
Tim Abbott a4536cca1e emoji_dump: Generate a sprite sheet for the Zulip emoji. 2016-09-08 15:16:58 -07:00
Umair Khan 13159ab266 Provide versions through egg.
Giving version in the git urls will allow pip to compare the
installed version and skip the download if the installed
version is up to date.
2016-09-08 14:15:20 -07:00
ukhan 3c1027a584 Update sockjs-tornado to latest version. 2016-08-15 16:58:58 -07:00
ukhan a7607f843b Update Tornado to 3.2.2, which does not break tests 2016-08-15 16:57:19 -07:00
ukhan db81647b7b Update packages in requirements that won't break tests
upgrade moto, downgrade httpretty for compatibility

downgrade commonmark for compatibility
2016-08-12 17:56:23 -07:00
ukhan 180b438c44 Upgrade setuptools prior to updating mock 2016-08-12 17:56:23 -07:00
Umair Khan 2edb79776e Calculate translation percentages.
Fixes: #1397
2016-07-29 11:58:41 -07:00
Umair Khan 2df62d4539 Add socialauth requirements file. 2016-07-28 15:26:00 -07:00
Eklavya Sharma 80bb27570d Remove unneeded dependencies.
We install service-identity to prevent twisted from giving spammy
warnings.  However, we don't need the security features provided
by service-identity.  So we can remove most of its cryptographic
dependencies.
2016-07-28 14:52:09 -07:00
Eklavya Sharma 9922ecc7d6 Shift twisted to requirements/py2_dev.txt.
Since twisted is only used for running tools/run-dev.py, we only
need it in development.  Also twisted is not python 3 compatible.
So it should be shifter to requirements/py2_dev.txt.
2016-07-28 14:52:09 -07:00
Eklavya Sharma af28d026e3 Upgrade coverage. 2016-07-28 14:38:23 -07:00
Eklavya Sharma 68058d6ca0 Upgrade transifex-client and urllib3. 2016-07-28 14:38:23 -07:00
Eklavya Sharma cdf73ccf84 Upgrade lxml. 2016-07-28 14:38:23 -07:00
Eklavya Sharma eb34c249d7 Upgrade doc-building dependencies.
Upgrade alabaster and sphinx to latest version.
commonmark can't be updated because recommonmark uses an old
version of commonmark which is incompatible with latest version.
2016-07-27 14:47:29 -07:00
Tim Abbott 65175ef15a Test upgrading Tornado to 3.1.1. 2016-07-27 13:47:34 -07:00
Eklavya Sharma c51b5bced8 Upgrade regex. 2016-07-27 13:03:31 -07:00
Eklavya Sharma 933d327c1a Upgrade python-ldap. 2016-07-27 13:03:31 -07:00
Eklavya Sharma 3473891aa5 Upgrade enum34. 2016-07-27 13:03:31 -07:00
Eklavya Sharma 7c37316432 Upgrade pylibmc. 2016-07-27 13:03:31 -07:00
Eklavya Sharma a2a8b54f6e Upgrade pillow.
Update test images because pillow's resize algorithm has changed.
2016-07-26 16:36:07 +05:30
Tim Abbott b49b3d5899 Upgrade moto dependency versions. 2016-07-25 12:31:32 -07:00
Eklavya Sharma fb62e5c7bd Upgrade Twisted. 2016-07-25 08:45:10 -07:00
Eklavya Sharma 6ed5163795 Upgrade Jinja2. 2016-07-24 19:45:52 -07:00
Tim Abbott 5b583c7417 Fix django statsd packages. 2016-07-20 19:03:29 -07:00
Umair Khan 9dad92f323 Switch to upstream Talon repository. 2016-07-20 10:47:05 -07:00
Eklavya Sharma cfed816a52 tools/provision.py: Install a python2 venv with twisted.
Twisted is not python 3 compatible.  So for now create a python2
venv and install twisted in it when running provision.py in python3
mode and use twisted from the python2 venv.
2016-07-19 14:15:35 -07:00
Tim Abbott 139bca720d Upgrade ipython dependency versions. 2016-07-19 00:00:01 -07:00
Tim Abbott ef4d11e906 Upgrade Python RSA module. 2016-07-19 00:00:01 -07:00
Tim Abbott 40371422cd Upgrade to typing 3.5.2.2. 2016-07-19 00:00:01 -07:00
Tim Abbott fb86d91de2 Add missing django-statsd dependency.
This dependency is only needed if USING_STATSD is set, and so had
apparently been missed from our dependency list previously (since few
sites use that setting).
2016-07-18 11:01:13 -07:00
Eklavya Sharma fb1d00fc6c Upgrade python-twitter to latest version.
Fixes #1145.
2016-07-17 10:23:25 -07:00
Alex Gaynor a8a2e13096 Upgrade to the latest cryptography. 2016-07-15 12:25:48 -07:00
Eklavya Sharma 3894ea0e30 Upgrade mypy version. 2016-07-13 21:05:12 -07:00
Umair Khan 9f42fda7f4 Use stripped down version of Talon. 2016-07-13 11:24:18 -07:00
Umair Khan f45848f62f Install mypy-lang as egg.
It seems that --install-option given in any pip requirement
pollutes the pollutes the global space and causes installation
of mypy-lang to give error.
2016-07-13 11:24:18 -07:00
Umair Khan 395e053ce3 Revert "Revert "Extract reply from email.""
This reverts commit f1ba3ded42.
2016-07-13 11:24:18 -07:00
Umair Khan 0aae0eab49 Switch to PyAPNS for sending push notifications.
Switch to [PyAPNS](https://github.com/djacobs/PyAPNs).

Fixes #538.
2016-07-13 10:55:07 -07:00
Tim Abbott af8047967f Upgrade ujson to latest version (has indent option). 2016-07-12 22:39:06 -07:00
Tim Abbott 4f41aa0c0d Update ipython to version 5.0.0.
iPython 5.0.0 has awesome syntax highlighting.
2016-07-11 21:32:11 -07:00
Eklavya Sharma f1ba3ded42 Revert "Extract reply from email."
This reverts commit f1f48f305e.

The use of sklearn unfortunately caused a substantial slowdown to the
Zulip provisioning process, which didn't seem worth it for a
relatively minor feature.
2016-07-10 11:30:30 -07:00
Umair Khan 043ae8ad65 Upgrade to Django-Pipeline==1.6.8. 2016-07-09 07:09:55 -07:00
Tim Abbott d5be9e8b2d Upgrade django-auth-ldap to 1.2.8.
The new version is needed for Python 3 support.

Fixes #1175.
2016-07-08 11:08:08 -07:00
Umair Khan f1f48f305e Extract reply from email. 2016-07-08 10:58:25 -07:00
Eklavya Sharma 52129c03c8 requirements/py3_common.txt: Add missing packages.
These packages are imported but not used during setup.  So it's
okay to include them even if zulip doesn't support them yet.
2016-07-08 11:38:57 +05:30
Eklavya Sharma 7daa40bf4f Add python3-specific requirements files. 2016-07-02 11:53:26 -07:00
Eklavya Sharma fea6c56978 Move packages from prod.txt to py2_prod.txt. 2016-07-02 11:53:26 -07:00
Eklavya Sharma bf345a0b30 Move packages from common.txt to py2_common.txt. 2016-07-02 11:53:26 -07:00
Eklavya Sharma 146dc310a7 Add python2-specific requirements files.
For now just make these files point to their non-specific
counterparts.
2016-07-02 11:53:26 -07:00
Eklavya Sharma 3177cee740 Upgrade pyflakes. 2016-07-02 08:01:53 +05:30
Eklavya Sharma 766e055229 Upgrade six. 2016-07-02 08:01:48 +05:30
Eklavya Sharma 61d052ae41 Upgrade mypy version. 2016-07-01 20:16:36 +05:30
Eklavya Sharma bbd24168b6 requirements/prod.txt: Add netifaces, flup and python-dateutils.
netifaces is used in puppet/zulip_internal/files/zulip-ec2-configure-interfaces.
flup is used for fastcgi.
python-dateutils is used in some puppet scripts.
2016-06-27 19:12:32 -07:00
Tim Abbott 982cd5005b requirements: Remove duplicate coverage dependency. 2016-06-24 21:50:31 -07:00
Taranjeet 71c02c3391 Requirements: Add comments in common.txt.
Sourced primarily from puppet/zulip/manifests/app_frontend_base.pp.

[with some additions by tabbott]
2016-06-24 21:49:55 -07:00
Taranjeet 122fb8eb62 Requirements: Add comments in dev.txt. 2016-06-24 16:25:09 -07:00
Taranjeet c52049a85b Requirements: Add comments in docs.txt. 2016-06-24 16:25:08 -07:00
Taranjeet c5ceac9739 Requirements: Add comments in ipython.txt. 2016-06-24 16:24:05 -07:00
Taranjeet c9720f9b74 Requirements: Add comments in moto.txt. 2016-06-24 16:24:03 -07:00
Eklavya Sharma b30690e760 Move prod.txt to requirements/.
In 81ecfc5, prod.txt was unintentionally placed in Zulip's root directory
instead of requirements/.
2016-06-22 18:41:58 +05:30
Tim Abbott 2640cc44c7 Move coverage to dev requirements.txt. 2016-06-21 07:48:58 -07:00
Tim Abbott 5f958f46a5 Move pyflakes to dev requirements.txt. 2016-06-21 07:48:58 -07:00
Tim Abbott 1a876310bc Move ipython dependencies to their own requirements file. 2016-06-21 07:48:58 -07:00
Tim Abbott 09fcc079b4 Move moto dependencies to new requirements file. 2016-06-21 07:48:58 -07:00
Tim Abbott fd1a134bef Move transifex dependencies to dev.txt. 2016-06-21 07:48:58 -07:00
Tim Abbott b43bf10a93 Move recommonmark requirement to docs.txt. 2016-06-21 07:48:58 -07:00
Tim Abbott 7370fd69d7 Move doc building dependencies to requirements/docs.txt. 2016-06-20 16:05:42 -07:00
Eklavya Sharma 81ecfc5a43 Split requirements.txt into multiple files. 2016-06-20 11:09:20 -07:00
Tim Abbott 3899b4c913 Move py3k requirements to requirements/py3k.txt. 2016-06-18 16:41:40 -07:00
Tim Abbott 5c92639f81 Move mypy requirements to requirements/ directory. 2016-06-18 16:41:40 -07:00