zulip/requirements
Harshit Bansal 2b7dd8e437 requirements: Add 'lxml' as a dependency required for parsing HTML.
We need to parse rendered HTML content of messages while preparing
content for mobile push notifications and for doing so we need to
use lxml's HTML parser.
2017-10-06 16:37:17 -07:00
..
README.md requirements: Add documentation on regenerating lockfiles. 2017-09-15 07:58:19 -07:00
common.txt requirements: Add 'lxml' as a dependency required for parsing HTML. 2017-10-06 16:37:17 -07:00
dev.txt requirements: Switch fakeldap to a zulip fork. 2017-10-03 08:52:44 -07:00
dev_lock.txt requirements: Add 'lxml' as a dependency required for parsing HTML. 2017-10-06 16:37:17 -07:00
docs.txt requirements: Upgrade babel to 2.5.1. 2017-09-19 19:07:58 -07:00
mypy.txt requirements: Upgrade mypy to version 0.530. 2017-10-06 15:55:11 -07:00
pip.txt requirements: Upgrade wheel to 0.30.0. 2017-09-19 19:07:58 -07:00
prod.txt requirements: Add documentation on regenerating lockfiles. 2017-09-15 07:58:19 -07:00
prod_lock.txt requirements: Add 'lxml' as a dependency required for parsing HTML. 2017-10-06 16:37:17 -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.txt and propagate it to dev_lock.txt and prod_lock.txt: 0. Replace ipython==5.4.1 with ipython==6.0.0 in common.txt

  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.