zulip/requirements
Alex Vandiver ea2e5de54f requirements: Downgrade jedi dependency for ipython compatibility.
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.
2021-03-04 18:08:45 -08:00
..
README.md requirements: Update example to match the line above. 2021-03-04 18:08:45 -08:00
common.in requirements: Downgrade jedi dependency for ipython compatibility. 2021-03-04 18:08:45 -08:00
dev.in lint: Rely on core gitlint skipping of revert commits. 2021-02-23 14:28:09 -08:00
dev.txt requirements: Downgrade jedi dependency for ipython compatibility. 2021-03-04 18:08:45 -08:00
docs.in docs: Capitalize Markdown consistently. 2020-08-11 10:23:06 -07:00
docs.txt requirements: Fix paths to 'non-"lock" files'; those are the .in files 2021-03-04 18:08:45 -08:00
mypy.in mypy: Use sqlalchemy-stubs. 2020-11-16 18:17:41 -08:00
mypy.txt requirements: Fix paths to 'non-"lock" files'; those are the .in files 2021-03-04 18:08:45 -08:00
pip.in requirements: Upgrade Python requirements. 2020-12-09 14:24:54 -08:00
pip.txt requirements: Fix paths to 'non-"lock" files'; those are the .in files 2021-03-04 18:08:45 -08:00
prod.in requirements: Remove unnecessary version bounds from *.in. 2019-09-23 13:23:58 -07:00
prod.txt requirements: Downgrade jedi dependency for ipython compatibility. 2021-03-04 18:08:45 -08:00
thumbor-dev.in requirements: Upgrade Thumbor to 7.0.0a5 on Python 3. 2020-07-06 16:09:53 -07:00
thumbor-dev.txt requirements: Fix paths to 'non-"lock" files'; those are the .in files 2021-03-04 18:08:45 -08:00
thumbor.in requirements: Upgrade Python requirements. 2021-02-10 10:15:50 -08:00
thumbor.txt requirements: Fix paths to 'non-"lock" files'; those are the .in files 2021-03-04 18:08:45 -08:00

README.md

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.

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