zulip/requirements
orientor 529da34513 openapi: Use third-party validator for schema validation.
Our previous OpenAPI schema validator that we implemented ourselves
was useful training wheels for our understanding OpenAPI properly, and
was mostly correct.  But given that we've finally reached the point
where our OpenAPI file accurately describes the API, it makes sense to
switch to use an official OpenAPI validator.  We lose some ability to
do exclude rules for particular elements, but those were primarily
important for us when we had a lot of them.

As part of this change, we need to add `additionalProperties: false`
for all of our dictonaries/objects where we've documented every
parameter; otherwise the OpenAPI schema checker won't know that we
expect every parameter to be documented.
2020-07-01 11:21:41 -07:00
..
README.md update-locked-requirements: Generate prod locks from dev locks. 2020-04-18 13:09:51 -07:00
common.in openapi: Use third-party validator for schema validation. 2020-07-01 11:21:41 -07:00
dev.in requirements: Upgrade isort. 2020-06-26 22:50:01 -07:00
dev.txt openapi: Use third-party validator for schema validation. 2020-07-01 11:21:41 -07:00
docs.in docs: Upgrade recommonmark to 0.6.0, fixing issues. 2019-10-02 12:29:24 -07:00
docs.txt requirements: Upgrade Python requirements. 2020-06-25 13:14:37 -07:00
mypy.in mypy: Upgrade from 0.730 to 0.740. 2019-11-13 12:38:45 -08:00
mypy.txt requirements: Upgrade Python requirements. 2020-06-25 13:14:37 -07:00
pip.in requirements: Generate pip.txt from pip.in like the other *.txt files. 2019-09-23 13:23:58 -07:00
pip.txt requirements: Upgrade Python requirements. 2020-06-25 13:14:37 -07:00
pip2.in update-locked-requirements: Generate prod locks from dev locks. 2020-04-18 13:09:51 -07:00
pip2.txt requirements: Update Python requirements. 2020-06-03 17:23:20 -07:00
prod.in requirements: Remove unnecessary version bounds from *.in. 2019-09-23 13:23:58 -07:00
prod.txt openapi: Use third-party validator for schema validation. 2020-07-01 11:21:41 -07:00
thumbor-dev.in requirements: Upgrade Python requirements. 2020-06-25 13:14:37 -07:00
thumbor-dev.txt requirements: Upgrade Python requirements. 2020-06-25 13:14:37 -07:00
thumbor.in requirements: Remove unnecessary version bounds from *.in. 2019-09-23 13:23:58 -07:00
thumbor.txt requirements: Upgrade Python requirements. 2020-06-25 13:14:37 -07: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.4.1 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.