Skip to content

Commit 09fc053

Browse files
authored
Merge branch 'main' into tabify-pip-and-virtual-environments
2 parents 3e03ee6 + 4c3440d commit 09fc053

3 files changed

Lines changed: 40 additions & 18 deletions

File tree

source/guides/installing-stand-alone-command-line-tools.rst

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,21 +4,21 @@ Installing stand alone command line tools
44
Many packages have command line entry points. Examples of this type of application are
55
`mypy <https://github.com/python/mypy>`_,
66
`flake8 <https://github.com/PyCQA/flake8>`_,
7-
`pipenv <https://github.com/pypa/pipenv>`_,and
7+
:ref:`pipenv`,and
88
`black <https://github.com/ambv/black>`_.
99

1010
Usually you want to be able to access these from anywhere,
1111
but installing packages and their dependencies to the same global environment
1212
can cause version conflicts and break dependencies the operating system has
1313
on Python packages.
1414

15-
`pipx <https://github.com/pipxproject/pipx>`_ solves this by creating a virtual
15+
:ref:`pipx` solves this by creating a virtual
1616
environment for each package, while also ensuring that package's applications
1717
are accessible through a directory that is on your ``$PATH``. This allows each
1818
package to be upgraded or uninstalled without causing conflicts with other
1919
packages, and allows you to safely run the program from anywhere.
2020

21-
.. Note:: pipx only works with Python 3.6+.
21+
.. note:: pipx only works with Python 3.6+.
2222

2323
``pipx`` is installed with ``pip``:
2424

@@ -110,4 +110,4 @@ To see the full list of commands ``pipx`` offers, run
110110
$ pipx --help
111111

112112
You can learn more about ``pipx`` at its homepage,
113-
https://github.com/pipxproject/pipx.
113+
https://github.com/pypa/pipx.

source/guides/packaging-binary-extensions.rst

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -232,6 +232,18 @@ guide includes an introduction to writing a
232232
Building binary extensions
233233
==========================
234234

235+
Building extensions for multiple platforms
236+
------------------------------------------
237+
238+
If you plan to distribute your extension, you should provide
239+
:term:`wheels <Wheel>` for all the platforms you intend to support. For most
240+
extensions, this is at least one package per Python version times the number of
241+
OS and architectures you support. These are usually built on continuous
242+
integration (CI) systems. There are tools to help you build highly
243+
redistributable binaries from CI; these include :ref:`cibuildwheel` and
244+
:ref:`multibuild`.
245+
246+
235247
Binary extensions for Windows
236248
-----------------------------
237249

source/key_projects.rst

Lines changed: 24 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -55,9 +55,8 @@ cibuildwheel
5555
`Discussions <https://github.com/pypa/cibuildwheel/discussions>`__ |
5656
`Discord #cibuildwheel <https://discord.com/invite/pypa>`__
5757

58-
``cibuildwheel`` is a package that builds wheels for all common platforms and
59-
Python versions on most CI systems.
60-
58+
``cibuildwheel`` is a Python package that builds :term:`wheels <Wheel>` for all common
59+
platforms and Python versions on most CI systems. Also see :ref:`multibuild`.
6160

6261
.. _distlib:
6362

@@ -165,6 +164,18 @@ Pipfile
165164
application-centric alternative to :ref:`pip`'s lower-level
166165
:file:`requirements.txt` file.
167166

167+
.. _pipx:
168+
169+
pipx
170+
====
171+
172+
`Docs <https://pypa.github.io/pipx/>`__ |
173+
`GitHub <https://github.com/pypa/pipx>`__ |
174+
`PyPI <https://pypi.org/project/pipx/>`__
175+
176+
pipx is a tool to install and run Python command-line applications without
177+
causing dependency conflicts with other packages installed on the system.
178+
168179

169180
Python Packaging User Guide
170181
===========================
@@ -458,6 +469,16 @@ dependencies for, and publish packages to PyPI. Under the hood, it
458469
uses :ref:`twine` to upload packages to PyPI, and :ref:`pip` to download and
459470
install packages.
460471

472+
.. _multibuild:
473+
474+
multibuild
475+
==========
476+
477+
`GitHub <https://github.com/matthew-brett/multibuild>`__
478+
479+
Multibuild is a set of CI scripts for building and testing Python :term:`wheels <Wheel>` for
480+
Linux, macOS, and (less flexibly) Windows. Also see :ref:`cibuildwheel`.
481+
461482
.. _pex:
462483

463484
pex
@@ -473,17 +494,6 @@ files, standalone Python environments in the spirit of :ref:`virtualenv`.
473494
``#!/usr/bin/env python`` and special :file:`__main__.py`, and are designed to
474495
make deployment of Python applications as simple as ``cp``.
475496

476-
.. _pipx:
477-
478-
pipx
479-
====
480-
481-
`Docs <https://pipxproject.github.io/pipx/>`__ |
482-
`GitHub <https://github.com/pipxproject/pipx>`__ |
483-
`PyPI <https://pypi.org/project/pipx/>`__
484-
485-
pipx is a tool to safely install and run Python CLI applications globally.
486-
487497
.. _pip-tools:
488498

489499
pip-tools

0 commit comments

Comments
 (0)