Lock the recursive requirements in dev.txt via pip-compile.

First, all the lines of py3_dev.txt except for mypy.txt are mv-ed to
dev.txt. Then dev_lock.txt is generated from dev.txt to be used by
py3_dev.txt. `click` is removed from moto.txt since it is already a
dependency of several libraries and will appear as an autogenerated
dependency.
This commit is contained in:
rht 2017-08-22 02:26:16 +02:00 committed by Tim Abbott
parent 2afbc7e4d7
commit 2be8a793e4
6 changed files with 202 additions and 47 deletions

View File

@ -5,7 +5,7 @@ py3_dev py3_prod
+ + + +
| | +->py3_common<-+
| | | +
| | | v
| dev | v
| | |py3_socialauth
| | |
| | |
@ -20,7 +20,7 @@ mypy
Of the files, only py3_dev, py3_prod, and mypy have been used in the install
scripts directly. The rest are implicit dependencies.
py3_common is locked.
py3_common and dev 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 py3_common_lock:

40
requirements/dev.txt Normal file
View File

@ -0,0 +1,40 @@
-r py3_common.txt
-r docs.txt
-r moto.txt
-r py3k.txt
# Needed for running tools/run-dev.py
-r twisted.txt
# Needed to compute test coverage
coverage==4.4.1
# fake for LDAP testing
-e git+https://github.com/umairwaheed/fakeldap.git@37bc199e9589c31f4bb5bae1445ad1cd7f84e1ac#egg=fakeldap==0.5.1.0zulip1
# for pep8 linter
pycodestyle==2.3.1
# Needed to run pyflakes linter
pyflakes==1.6.0
# Needed to run tests in parallel
tblib==1.3.2
# Needed to lint Git commit messages
gitlint==0.8.2
# Needed to sync translations from transifex
transifex-client==0.12.4
# Dependency of transifex-client
urllib3==1.22
# Needed for documentation_crawler
pathlib2==2.3.0
#Needed for pathlib2==2.3.0
scandir==1.5
# Needed for updating the locked pip dependencies
first==2.0.1
pip-tools==1.9.0

156
requirements/dev_lock.txt Normal file
View File

