Skip to content

Commit

Permalink
Fix Pex references to point to new home. (#20519)
Browse files Browse the repository at this point in the history
Also graduate to Emeritus status.
  • Loading branch information
jsirois authored Feb 10, 2024
1 parent 882ffe6 commit ad856fc
Show file tree
Hide file tree
Showing 20 changed files with 27 additions and 27 deletions.
2 changes: 1 addition & 1 deletion MAINTAINERS.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@ Active Maintainers
* Daniel Wagner-Hall
* Eric Arellano
* Henry Fuller
* John Sirois
* Joshua Cannon
* Kris Wilson
* Patrick Lawson
Expand All @@ -37,6 +36,7 @@ Emeritus
* Garrett Malmquist
* Greg Shuflin
* Ity Kaul
* John Sirois
* Larry Hosken
* Mateo Rodriguez
* Matt Olsen
Expand Down
2 changes: 1 addition & 1 deletion docs/docs/python/integrations/aws-lambda.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ Create a Lambda with Python code.
Pants can create a Lambda-compatible zip file from your Python code, allowing you to develop your Lambda functions and layers in your repository instead of using the online Cloud9 editor.

:::note FYI: how Pants does this
Under-the-hood, Pants uses the [PEX](https://github.com/pantsbuild/pex) project, to select the appropriate third-party requirements and first-party sources and lay them out in a zip file, in the format recommended by AWS.
Under-the-hood, Pants uses the [PEX](https://github.com/pex-tool/pex) project, to select the appropriate third-party requirements and first-party sources and lay them out in a zip file, in the format recommended by AWS.
:::

## Step 1: Activate the Python AWS Lambda backend
Expand Down
2 changes: 1 addition & 1 deletion docs/docs/python/integrations/google-cloud-functions.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ Create a Cloud Function with Python.
Pants can create a Google Cloud Function-compatible zip file from your Python code, allowing you to develop your functions in your repository.

:::note FYI: how Pants does this
Under-the-hood, Pants uses the [PEX](https://github.com/pantsbuild/pex) project, to select the appropriate third-party requirements and first-party sources and lay them out in a zip file, in the format recommended by Google Cloud Functions.
Under-the-hood, Pants uses the [PEX](https://github.com/pex-tool/pex) project, to select the appropriate third-party requirements and first-party sources and lay them out in a zip file, in the format recommended by Google Cloud Functions.
:::

## Step 1: Activate the Python Google Cloud Function backend
Expand Down
2 changes: 1 addition & 1 deletion docs/docs/python/overview/lockfiles.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ If you use lockfiles, and we highly recommend that you do, then Pants will use t
Pants supports multiple lockfiles for different parts of your repo, via the mechanism of "resolves" - logical names given to lockfiles so that they are easy to reference.

:::note Lockfiles are generated by Pex
Pants delegates lockfile creation and consumption to the [Pex](https://github.com/pantsbuild/pex) tool. So you may see standard lockfiles referred to as "Pex-style" lockfiles.
Pants delegates lockfile creation and consumption to the [Pex](https://github.com/pex-tool/pex) tool. So you may see standard lockfiles referred to as "Pex-style" lockfiles.
:::

### Getting started with resolves
Expand Down
8 changes: 4 additions & 4 deletions docs/docs/python/overview/pex.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@

## PEX files

When working with Python code, Pants makes frequent use of the [PEX](https://github.com/pantsbuild/pex) (Python EXecutable) format. So, you'll see PEX referenced frequently in this documentation.
When working with Python code, Pants makes frequent use of the [PEX](https://github.com/pex-tool/pex) (Python EXecutable) format. So, you'll see PEX referenced frequently in this documentation.

A PEX is a self-contained Python environment, similar in spirit to a virtualenv. A Pex can contain combinations of Python source files, 3rd-party requirements (sdists or wheels), resource files, and metadata describing the contents.

Expand Down Expand Up @@ -67,7 +67,7 @@ pex_binary(
)
```

You can generate the JSON content for these files by installing the [Pex](https://github.com/pantsbuild/pex) command-line tool on the target platform and running `pex3 interpreter inspect --markers --tags` against the appropriate interpreter. You can run `pex3 interpreter inspect --help` for more options, and in particular for how to select the desired target interpreter.
You can generate the JSON content for these files by installing the [Pex](https://github.com/pex-tool/pex) command-line tool on the target platform and running `pex3 interpreter inspect --markers --tags` against the appropriate interpreter. You can run `pex3 interpreter inspect --help` for more options, and in particular for how to select the desired target interpreter.

:::caution Platform-specific dependencies must be available as wheels
Some Python distributions include native code, and therefore require platform-specific artifacts. Often, such artifacts are pre-built and available on PyPI as platform-specific wheels. But in some cases they are only available as source distributions (sdists) and must be compiled into platform-specific wheels at build time. Pants can only build platform-specific sdists for the local machine or [environment](../../using-pants/environments.mdx), and cannot cross-compile for other target platforms. Therefore, to build for platforms other than the local one, all the platform-specific third-party packages that your PEX transitively depends on must be available as prebuilt wheels for each platform you care about. If those wheels aren't available on PyPI you can always build them manually once and host them on a private package repository.
Expand All @@ -85,7 +85,7 @@ In these cases you can override the default shebang using the [`shebang`](../../

## Setting Pex and Pip versions

Pants makes use of the [Pex](https://github.com/pantsbuild/pex) command-line tool internally for building PEXes. The Pex version that Pants uses is specified by the `version` option under the `pex-cli` subsystem. The known Pex versions are specified by the `known_versions` option under the `pex-cli` subsystem. You can see all Pex tool options and their current values by running `pants help-advanced pex-cli`. To upgrade the Pex version, update these option values accordingly. For instance, in `pants.toml`, to upgrade to Pex 2.1.143:
Pants makes use of the [Pex](https://github.com/pex-tool/pex) command-line tool internally for building PEXes. The Pex version that Pants uses is specified by the `version` option under the `pex-cli` subsystem. The known Pex versions are specified by the `known_versions` option under the `pex-cli` subsystem. You can see all Pex tool options and their current values by running `pants help-advanced pex-cli`. To upgrade the Pex version, update these option values accordingly. For instance, in `pants.toml`, to upgrade to Pex 2.1.143:

```[pex-cli]
version = "v2.1.143"
Expand All @@ -97,7 +97,7 @@ known_versions = [
]
```

The Pex version determines which Pip versions are supported. To see the lists of Pip versions a certain version of Pex supports you can either install that version of Pex as a standalone CLI and run `pex --help`, or examine [pex/pip/version.py](https://github.com/pantsbuild/pex/blob/main/pex/pip/version.py) in the sources of the relevant Pex version.
The Pex version determines which Pip versions are supported. To see the lists of Pip versions a certain version of Pex supports you can either install that version of Pex as a standalone CLI and run `pex --help`, or examine [pex/pip/version.py](https://github.com/pex-tool/pex/blob/main/pex/pip/version.py) in the sources of the relevant Pex version.

The Pip version that Pex uses is determined by the `pip_version` option in Pants. To upgrade the Pip version, update this option value accordingly. For instance, in `pants.toml`, to set the Pip version to be the latest supported by Pex:

Expand Down
2 changes: 1 addition & 1 deletion docs/docs/writing-plugins/the-rules-api/file-system.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -292,7 +292,7 @@ from pants.engine.rules import Get, rule
@rule
async def demo(...) -> Foo:
...
url = "https://github.com/pantsbuild/pex/releases/download/v2.1.14/pex"
url = "https://github.com/pex-tool/pex/releases/download/v2.1.14/pex"
file_digest = FileDigest(
"12937da9ad5ad2c60564aa35cb4b3992ba3cc5ef7efedd44159332873da6fe46",
2637138
Expand Down
2 changes: 1 addition & 1 deletion src/python/pants/backend/python/goals/lockfile.py
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,7 @@ async def generate_lockfile(
# limit on lock universaility to avoid issues locking due to irrelevant
# Windows-only dependency issues. See this Pex issue that originated from a
# Pants user issue presented in Slack:
# https://github.com/pantsbuild/pex/issues/1821
# https://github.com/pex-tool/pex/issues/1821
#
# At some point it will probably make sense to expose `--target-system` for
# configuration.
Expand Down
2 changes: 1 addition & 1 deletion src/python/pants/backend/python/util_rules/pex.py
Original file line number Diff line number Diff line change
Expand Up @@ -431,7 +431,7 @@ class _BuildPexPythonSetup:
async def _determine_pex_python_and_platforms(request: PexRequest) -> _BuildPexPythonSetup:
# NB: If `--platform` is specified, this signals that the PEX should not be built locally.
# `--interpreter-constraint` only makes sense in the context of building locally. These two
# flags are mutually exclusive. See https://github.com/pantsbuild/pex/issues/957.
# flags are mutually exclusive. See https://github.com/pex-tool/pex/issues/957.
if request.platforms or request.complete_platforms:
# Note that this means that this is not an internal-only pex.
# TODO(#9560): consider validating that these platforms are valid with the interpreter
Expand Down
4 changes: 2 additions & 2 deletions src/python/pants/backend/python/util_rules/pex_cli.py
Original file line number Diff line number Diff line change
Expand Up @@ -33,10 +33,10 @@
class PexCli(TemplatedExternalTool):
options_scope = "pex-cli"
name = "pex"
help = "The PEX (Python EXecutable) tool (https://github.com/pantsbuild/pex)."
help = "The PEX (Python EXecutable) tool (https://github.com/pex-tool/pex)."

default_version = "v2.1.163"
default_url_template = "https://github.com/pantsbuild/pex/releases/download/{version}/pex"
default_url_template = "https://github.com/pex-tool/pex/releases/download/{version}/pex"
version_constraints = ">=2.1.148,<3.0"

@classproperty
Expand Down
2 changes: 1 addition & 1 deletion src/python/pants/notes/1.1.x.rst
Original file line number Diff line number Diff line change
Expand Up @@ -353,7 +353,7 @@ Refactoring, Improvements, and Tooling
`RB #3951 <https://rbcommons.com/s/twitter/r/3951>`_

* Bump pex requirement to 1.1.10.
`Issue #265 <https://github.com/pantsbuild/pex/issues/265>`_
`Issue #265 <https://github.com/pex-tool/pex/issues/265>`_
`RB #3949 <https://rbcommons.com/s/twitter/r/3949>`_

* Refactor and simplify go fetcher code.
Expand Down
4 changes: 2 additions & 2 deletions src/python/pants/notes/1.10.x.rst
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,9 @@ Bugfixes
~~~~~~~~

* Pin jupyter transitive deps in integration tests (#6568)
`Pex Issue #561, <https://github.com/pantsbuild/pex/issues/561>`_
`Pex Issue #561, <https://github.com/pex-tool/pex/issues/561>`_
`Pants PR #6568 <https://github.com/pantsbuild/pants/pull/6568>`_
`Pex PR #562 <https://github.com/pantsbuild/pex/pull/562>`_
`Pex PR #562 <https://github.com/pex-tool/pex/pull/562>`_

* More pinning to fix jupyter floats. (#6600)
`PR #6600 <https://github.com/pantsbuild/pants/pull/6600>`_
Expand Down
4 changes: 2 additions & 2 deletions src/python/pants/notes/1.11.x.rst
Original file line number Diff line number Diff line change
Expand Up @@ -279,8 +279,8 @@ Refactoring, Improvements, and Tooling

* Pin jupyter transitive deps in integration tests (#6568)
`PR #6568 <https://github.com/pantsbuild/pants/pull/6568>`_
`Pex Issue #561 <https://github.com/pantsbuild/pex/issues/561>`_
`Pex PR #562 <https://github.com/pantsbuild/pex/pull/562>`_
`Pex Issue #561 <https://github.com/pex-tool/pex/issues/561>`_
`Pex PR #562 <https://github.com/pex-tool/pex/pull/562>`_

* Switch synchronization primitive usage to parking_lot (#6564)
`PR #6564 <https://github.com/pantsbuild/pants/pull/6564>`_
Expand Down
4 changes: 2 additions & 2 deletions src/python/pants/notes/1.15.x.rst
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ New Features
~~~~~~~~~~~~

* Release pants as both a Python 2.7 PEX and a Python 3.6 PEX (#7401)
`Issue #654 <https://github.com/pantsbuild/pex/issues/654>`_
`Issue #654 <https://github.com/pex-tool/pex/issues/654>`_
`PR #7401 <https://github.com/pantsbuild/pants/pull/7401>`_

Refactoring, Improvements, and Tooling
Expand Down Expand Up @@ -150,7 +150,7 @@ New Features
`PR #7365 <https://github.com/pantsbuild/pants/pull/7365>`_

* Add support for releasing Python 3 wheels (#7197)
`Issue #654 <https://github.com/pantsbuild/pex/issues/654>`_
`Issue #654 <https://github.com/pex-tool/pex/issues/654>`_
`PR #7197 <https://github.com/pantsbuild/pants/pull/7197>`_

* [pantsd] Implement auto-shutdown after runs (#7341)
Expand Down
2 changes: 1 addition & 1 deletion src/python/pants/notes/1.16.x.rst
Original file line number Diff line number Diff line change
Expand Up @@ -171,7 +171,7 @@ Bugfixes
~~~~~~~~

* Apply timeouts to pex resolves (#7659)
`PEX Issue #26 <http://github.com/pantsbuild/pex/issues/26>`_
`PEX Issue #26 <http://github.com/pex-tool/pex/issues/26>`_
`PR #7659 <https://github.com/pantsbuild/pants/pull/7659>`_

* pin the PEX_PYTHON{,_PATH} running the pytest pex to avoid using incompatible pytest requirements (#7563)
Expand Down
2 changes: 1 addition & 1 deletion src/python/pants/notes/1.20.x.rst
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ API Changes
~~~~~~~~~~~

* Upgrade to Pex 1.6.10. (#8187)
`Issue #756 <https://github.com/pantsbuild/pex/issues/756>`_
`Issue #756 <https://github.com/pex-tool/pex/issues/756>`_
`PR #8187 <https://github.com/pantsbuild/pants/pull/8187>`_

* Upgrade to PyYAML 5.1.2 (#8161)
Expand Down
2 changes: 1 addition & 1 deletion src/python/pants/notes/1.21.x.rst
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,7 @@ New Features
API Changes
~~~~~~~~~~~
* Invoke Pants via module in ITs. (#8265)
`Issue #707 <https://github.com/pantsbuild/pex/issues/707>`_
`Issue #707 <https://github.com/pex-tool/pex/issues/707>`_
`PR #8265 <https://github.com/pantsbuild/pants/pull/8265>`_

Bugfixes
Expand Down
2 changes: 1 addition & 1 deletion src/python/pants/notes/1.26.x.rst
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ This document describes releases leading up to the ``1.26.x`` ``stable`` series.

Some significant changes in this series:

* Pants now uses PEX ``2.1.x``, which uses PIP under the hood, and consequently significantly changes resolves (in order to better align with the wider Python ecosystem). Please see https://github.com/pantsbuild/pex/pull/788 for details.
* Pants now uses PEX ``2.1.x``, which uses PIP under the hood, and consequently significantly changes resolves (in order to better align with the wider Python ecosystem). Please see https://github.com/pex-tool/pex/pull/788 for details.

* Adds support for TOML config files, e.g. ``pants.toml``. INI config files will still be supported for some time, but INI is now legacy. Please see https://groups.google.com/forum/#!topic/pants-devel/N1H03oJONco for more information.

Expand Down
2 changes: 1 addition & 1 deletion src/python/pants/notes/1.27.x.rst
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@ Bugfixes
`PR #9531 <https://github.com/pantsbuild/pants/pull/9531>`_

* Fix V2 binary still using the `current` platform when `platforms` is specified (#9563)
`Issue #957 <https://github.com/pantsbuild/pex/issues/957>`_
`Issue #957 <https://github.com/pex-tool/pex/issues/957>`_
`PR #9563 <https://github.com/pantsbuild/pants/pull/9563>`_

* Propagate the owners_not_found_behavior to FilesystemSpec expansion. (#9551)
Expand Down
2 changes: 1 addition & 1 deletion src/python/pants/notes/1.29.x.rst
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ Bugfixes
~~~~~~~~

* Set the pex_root cache only at build time (#9958)
`Issue #984 <https://github.com/pantsbuild/pex/issues/984>`_
`Issue #984 <https://github.com/pex-tool/pex/issues/984>`_
`PR #9958 <https://github.com/pantsbuild/pants/pull/9958>`_

* Fix lease extension, and make it recursive (#9956)
Expand Down
2 changes: 1 addition & 1 deletion src/python/pants/notes/1.5.x.rst
Original file line number Diff line number Diff line change
Expand Up @@ -170,7 +170,7 @@ New Features

* Don't force inherit_path to be a bool (#5482)
`PR #5482 <https://github.com/pantsbuild/pants/pull/5482>`_
`PR #444 <https://github.com/pantsbuild/pex/pull/444>`_
`PR #444 <https://github.com/pex-tool/pex/pull/444>`_

Bugfixes
~~~~~~~~
Expand Down

0 comments on commit ad856fc

Please sign in to comment.