zulip/requirements/README.md

1.3 KiB

The dependency graph of the requirements is as follows:

py3_dev          py3_prod py2_prod
+  + +              +  +  +   +
|  | +->py3_common<-+  v  v   +>py2_common+----+
|  |    |   +          prod     |    +         |
|  |    |   v                   |    v         |
|  |    |py3_socialauth         |py2_socialauth|
|  v    |                       |              |
| >dev  +--->common<------------+              |
| | +           +                              |
| | v           +-->emailmirror                |
| |docs,moto,py3k,twisted                      |
| +-----------------------------------+py2_dev<+
v
mypy

Of the files, only py2_dev, py2_prod, py3_dev, py3_prod, and mypy have been used in the install scripts directly. The rest are implicit dependencies.

py2_common and py3_common 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 py2_common_lock.txt and py3_common_lock: 0. Replace ipython==5.4.1 with ipython==6.0.0 in common.txt

  1. Run './tools/update-locked-requirements'

The reason the steps to remove the -e is necessary is because pip-compile doesn't support installing from vcs without -e yet. You may track the ongoing progress here https://github.com/jazzband/pip-tools/issues/355.