mirror of
https://github.com/zulip/zulip.git
synced 2025-11-02 13:03:29 +00:00
ipython < 7.20.0 is incompatible with jedi >= 0.18.0; it fails to tab-complete in `./manage.py shell`, as described in ipython/ipython#12740. We cannot bump the ipython dependency because ipython 7.20.0 requires Python 3.7, and we must support Python 3.6 due to Ubuntu 18.04 support. Our only solution is thus to cap the version of `jedi` to the last one before its API changed.
The dependency graph of the requirements is as follows:
dev +-> prod +-> common
+
|
v
mypy,docs,pip
Of the files, only dev, prod, and mypy have been used in the install scripts directly. The rest are implicit dependencies.
Steps to update a lock file, e.g. to update ipython from 5.3.0 to latest version:
0. Remove entry for ipython==5.3.0 in dev.txt.
- Run
./tools/update-locked-requirements, which will generate new entries, pinned to the latest version. - Increase
PROVISION_VERSIONinversion.py. - Run
./tools/provisionto install the new deps and test them. - Commit your changes.