@ -0,0 +1,156 @@
#
# This file is autogenerated by pip-compile
# To update, run:
#
# pip-compile --output-file requirements/dev_lock.txt requirements/dev.txt
#
git+https://github.com/sharmaeklavya2/PyAPNs.git@remove-simplejson#egg=apns==2.0.1
git+https://github.com/umairwaheed/fakeldap.git@37bc199e9589c31f4bb5bae1445ad1cd7f84e1ac#egg=fakeldap==0.5.1.0zulip1
git+https://github.com/rafaelmartins/pyoembed.git@eb9901917c2a44b49e2887c077ead84a722c50dc#egg=pyoembed
git+https://github.com/umairwaheed/talon.git@7d8bdc4dbcfcc5a73298747293b99fe53da55315#egg=talon==1.2.11
git+https://github.com/umairwaheed/virtualenv-clone.git@short-version#egg=virtualenv-clone==0.2.6
git+https://github.com/zulip/python-zulip-api.git@0.3.2#egg=zulip==0.3.2&subdirectory=zulip
git+https://github.com/zulip/python-zulip-api.git@0.3.2#egg=zulip_bots==0.3.2&subdirectory=zulip_bots
alabaster==0.7.10
argon2-cffi==16.3.0
arrow==0.10.0 # via gitlint
asn1crypto==0.22.0
attrs==17.2.0
automat==0.6.0 # via twisted
babel==2.5.0
backports-abc==0.5
backports.ssl-match-hostname==3.5.0.1
beautifulsoup4==4.6.0
boto3==1.4.6 # via moto
boto==2.48.0
botocore==1.6.3
cchardet==2.1.1
certifi==2017.7.27.1
cffi==1.10.0
chardet==3.0.4
click==6.6 # via flask, gitlint, pip-tools, pydictionary
commonmark==0.5.4 # via recommonmark
constantly==15.1.0
cookies==2.2.1
coverage==4.4.1
cryptography==2.0.3
cssselect==1.0.1
decorator==4.1.2 # via ipython, traitlets
defusedxml==0.5.0
dicttoxml==1.7.4 # via moto
diff-match-patch==20121119
django-auth-ldap==1.2.12
django-bitfield==1.9.3
django-pipeline==1.6.13
django-statsd-mozilla==0.3.16
django-webpack-loader==0.5.0
django==1.11.4 # via django-auth-ldap, django-bitfield
docopt==0.6.2
docutils==0.14
first==2.0.1
flask==0.12.2
fonttools==3.15.0
future==0.16.0
gitdb==0.6.4
gitlint==0.8.2
google-api-python-client==1.6.2
goslate==1.5.1 # via pydictionary
html2text==2016.9.19
httplib2==0.10.3
httpretty==0.8.14
hyperlink==17.3.1 # via twisted
idna==2.6
ijson==2.3
imagesize==0.7.1
incremental==17.5.0
ipython-genutils==0.2.0 # via traitlets
ipython==6.1.0
itsdangerous==0.24
jedi==0.10.2 # via ipython
jinja2==2.9.6 # via flask, moto, sphinx
jmespath==0.9.3 # via boto3, botocore
lxml==3.8.0
markdown-include==0.5.1
markdown==2.6.9 # via markdown-include
markupsafe==1.0 # via jinja2
mock==2.0.0
modernize==0.5
moto==1.0.1
ndg-httpsclient==0.4.2
oauth2client==4.1.2
oauthlib==2.0.2
olefile==0.44 # via pillow
ordereddict==1.1 # via gitlint
parsel==1.2.0
pathlib2==2.3.0
pbr==3.1.1 # via mock
pexpect==4.2.1 # via ipython
pickleshare==0.7.4 # via ipython
pika==0.10.0
pillow==4.2.1
pip-tools==1.9.0
polib==1.0.8
prompt-toolkit==1.0.15 # via ipython
psycopg2==2.7.3
ptyprocess==0.5.2 # via pexpect
py3dns==3.1.0
pyaml==17.8.0 # via moto
pyasn1-modules==0.0.11
pyasn1==0.3.2
pycodestyle==2.3.1
pycparser==2.18 # via cffi
pycrypto==2.6.1
pydictionary==1.5.2
pydispatcher==2.0.5 # via scrapy
pyflakes==1.6.0
pygments==2.2.0 # via ipython, sphinx
pyjwt==1.5.2 # via social-auth-core
pyldap==2.4.37
pylibmc==1.5.2
pyopenssl==17.0.0 # via ndg-httpsclient, scrapy, service-identity
python-dateutil==2.6.1
python-gcm==0.4
python-twitter==3.3
python3-openid==3.1.0
pytz==2017.2
pyyaml==3.12 # via pyaml
queuelib==1.4.2
recommonmark==0.4.0
redis==2.10.6
regex==2017.7.28
requests-oauthlib==0.8.0
requests==2.18.4
rsa==3.4.2
s3transfer==0.1.10 # via boto3
scandir==1.5
scrapy==1.4.0
service-identity==17.0.0
sh==1.11 # via gitlint
simplegeneric==0.8.1 # via ipython
simplejson==3.11.1
six==1.10.0
smmap==0.9.0
snowballstemmer==1.2.1
social-auth-app-django==1.2.0
social-auth-core==1.4.0
sockjs-tornado==1.0.3
sourcemap==0.2.1
sphinx-rtd-theme==0.2.4
sphinx==1.6.3
sphinxcontrib-websupport==1.0.1 # via sphinx
sqlalchemy==1.1.13
statsd==2.1.2 # via django-statsd-mozilla
tblib==1.3.2
tornado==4.5.1
traitlets==4.3.2 # via ipython
transifex-client==0.12.4
twisted==17.5.0 # via scrapy
typing==3.6.2
ujson==1.35
uritemplate==3.0.0
urllib3==1.22
w3lib==1.18.0
wcwidth==0.1.7 # via prompt-toolkit
werkzeug==0.12.2 # via flask, moto
xmltodict==0.11.0
zope.interface==4.4.2

View File

@ -1,7 +1,6 @@
# Dependencies of moto s3 mock
Flask==0.12.2
Werkzeug==0.12.2
click==6.7
httpretty==0.8.14
itsdangerous==0.24
moto==1.0.1

View File

@ -1,45 +1,2 @@
-r py3_common_lock.txt
-r docs.txt
-r moto.txt
-r py3k.txt
# Needed for running tools/run-dev.py
-r twisted.txt
# Needed to compute test coverage
coverage==4.4.1
# fake for LDAP testing
git+https://github.com/umairwaheed/fakeldap.git@37bc199e9589c31f4bb5bae1445ad1cd7f84e1ac#egg=fakeldap==0.5.1.0zulip1
# for pep8 linter
pycodestyle==2.3.1
# Needed to run pyflakes linter
pyflakes==1.6.0
# Needed to run tests in parallel
tblib==1.3.2
# Needed to lint Git commit messages
gitlint==0.8.2
# Needed for gitlint
arrow==0.10.0
sh==1.12.14
# Needed to sync translations from transifex
transifex-client==0.12.4
# Dependency of transifex-client
urllib3==1.22
# Needed for documentation_crawler
pathlib2==2.3.0
#Needed for pathlib2==2.3.0
scandir==1.5
# Needed for updating the locked pip dependencies
first==2.0.1
pip-tools==1.9.0
-r dev_lock.txt
-r mypy.txt

View File

@ -10,10 +10,13 @@ fi
source /srv/zulip-py3-venv/bin/activate # Activate python3 virtualenv
pip-compile --output-file requirements/py3_common_lock.txt requirements/py3_common.txt
pip-compile --output-file requirements/dev_lock.txt requirements/dev.txt
# Remove the editable flag in the lock file for safer build
sed -i 's/-e //' requirements/py3_common_lock.txt
sed -i 's/-e //' requirements/dev_lock.txt
# pip-tools bug; future, futures are obsolete in python3
sed -i '/futures==/d' requirements/py3_common_lock.txt
sed -i '/future==/d' requirements/py3_common_lock.txt
sed -i '/futures==/d' requirements/dev_lock.txt
deactivate