zulip/requirements
Mateusz Mandera 8f6f78b912 requirements: Upgrade redis from 2.10.6 to 3.2.1.
Fixes #11209.

This requires changing how zadd is used in rate_limiter.py:
In redis-py >= 3.0 the pairs to ZADD need to be passed as a dictionary,
not as *args or **kwargs, as described at
https://pypi.org/project/redis/3.2.1/ in the section
"Upgrading from redis-py 2.X to 3.0".

The rate_limiter change has to be in one commit with the redis upgrade,
because the dict format is not supported before redis-py 3.0.
2019-07-29 15:34:05 -07:00
..
README.md requirements: Improve README's format. 2018-05-26 06:26:14 -07:00
common.in requirements: Upgrade redis from 2.10.6 to 3.2.1. 2019-07-29 15:34:05 -07:00
dev.in zulint: Use zulint from the extracted repository. 2019-07-26 11:35:43 -07:00
dev.txt requirements: Upgrade redis from 2.10.6 to 3.2.1. 2019-07-29 15:34:05 -07:00
docs.in requirements: Remove unused dependencies. 2019-07-10 15:44:50 -07:00
docs.txt requirements: Remove unused dependencies. 2019-07-10 15:44:50 -07:00
mypy.in requirements: Upgrade to mypy 0.720. 2019-07-25 17:41:10 -07:00
mypy.txt requirements: Upgrade to mypy 0.720. 2019-07-25 17:41:10 -07:00
pip.txt requirements: Upgrade wheel from 0.33.1 to 0.33.4. 2019-07-26 10:57:31 -07:00
prod.in requirements: Upgrade uWSGI to 2.0.17.1. 2018-07-31 11:13:22 -07:00
prod.txt requirements: Upgrade redis from 2.10.6 to 3.2.1. 2019-07-29 15:34:05 -07:00
thumbor.in requirements: Upgrade certifi from 2019.3.9 to 2019.6.16. 2019-07-26 10:57:31 -07:00
thumbor.txt requirements: Upgrade certifi from 2019.3.9 to 2019.6.16. 2019-07-26 10:57:31 -07:00
unupgradable.json requirements: Add Pillow to unupgradable.json. 2019-04-26 16:22:00 -07:00

README.md

The dependency graph of the requirements is as follows:

dev         prod
+ +          +
| +->common<-+
v
mypy,docs

Of the files, only dev, prod, and mypy have been used in the install scripts directly. The rest are implicit dependencies.

common and dev are locked.

Steps to update a lock file, e.g. to update ipython from 5.3.0 to 6.0.0 in common.in and propagate it to dev.txt and prod.txt: 0. Replace ipython==5.4.1 with ipython==6.0.0 in common.in.

  1. Run ./tools/update-locked-requirements.
  2. Increase PROVISION_VERSION in version.py.
  3. Run ./tools/provision to install the new deps and test them.
  4. Commit your changes.