zulip/requirements
rht e455284bb4 requirements: Remove pathlib2.
`pathlib2` is a backport of pathlib to Python 2.x. Ni!
This dependency can be removed since:
- Zulip 1.6.0+git has been on Python 3 nowadays.
  Ekki-ekki-ekki-ptang-zoom-boing.
- As stated in ticket #6211, having this removed, prevents the need to
  have lockfiles for each of 3.4, 3.5, (and maybe 3.6).

This fixes #6211.
2017-08-23 10:00:21 -07:00
..
README.md tools: Remove old python 3 compatibility checker. 2017-08-22 14:58:59 -07:00
common.txt requirements: Mark dateutil as being explicitly used by tests. 2017-08-22 10:42:01 -07:00
dev.txt requirements: Remove pathlib2. 2017-08-23 10:00:21 -07:00
dev_lock.txt requirements: Remove pathlib2. 2017-08-23 10:00:21 -07:00
docs.txt requirements: Downgrade sphinx. 2017-08-22 13:21:15 -07:00
mypy.txt requirements: Add missing typing dependency. 2017-08-22 14:58:54 -07:00
pip.txt requirements: Upgrade setuptools to 36.2.7. 2017-08-21 07:52:15 -07:00
prod.txt requirements: Remove unnecessary dateutil dependency. 2017-08-22 10:42:01 -07:00
prod_lock.txt requirements: Mark dateutil as being explicitly used by tests. 2017-08-22 10:42:01 -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. Run ./tools/provision to install the new deps and test them
  3. Commit your changes.

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.