--no-hashes

This commit is contained in:
2017-03-12 19:52:50 -04:00
parent 0584e86a77
commit 803f072bba
2 changed files with 138 additions and 166 deletions
Generated
+120 -157
View File
@@ -1,168 +1,131 @@
{
"default": {
"virtualenv": {
"version": "==15.1.0",
"hash": "sha256:39d88b533b422825d644087a21e78c45cf5af0ef7a99a1fc9fbb7b481e5c85b0"
},
"pew": {
"version": "==0.1.26",
"hash": "sha256:259ac7a4603fe41b1fa950f30b2e4ccf4a23f7c89be2c34e0a4cec176c3ec581"
},
"virtualenv-clone": {
"version": "==0.2.6",
"hash": "sha256:6b3be5cab59e455f08c9eda573d23006b7d6fb41fae974ddaa2b275c93cc4405"
},
"six": {
"version": "==1.10.0",
"hash": "sha256:0ff78c403d9bccf5a425a6d31a12aa6b47f1c21ca4dc2573a7e2f32a97335eb1"
},
"backports.shutil_get_terminal_size": {
"version": "==1.0.0",
"hash": "sha256:0975ba55054c15e346944b38956a4c9cbee9009391e41b86c68990effb8c1f64"
},
"pathlib": {
"version": "==1.0.1",
"hash": "sha256:6940718dfc3eff4258203ad5021090933e5c04707d5ca8cc9e73c94a7894ea9f"
},
"packaging": {
"version": "==16.8",
"hash": "sha256:99276dc6e3a7851f32027a68f1095cd3f77c148091b092ea867a351811cfe388"
},
"pythonz-bd": {
"version": "==1.11.4",
"hash": "sha256:30fa48c5b542e1ebfca167f10699b149768dd18a90185d98b8a766636b6343b9"
},
"shutilwhich": {
"version": "==1.1.0",
"hash": "sha256:db1f39c6461e42f630fa617bb8c79090f7711c9ca493e615e43d0610ecb64dc6"
},
"setuptools": {
"version": "==34.3.2",
"hash": "sha256:6483f8412313ec787fa71379147a4605d3b1cc303c3648d02542a9160d3db72b"
},
"pyparsing": {
"version": "==2.2.0",
"hash": "sha256:fee43f17a9c4087e7ed1605bd6df994c6173c1e977d7ade7b651292fab2bd010"
},
"appdirs": {
"version": "==1.4.3",
"hash": "sha256:d8b24664561d0d34ddfaec54636d502d7cea6e29c3eaf68f3df6180863e2166e"
}
},
"develop": {
"six": {
"version": "==1.10.0",
"hash": "sha256:0ff78c403d9bccf5a425a6d31a12aa6b47f1c21ca4dc2573a7e2f32a97335eb1"
},
"funcsigs": {
"version": "==1.0.2",
"hash": "sha256:330cc27ccbf7f1e992e69fef78261dc7c6569012cf397db8d3de0234e6c937ca"
},
"imagesize": {
"version": "==0.7.1",
"hash": "sha256:6ebdc9e0ad188f9d1b2cdd9bc59cbe42bf931875e829e7a595e6b3abdc05cdfb"
},
"snowballstemmer": {
"version": "==1.2.1",
"hash": "sha256:9f3bcd3c401c3e862ec0ebe6d2c069ebc012ce142cce209c098ccb5b09136e89"
},
"Babel": {
"version": "==2.3.4",
"hash": "sha256:3318ed2960240d61cbc6558858ee00c10eed77a6508c4d1ed8e6f7f48399c975"
},
"alabaster": {
"version": "==0.7.10",
"hash": "sha256:2eef172f44e8d301d25aff8068fddd65f767a3f04b5f15b0f4922f113aa1c732"
},
"packaging": {
"version": "==16.8",
"hash": "sha256:99276dc6e3a7851f32027a68f1095cd3f77c148091b092ea867a351811cfe388"
},
"MarkupSafe": {
"version": "==1.0",
"hash": "sha256:a6be69091dac236ea9c6bc7d012beab42010fa914c459791d627dad4910eb665"
},
"pytz": {
"version": "==2016.10",
"hash": "sha256:a1ea35e87a63c7825846d5b5c81d23d668e8a102d3b1b465ce95afe1b3a2e065"
},
"Sphinx": {
"version": "==1.5.3",
"hash": "sha256:2809b2ab81906483b47c9d7e28740e3b69c160617f33d7aa11dc4ae376fd04d9"
},
"pyparsing": {
"version": "==2.2.0",
"hash": "sha256:fee43f17a9c4087e7ed1605bd6df994c6173c1e977d7ade7b651292fab2bd010"
},
"appdirs": {
"version": "==1.4.3",
"hash": "sha256:d8b24664561d0d34ddfaec54636d502d7cea6e29c3eaf68f3df6180863e2166e"
},
"Pygments": {
"version": "==2.2.0",
"hash": "sha256:78f3f434bcc5d6ee09020f92ba487f95ba50f1e3ef83ae96b9d5ffa1bab25c5d"
},
"pexpect": {
"version": "==4.2.1",
"hash": "sha256:f853b52afaf3b064d29854771e2db509ef80392509bde2dd7a6ecf2dfc3f0018"
},
"delegator.py": {
"version": "==0.0.8",
"hash": "sha256:603c1c1c76b1340520d95a1e768cf2d3a8df7b3c15a1eb9df83aac29b8d025a4"
},
"pbr": {
"version": "==2.0.0",
"hash": "sha256:d9b69a26a5cb4e3898eb3c5cea54d2ab3332382167f04e30db5e1f54e1945e45"
},
"py": {
"version": "==1.4.32",
"hash": "sha256:2d4bba2e25fff58140e6bdce1e485e89bb59776adbe01d490baa6b1f37a3dd6b"
},
"pytest": {
"version": "==3.0.6",
"hash": "sha256:da0ab50c7eec0683bc24f1c1137db1f4111752054ecdad63125e7ec71316b813"
},
"ptyprocess": {
"version": "==0.5.1",
"hash": "sha256:464cb76f7a7122743dd25507650db89cd447c51f38e4671602b3eaa2e38e05ae"
},
"docutils": {
"version": "==0.13.1",
"hash": "sha256:de454f1015958450b72641165c08afe7023cd7e3944396448f2fb1b0ccba9d77"
},
"toml": {
"version": "==0.9.2",
"hash": "sha256:b3953bffe848ad9a6d554114d82f2dcb3e23945e90b4d9addc9956f37f336594"
},
"setuptools": {
"version": "==34.3.2",
"hash": "sha256:6483f8412313ec787fa71379147a4605d3b1cc303c3648d02542a9160d3db72b"
},
"Jinja2": {
"version": "==2.9.5",
"hash": "sha256:a7b7438120dbe76a8e735ef7eba6048eaf4e0b7dbc530e100812f8ec462a4d50"
},
"requests": {
"version": "==2.13.0",
"hash": "sha256:1a720e8862a41aa22e339373b526f508ef0c8988baf48b84d3fc891a8e237efb"
},
"mock": {
"version": "==2.0.0",
"hash": "sha256:5ce3c71c5545b472da17b72268978914d0252980348636840bd34a00b5cc96c1"
}
},
"_meta": {
"hash": {
"sha256": "b22d25806ebb5d3050975a015bcdf85cc363a550216e4bf16eec5a6194e99007"
},
"requires": {
"python_version": "2.7"
},
"sources": [
{
"url": "https://pypi.python.org/simple",
"verify_ssl": true
}
],
"requires": {
"python_version": "2.7"
]
},
"default": {
"appdirs": {
"version": "==1.4.3"
},
"hash": {
"sha256": "b22d25806ebb5d3050975a015bcdf85cc363a550216e4bf16eec5a6194e99007"
"backports.shutil_get_terminal_size": {
"version": "==1.0.0"
},
"packaging": {
"version": "==16.8"
},
"pathlib": {
"version": "==1.0.1"
},
"pew": {
"version": "==0.1.26"
},
"pyparsing": {
"version": "==2.2.0"
},
"pythonz-bd": {
"version": "==1.11.4"
},
"setuptools": {
"version": "==34.3.2"
},
"shutilwhich": {
"version": "==1.1.0"
},
"six": {
"version": "==1.10.0"
},
"virtualenv": {
"version": "==15.1.0"
},
"virtualenv-clone": {
"version": "==0.2.6"
}
},
"develop": {
"Babel": {
"version": "==2.3.4"
},
"Jinja2": {
"version": "==2.9.5"
},
"MarkupSafe": {
"version": "==1.0"
},
"Pygments": {
"version": "==2.2.0"
},
"Sphinx": {
"version": "==1.5.3"
},
"alabaster": {
"version": "==0.7.10"
},
"appdirs": {
"version": "==1.4.3"
},
"delegator.py": {
"version": "==0.0.8"
},
"docutils": {
"version": "==0.13.1"
},
"funcsigs": {
"version": "==1.0.2"
},
"imagesize": {
"version": "==0.7.1"
},
"mock": {
"version": "==2.0.0"
},
"packaging": {
"version": "==16.8"
},
"pbr": {
"version": "==2.0.0"
},
"pexpect": {
"version": "==4.2.1"
},
"ptyprocess": {
"version": "==0.5.1"
},
"py": {
"version": "==1.4.32"
},
"pyparsing": {
"version": "==2.2.0"
},
"pytest": {
"version": "==3.0.6"
},
"pytz": {
"version": "==2016.10"
},
"requests": {
"version": "==2.13.0"
},
"setuptools": {
"version": "==34.3.2"
},
"six": {
"version": "==1.10.0"
},
"snowballstemmer": {
"version": "==1.2.1"
},
"toml": {
"version": "==0.9.2"
}
}
}
+18 -9
View File
@@ -404,7 +404,7 @@ def get_downloads_info(names_map, section):
return info
def do_lock():
def do_lock(no_hashes=False):
"""Executes the freeze functionality."""
# Purge the virtualenv download dir, for development dependencies.
@@ -427,7 +427,10 @@ def do_lock():
# Add Development dependencies to lockfile.
for dep in results:
if dep:
lockfile['develop'].update({dep['name']: {'hash': dep['hash'], 'version': '=={0}'.format(dep['version'])}})
if not no_hashes:
lockfile['develop'].update({dep['name']: {'hash': dep['hash'], 'version': '=={0}'.format(dep['version'])}})
else:
lockfile['develop'].update({dep['name']: {'version': '=={0}'.format(dep['version'])}})
with spinner():
# Purge the virtualenv download dir, for default dependencies.
@@ -445,7 +448,10 @@ def do_lock():
# Add default dependencies to lockfile.
for dep in results:
if dep:
lockfile['default'].update({dep['name']: {'hash': dep['hash'], 'version': '=={0}'.format(dep['version'])}})
if not no_hashes:
lockfile['default'].update({dep['name']: {'hash': dep['hash'], 'version': '=={0}'.format(dep['version'])}})
else:
lockfile['default'].update({dep['name']: {'version': '=={0}'.format(dep['version'])}})
# Properly case package names.
lockfile = recase_file(lockfile)
@@ -736,8 +742,9 @@ def cli(ctx, where=False, venv=False, rm=False, bare=False, three=False, python=
@click.option('--python', default=False, nargs=1, help="Specify which version of Python virtualenv should use.")
@click.option('--system', is_flag=True, default=False, help="System pip management.")
@click.option('--lock', is_flag=True, default=False, help="Lock afterwards.")
@click.option('--no-hashes', is_flag=True, default=False, help="Do not generate hashes, if locking.")
@click.option('--ignore-hashes', is_flag=True, default=False, help="Ignore hashes when installing.")
def install(package_name=False, more_packages=False, dev=False, three=False, python=False, system=False, lock=False, ignore_hashes=False):
def install(package_name=False, more_packages=False, dev=False, three=False, python=False, system=False, lock=False, no_hashes=False, ignore_hashes=False):
# Ensure that virtualenv is available.
ensure_project(three=three, python=python)
@@ -784,7 +791,7 @@ def install(package_name=False, more_packages=False, dev=False, three=False, pyt
easter_egg(package_name)
if lock:
do_lock()
do_lock(no_hashes=no_hashes)
@click.command(help="Un-installs a provided package and removes it from Pipfile, or (if none is given), un-installs all packages.")
@@ -794,9 +801,10 @@ def install(package_name=False, more_packages=False, dev=False, three=False, pyt
@click.option('--python', default=False, nargs=1, help="Specify which version of Python virtualenv should use.")
@click.option('--system', is_flag=True, default=False, help="System pip management.")
@click.option('--lock', is_flag=True, default=False, help="Lock afterwards.")
@click.option('--no-hashes', is_flag=True, default=False, help="Do not generate hashes, if locking.")
@click.option('--dev', '-d', is_flag=True, default=False, help="Un-install all package from [dev-packages].")
@click.option('--all', is_flag=True, default=False, help="Purge all package(s) from virtualenv. Does not edit Pipfile.")
def uninstall(package_name=False, more_packages=False, three=None, python=False, system=False, lock=False, dev=False, all=False):
def uninstall(package_name=False, more_packages=False, three=None, python=False, system=False, lock=False, no_hashes=False, dev=False, all=False):
# Ensure that virtualenv is available.
ensure_project(three=three, python=python)
@@ -840,20 +848,21 @@ def uninstall(package_name=False, more_packages=False, three=None, python=False,
project.remove_package_from_pipfile(package_name, dev)
if lock:
do_lock()
do_lock(no_hashes=no_hashes)
@click.command(help="Generates Pipfile.lock.")
@click.option('--three/--two', is_flag=True, default=None, help="Use Python 3/2 when creating virtualenv.")
@click.option('--python', default=False, nargs=1, help="Specify which version of Python virtualenv should use.")
@click.option('--no-hashes', is_flag=True, default=False, help="Do not generate hashes.")
@click.option('--requirements', '-r', is_flag=True, default=False, help="Generate output compatible with requirements.txt.")
def lock(three=None, python=False, requirements=False):
def lock(three=None, python=False, no_hashes=False, requirements=False):
# Ensure that virtualenv is available.
ensure_project(three=three, python=python)
if requirements:
do_init(dev=True, requirements=requirements)
do_lock()
do_lock(no_hashes=no_hashes)
@click.command(help="Spawns a shell within the virtualenv.", context_settings=dict(