From df3daacb8ce68e68b0944d303b36426fde6879d1 Mon Sep 17 00:00:00 2001 From: Evan Cordell Date: Wed, 6 Apr 2016 13:52:42 -0400 Subject: [PATCH] Document process for freezing dependencies and freeze git dependencies to commits --- README.md | 21 +++++++++ requirements-nover.txt | 20 ++++---- requirements.txt | 105 +++++++++++++++++++++-------------------- 3 files changed, 84 insertions(+), 62 deletions(-) diff --git a/README.md b/README.md index ed3383737..fe895c18e 100644 --- a/README.md +++ b/README.md @@ -72,3 +72,24 @@ CFLAGS='-std=c99' pip install --no-cache --no-binary :all: cffi CFLAGS='-std=c99' pip install --no-cache --no-binary :all: cryptography ``` +## Update Requirements + +1. Create a new virtualenv +2. Activate new virtualenv +3. Install unversioned dependencies +4. Run tests +5. Freeze requirements +6. Deactivate virtualenv +7. Remove virtualenv + +Example (commands may differ dependending on virtualenv tools): + +``` +pyenv virtualenv 2.7.11 quay-deps +pyenv activate quay-deps +pip install -r requirements-nover.txt +./local-test.sh +pip freeze > requirements.txt +pyenv deactivate quay-deps +pyenv uninstall quay-deps +``` diff --git a/requirements-nover.txt b/requirements-nover.txt index 415fa1963..2f8d2a58d 100644 --- a/requirements-nover.txt +++ b/requirements-nover.txt @@ -21,7 +21,7 @@ redis hiredis flask-restful==0.2.12 jsonschema -git+https://github.com/NateFerrero/oauth2lib.git +-e git+https://github.com/NateFerrero/oauth2lib.git#egg=oauth2lib alembic sqlalchemy python-magic @@ -32,15 +32,15 @@ python-ldap pycryptodome psycopg2 pyyaml -git+https://github.com/DevTable/aniso8601-fake.git -git+https://github.com/DevTable/anunidecode.git -git+https://github.com/DevTable/pygithub.git -git+https://github.com/DevTable/container-cloud-config.git -git+https://github.com/coreos/py-bitbucket.git -git+https://github.com/coreos/pyapi-gitlab.git@timeout -git+https://github.com/coreos/mockldap.git -git+https://github.com/coreos/resumablehashlib.git -git+https://github.com/DevTable/python-etcd.git@sslfix +-e git+https://github.com/DevTable/aniso8601-fake.git#egg=aniso8610 +-e git+https://github.com/DevTable/anunidecode.git#egg=anunidecode +-e git+https://github.com/DevTable/pygithub.git#egg=pygithub +-e git+https://github.com/DevTable/container-cloud-config.git#egg=container-cloud-config +-e git+https://github.com/coreos/py-bitbucket.git#egg=py-bitbucket +-e git+https://github.com/coreos/pyapi-gitlab.git@timeout#egg=pyapi-gitlab +-e git+https://github.com/coreos/mockldap.git@v0.1.x#egg=mockldap +-e git+https://github.com/coreos/resumablehashlib.git#egg=resumablehashlib +-e git+https://github.com/DevTable/python-etcd.git@sslfix#egg=python-etcd gipc pyOpenSSL pygpgme diff --git a/requirements.txt b/requirements.txt index fbad34030..8d0968d85 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,6 +1,8 @@ aiowsgi==0.5 -alembic==0.8.4 -APScheduler==3.0.5 +alembic==0.8.5 +-e git+https://github.com/DevTable/aniso8601-fake.git@bd7762c7dea0498706d3f57db60cd8a8af44ba90#egg=aniso8601 +-e git+https://github.com/DevTable/anunidecode.git@d59236a822e578ba3a0e5e5abbd3855873fa7a88#egg=anunidecode +APScheduler==3.1.0 autobahn==0.9.3.post3 Babel==2.2.0 beautifulsoup4==4.4.1 @@ -8,12 +10,13 @@ bencode==1.0 bintrees==2.0.4 blinker==1.4 boto==2.39.0 -cachetools==1.1.5 +cachetools==1.1.6 cffi==1.5.2 +-e git+https://github.com/DevTable/container-cloud-config.git@bce675537904175f6975024a4c89269027ea6792#egg=container_cloud_config contextlib2==0.5.1 cryptography==1.3.1 -debtcollector==1.2.0 -decorator==4.0.6 +debtcollector==1.3.0 +decorator==4.0.9 enum34==1.1.2 Flask==0.10.1 Flask-Login==0.3.2 @@ -22,98 +25,96 @@ Flask-Principal==0.4.0 Flask-RESTful==0.2.12 Flask-Testing==0.4.2 funcparserlib==0.3.6 -funcsigs==0.4 +funcsigs==1.0.0 functools32==3.2.3.post2 future==0.15.2 -futures==3.0.4 +futures==3.0.5 gevent==1.1.1 gipc==0.6.0 greenlet==0.4.9 gunicorn==18.0 hiredis==0.2.0 html5lib==0.9999999 -httmock==1.2.4 -idna==2.0 +httmock==1.2.5 +httpretty==0.8.10 +idna==2.1 ipaddress==1.0.16 iso8601==0.1.11 itsdangerous==0.24 Jinja2==2.8 jsonpath-rw==1.4.0 jsonschema==2.5.1 -keystoneauth1==2.2.0 -Mako==1.0.3 +keystoneauth1==2.4.0 +Mako==1.0.4 marisa-trie==0.7.2 MarkupSafe==0.23 mixpanel==4.3.0 -mock==1.3.0 -monotonic==0.6 +mock==2.0.0 +-e git+https://github.com/ecordell/mockldap.git@4cd1e11320956e9984a6496d9e2c87a497121ea5#egg=mockldap +monotonic==1.0 moto==0.4.23 msgpack-python==0.4.7 ndg-httpsclient==0.4.0 netaddr==0.7.18 netifaces==0.10.4 +-e git+https://github.com/NateFerrero/oauth2lib.git@d161b010f8a596826050a09e5e94d59443cc12d9#egg=oauth2lib oauthlib==1.0.3 -oslo.config==3.4.0 -oslo.i18n==3.2.0 -oslo.serialization==2.2.0 -oslo.utils==3.4.0 +ordereddict==1.1 +oslo.config==3.9.0 +oslo.i18n==3.5.0 +oslo.serialization==2.4.0 +oslo.utils==3.8.0 pbr==1.8.1 peewee==2.8.0 -Pillow==3.1.0 +Pillow==3.2.0 ply==3.8 +positional==1.0.1 prettytable==0.7.2 -psutil==3.4.2 +psutil==4.1.0 psycopg2==2.6.1 py-bcrypt==0.4 +-e git+https://github.com/coreos/py-bitbucket.git@e613e027cf920c0c475866a0bb703da1d81457d1#egg=py_bitbucket +-e git+https://github.com/coreos/pyapi-gitlab.git@136c3970d591136a4f766a846c5d22aad52e124f#egg=pyapi_gitlab pyasn1==0.1.9 pycparser==2.14 -pycryptodome==3.3.1 -PyGithub==1.25.2 +pycryptodome==3.4 +-e git+https://github.com/DevTable/pygithub.git@33b9ce965841d1c225559f88ea8c8e15424eb443#egg=PyGithub pygpgme==0.3 -pyjwkest==1.1.0 +pyjwkest==1.1.7 PyJWT==1.4.0 PyMySQL==0.6.7 -pyOpenSSL==0.15.1 +pyOpenSSL==16.0.0 PyPDF2==1.25.1 -python-dateutil==2.4.2 -python-editor==0.5 -python-keystoneclient==2.1.1 +python-dateutil==2.5.2 +python-editor==1.0 +-e git+https://github.com/DevTable/python-etcd.git@f1168cb02a2a8c83bec1108c6fcd8615ef463b14#egg=python_etcd +python-keystoneclient==2.3.1 python-ldap==2.4.25 -python-magic==0.4.10 -python-swiftclient==2.7.0 -pytz==2015.7 +python-magic==0.4.11 +python-swiftclient==3.0.0 +pytz==2016.3 PyYAML==3.11 -raven==5.10.1 +raven==5.12.0 redis==2.10.5 redlock==1.2.0 reportlab==2.7 requests==2.9.1 -requests-oauthlib==0.6.0 +requests-oauthlib==0.6.1 +-e git+https://github.com/coreos/resumablehashlib.git@b1b631249589b07adf40e0ee545b323a501340b4#egg=resumablehashlib rfc3987==1.3.5 -semantic-version==2.4.2 +semantic-version==2.5.0 six==1.10.0 -SQLAlchemy==1.0.11 -stevedore==1.10.0 +SQLAlchemy==1.0.12 +stevedore==1.12.0 stringscore==0.1.0 -stripe==1.29.0 +stripe==1.32.0 toposort==1.4 -trollius==2.0 -tzlocal==1.2 +trollius==2.1 +tzlocal==1.2.2 urllib3==1.14 waitress==0.8.10 -WebOb==1.5.1 -Werkzeug==0.11.3 -wheel==0.24.0 -wrapt==1.10.6 +WebOb==1.6.0 +Werkzeug==0.11.5 +wrapt==1.10.7 xhtml2pdf==0.0.6 - -git+https://github.com/DevTable/aniso8601-fake.git -git+https://github.com/DevTable/anunidecode.git -git+https://github.com/DevTable/pygithub.git -git+https://github.com/DevTable/container-cloud-config.git -git+https://github.com/coreos/mockldap.git -git+https://github.com/coreos/py-bitbucket.git -git+https://github.com/coreos/pyapi-gitlab.git@timeout -git+https://github.com/coreos/resumablehashlib.git -git+https://github.com/DevTable/python-etcd.git@sslfix -git+https://github.com/NateFerrero/oauth2lib.git +xmltodict==0.10.1