From 912579b177c309104563790092d1bac2ff6f38b2 Mon Sep 17 00:00:00 2001 From: John Sirois Date: Wed, 17 Jan 2024 14:41:07 -0800 Subject: [PATCH 1/5] Update pex entry. Pex long ago stopped offering a programmatic API in favor of its CLI API. I was remiss in not updating this description. Note is made of the more expansive features Pex and PEX files have grown in the meantime, including a nod to Pex multi-platform lock support (RIP PEP 665 - you live on in Pex). --- source/key_projects.rst | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/source/key_projects.rst b/source/key_projects.rst index 671675641..d6a4ad7e1 100644 --- a/source/key_projects.rst +++ b/source/key_projects.rst @@ -534,11 +534,14 @@ pex `GitHub `__ | `PyPI `__ -pex is both a library and tool for generating :file:`.pex` (Python EXecutable) +Pex is a tool for generating :file:`.pex` (Python EXecutable) files, standalone Python environments in the spirit of :ref:`virtualenv`. -:file:`.pex` files are just carefully constructed zip files with a -``#!/usr/bin/env python`` and special :file:`__main__.py`, and are designed to -make deployment of Python applications as simple as ``cp``. +PEX files are zipapps as outlined :pep:`441` that +make deployment of Python applications as simple as ``cp``. A single PEX +file can support multiple target platforms and can be created from standard +:ref:`pip`-resolvable requirements, a lockfile generated with `pex3 lock ...` +or even another PEX. PEX files can optionally have tools embedded that support +turning the PEX file into a standard venv, graphing dependencies and more. .. _pip-tools: From aefbb1359f85e4a181614c0084d0a214e6c7359f Mon Sep 17 00:00:00 2001 From: John Sirois Date: Wed, 17 Jan 2024 14:43:23 -0800 Subject: [PATCH 2/5] Fix code ticks for RST. --- source/key_projects.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/key_projects.rst b/source/key_projects.rst index d6a4ad7e1..55383c06e 100644 --- a/source/key_projects.rst +++ b/source/key_projects.rst @@ -539,7 +539,7 @@ files, standalone Python environments in the spirit of :ref:`virtualenv`. PEX files are zipapps as outlined :pep:`441` that make deployment of Python applications as simple as ``cp``. A single PEX file can support multiple target platforms and can be created from standard -:ref:`pip`-resolvable requirements, a lockfile generated with `pex3 lock ...` +:ref:`pip`-resolvable requirements, a lockfile generated with ``pex3 lock ...`` or even another PEX. PEX files can optionally have tools embedded that support turning the PEX file into a standard venv, graphing dependencies and more. From eed8161c9878160e0a8378111a36a4585cf61abc Mon Sep 17 00:00:00 2001 From: John Sirois Date: Thu, 18 Jan 2024 13:20:17 -0800 Subject: [PATCH 3/5] @sinroc's feedback. Co-authored-by: sinoroc <5529267+sinoroc@users.noreply.github.com> --- source/key_projects.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/key_projects.rst b/source/key_projects.rst index 55383c06e..c0b6b383c 100644 --- a/source/key_projects.rst +++ b/source/key_projects.rst @@ -536,7 +536,7 @@ pex Pex is a tool for generating :file:`.pex` (Python EXecutable) files, standalone Python environments in the spirit of :ref:`virtualenv`. -PEX files are zipapps as outlined :pep:`441` that +PEX files are zipapps as outlined in :pep:`441` that make deployment of Python applications as simple as ``cp``. A single PEX file can support multiple target platforms and can be created from standard :ref:`pip`-resolvable requirements, a lockfile generated with ``pex3 lock ...`` From 0e0aa42ca4370dc8c9d6fb1f4a161329729e01b8 Mon Sep 17 00:00:00 2001 From: John Sirois Date: Fri, 19 Jan 2024 05:52:53 -0800 Subject: [PATCH 4/5] @jeanas's feedback. Co-authored-by: Jean Abou-Samra --- source/key_projects.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/key_projects.rst b/source/key_projects.rst index c0b6b383c..eb24e13dd 100644 --- a/source/key_projects.rst +++ b/source/key_projects.rst @@ -536,7 +536,7 @@ pex Pex is a tool for generating :file:`.pex` (Python EXecutable) files, standalone Python environments in the spirit of :ref:`virtualenv`. -PEX files are zipapps as outlined in :pep:`441` that +PEX files are :ref:`zipapps ` that make deployment of Python applications as simple as ``cp``. A single PEX file can support multiple target platforms and can be created from standard :ref:`pip`-resolvable requirements, a lockfile generated with ``pex3 lock ...`` From dce257ca127ccdf966652c4f04d5ccb7f108a1a7 Mon Sep 17 00:00:00 2001 From: John Sirois Date: Fri, 19 Jan 2024 13:07:13 -0800 Subject: [PATCH 5/5] @chrysle's fix. Co-authored-by: chrysle --- source/key_projects.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/key_projects.rst b/source/key_projects.rst index eb24e13dd..a00502cb8 100644 --- a/source/key_projects.rst +++ b/source/key_projects.rst @@ -536,7 +536,7 @@ pex Pex is a tool for generating :file:`.pex` (Python EXecutable) files, standalone Python environments in the spirit of :ref:`virtualenv`. -PEX files are :ref:`zipapps ` that +PEX files are :doc:`zipapps ` that make deployment of Python applications as simple as ``cp``. A single PEX file can support multiple target platforms and can be created from standard :ref:`pip`-resolvable requirements, a lockfile generated with ``pex3 lock ...``