The Python package installer https://pip.pypa.io/
Go to file
Ian Wienand 0dbab23df9 Add SHA256 hash of .whl as info output (#5908)
* Add SHA256 hash of .whl as info output

Currently I'm trying to debug some issues with what appear to be
corrupt wheels.  It would be very useful to see what pip thought the
state of things was as it wrote the wheel output; if a final corrupt
distributed file is then different to what pip has saved in its build
logs, you know the problem is somewhere after pip but before
distribution.

Currently we get a log of the initial creation, then the stamp when it
gets moved in the final output location, e.g.:

 creating '/tmp/pip-wheel-71CpBe/foo-1.2.3-py2.py3-none-any.whl
 ...
 Stored in directory: /opt/wheel/workspace

A lot happens in between this, so my suggestion is we add the final
output file and it's hash before the "Stored in directory:", e.g. you
now see:

 Building wheels for collected packages: simple
   Running setup.py bdist_wheel for simple: started
   Running setup.py bdist_wheel for simple: finished with status 'done'
   Finished: simple-3.0-py3-none-any.whl sha256=39005a57a6327972575072af82e11d0817439fe6a069381f6f2a123a8c0bf1cf
   Stored in directory: /tmp/pytest-of-iwienand/pytest-18/test_pip_wheel_success0/workspace/scratch
 Successfully built simple

Despite the hash being fairly important for things like
--require-hashes, AFAICS the final hash is not put in the logs at all
currently, so I think this is generically helpful.

* Reword wheel hash details output

This rewords the output to be more like the form of the preceding
messages.  Additionally the size is added, since we have calculated it
anyway.  The output will now look like:

 Collecting simple==3.0
 Building wheels for collected packages: simple
   Building wheel for simple (setup.py): started
   Building wheel for simple (setup.py): finished with status 'done'
   Created wheel for simple: filename=simple-3.0-py3-none-any.whl size=1138 sha256=2a980a802c9d38a24d29aded2dc2df2b080e58370902e5fdf950090ff67aec10
   Stored in directory: /tmp/pytest-of-iwienand/pytest-0/test_pip_wheel_success0/workspace/scratch
 Successfully built simple
2019-06-26 02:44:43 -07:00
.azure-pipelines Add requests to our packaging dependencies 2018-11-21 15:48:31 -05:00
.github Add link to Development Documentation in CONTRIBUTING.md (#6610) 2019-06-15 14:42:16 +05:30
docs Soften language in note for Installation Order 2019-06-16 19:34:19 +05:30
news Add SHA256 hash of .whl as info output (#5908) 2019-06-26 02:44:43 -07:00
src/pip Add SHA256 hash of .whl as info output (#5908) 2019-06-26 02:44:43 -07:00
tasks Merge pull request #5785 from brcrista/master 2018-11-21 19:17:36 +00:00
tests Add SHA256 hash of .whl as info output (#5908) 2019-06-26 02:44:43 -07:00
tools Upgrade Sphinx version for Read the Docs (#6477) 2019-05-08 11:26:34 -04:00
.appveyor.yml appveyor: immediately finish build once one of the jobs fails 2018-10-27 15:47:30 +02:00
.coveragerc Add a coverage job for Python 3 to tox 2017-11-14 12:03:01 +05:30
.gitattributes The CA Bundle should always use Unix line endings 2018-03-31 14:45:01 -04:00
.gitignore Fix 6486 mac gitignore (#6487) 2019-05-11 23:05:51 +02:00
.mailmap Update mailmap and regenerate authors 2018-11-02 12:26:33 -07:00
.travis.yml Bazaar: Export directly from the remote branch. 2019-01-20 17:46:31 +00:00
AUTHORS.txt Update AUTHORS.txt 2019-05-06 10:07:27 -04:00
LICENSE.txt Update license year to 2019 2019-01-20 00:04:56 +05:30
MANIFEST.in Merge pull request #5785 from brcrista/master 2018-11-21 19:17:36 +00:00
NEWS.rst Update NEWS.rst 2019-05-06 10:08:58 -04:00
README.rst Document the release cadence in README 2019-06-12 04:46:03 +05:30
pyproject.toml Add a format to allow references to PRs to be links 2018-08-14 09:39:56 +05:30
setup.cfg merge latest master 2019-02-23 16:58:54 +03:00
setup.py Merge branch 'master' into python-3.7 2018-07-24 23:08:09 +05:30
tox.ini Upgrade Sphinx version for Read the Docs (#6477) 2019-05-08 11:26:34 -04:00

README.rst

pip - The Python Package Installer
==================================

.. image:: https://img.shields.io/pypi/v/pip.svg
   :target: https://pypi.org/project/pip/

.. image:: https://readthedocs.org/projects/pip/badge/?version=latest
   :target: https://pip.pypa.io/en/latest

pip is the `package installer`_ for Python. You can use pip to install packages from the `Python Package Index`_ and other indexes.

Please take a look at our documentation for how to install and use pip:

* `Installation`_
* `Usage`_

Updates are released regularly, with a new version every 3 months. More details can be found in our documentation:

* `Release notes`_
* `Release process`_

If you find bugs, need help, or want to talk to the developers please use our mailing lists or chat rooms:

* `Issue tracking`_
* `Discourse channel`_
* `User IRC`_

If you want to get involved head over to GitHub to get the source code, look at our development documentation and feel free to jump on the developer mailing lists and chat rooms:

* `GitHub page`_
* `Dev documentation`_
* `Dev mailing list`_
* `Dev IRC`_

Code of Conduct
---------------

Everyone interacting in the pip project's codebases, issue trackers, chat
rooms, and mailing lists is expected to follow the `PyPA Code of Conduct`_.

.. _package installer: https://packaging.python.org/en/latest/current/
.. _Python Package Index: https://pypi.org
.. _Installation: https://pip.pypa.io/en/stable/installing.html
.. _Usage: https://pip.pypa.io/en/stable/
.. _Release notes: https://pip.pypa.io/en/stable/news.html
.. _Release process: https://pip.pypa.io/en/latest/development/release-process/
.. _GitHub page: https://github.com/pypa/pip
.. _Dev documentation: https://pip.pypa.io/en/latest/development
.. _Issue tracking: https://github.com/pypa/pip/issues
.. _Discourse channel: https://discuss.python.org/c/packaging
.. _Dev mailing list: https://groups.google.com/forum/#!forum/pypa-dev
.. _User IRC: https://webchat.freenode.net/?channels=%23pypa
.. _Dev IRC: https://webchat.freenode.net/?channels=%23pypa-dev
.. _PyPA Code of Conduct: https://www.pypa.io/en/latest/code-of-conduct/