zulip/requirements
Mateusz Mandera 8dd95bd057 tests: Replace httpretty with responses.
responses is an module analogous to httpretty for mocking external
URLs, with a very similar interface (potentially cleaner in that it
makes use of context managers).

The most important (in the moment) problem with httpretty is that it
breaks the ability to use redis in parts of code where httpretty is
enabled.  From more research, the module in general has tendency to
have various troublesome bugs with breaking URLs that it shouldn't be
affecting, caused by it working at the socket interface layer.  While
those issues could be fixed, responses seems to be less buggy (based
on both third-party reports like ckan/ckan#4755 and our own experience
in removing workarounds for bugs in httpretty) and is more actively
maintained.
2020-01-22 11:56:15 -08:00
..
README.md requirements: Improve README's format. 2018-05-26 06:26:14 -07:00
common.in dependencies: Remove WebSockets system for sending messages. 2020-01-14 22:34:00 -08:00
dev.in tests: Replace httpretty with responses. 2020-01-22 11:56:15 -08:00
dev.txt tests: Replace httpretty with responses. 2020-01-22 11:56:15 -08:00
docs.in docs: Upgrade recommonmark to 0.6.0, fixing issues. 2019-10-02 12:29:24 -07:00
docs.txt requirements: Upgrade versions of indirect dependencies. 2019-12-11 15:59:30 -08:00
mypy.in mypy: Upgrade from 0.730 to 0.740. 2019-11-13 12:38:45 -08:00
mypy.txt requirements: Upgrade versions of indirect dependencies. 2019-12-11 15:59:30 -08:00
pip.in requirements: Generate pip.txt from pip.in like the other *.txt files. 2019-09-23 13:23:58 -07:00
pip.txt requirements: Upgrade versions of indirect dependencies. 2019-12-11 15:59:30 -08:00
prod.in requirements: Remove unnecessary version bounds from *.in. 2019-09-23 13:23:58 -07:00
prod.txt dependencies: Remove WebSockets system for sending messages. 2020-01-14 22:34:00 -08:00
thumbor-dev.in requirements: Remove unnecessary version bounds from *.in. 2019-09-23 13:23:58 -07:00
thumbor-dev.txt requirements: Upgrade versions of indirect dependencies. 2019-12-11 15:59:30 -08:00
thumbor.in requirements: Remove unnecessary version bounds from *.in. 2019-09-23 13:23:58 -07:00
thumbor.txt requirements: Upgrade versions of indirect dependencies. 2019-12-11 15:59:30 -08: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.