refined-cat-61929
12/10/2025, 8:03 PM2.0.45. Pants (probably actually pex) reported
No pre-built wheel was available for SQLAlchemy 2.0.45. Successfully built the wheel sqlalchemy-2.0.45-cp311-cp311-macosx_11_0_arm64.whl from the sdist sqlalchemy-2.0.45.tar.gz but it is not compatible with the requested foreign target complete platform cp312-cp312-manylinux_2_36_x86_64.But sqlalchemy has what this is apparently looking for, or at least a previous clib version: sqlalchemy-2.0.45-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl. The previous version, which worked, had an even earlier clib version: sqlalchemy-2.0.44-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl. My
gcloud-platfrom.json has the `"cp312-cp312-manylinux_2_36_x86_64",as the first compatible tag, but has tags for 2_28 and 2_17 as well. So I think it *should* work.
When I switch on-ldebug`, I see the args to pex (I think) have the following odd-looking args: "--no-pypi", "--index=<https://pypi.org/simple/>". We also are using --find-link with our own storage, but none of this has been a problem in the past.
I've worked around the issue by just using the old version of sqlalchemy, but I'd like to understand what is going wrong.refined-cat-61929
12/10/2025, 8:22 PMcp312-cp312-manylinux_2_39_x86_64 . Why this works is a mystery to me.brief-scientist-13682
12/12/2025, 3:50 AMrefined-cat-61929
12/12/2025, 4:26 AMlinux/amd64.brief-scientist-13682
12/12/2025, 4:29 AMpex3 interpreter inspect --markers --tags on the foreign machine.brief-scientist-13682
12/12/2025, 4:33 AMbrief-scientist-13682
12/13/2025, 5:13 AM:; pex -V
2.74.1
:; pex --complete-platform ~/support/pex/slack/12-11-2025/complete-platform.json SQLAlchemy==2.0.45
Pex 2.74.1 ephemeral hermetic environment with 1 requirement and 3 activated distributions.
Python 3.12.12 (main, Oct 9 2025, 22:14:31) [GCC 15.2.0] on linux
Type "help", "pex", "copyright", "credits" or "license" for more information.
>>> import sqlalchemy
>>> sqlalchemy.__file__
'/home/jsirois/.cache/pex/installed_wheels/2/ba547ac0b361ab4f1608afbc8432db669bd0819b3e12e29fb5fa9529a8bba81d/sqlalchemy-2.0.45-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl/sqlalchemy/__init__.py'
>>>
I don't know what Pants is doing, but Pex seems to handle this fine. You were vague with your details above re: -ldebug. Can you provide full output so I can see exactly what Pex call Pants is making?refined-cat-61929
12/16/2025, 4:59 PMgcloud-platform.json but this time it worked. Maybe something changed in the world to make the issue go away, such as new wheels?brief-scientist-13682
12/16/2025, 5:16 PMbrief-scientist-13682
12/16/2025, 5:17 PMrefined-cat-61929
12/16/2025, 5:41 PMgcloud-platform.json, but that also doesn't make sense - our changes to that file, just adding new versions that are above and beyond what clib versions the sqlalchemy builds were for, which was necessary to fix a real issue for building on Macs, but shouldn't be necessary for the linux version AFAICT. However, it did actually fix the issue, and now that I reverted that fix, the issue is still fixed, meaning something else must have changed.brief-scientist-13682
12/16/2025, 7:07 PM:; curl -sSL <https://pypi.org/pypi/SQLAlchemy/2.0.45/json> | jq '.urls[] | {filename:.filename,upload_time:.upload_time_iso_8601}'
{
"filename": "sqlalchemy-2.0.45-cp310-cp310-macosx_11_0_arm64.whl",
"upload_time": "2025-12-10T20:03:21.023948Z"
}
{
"filename": "sqlalchemy-2.0.45-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl",
"upload_time": "2025-12-09T22:06:04.768302Z"
}
{
"filename": "sqlalchemy-2.0.45-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl",
"upload_time": "2025-12-09T22:09:54.435720Z"
}
{
"filename": "sqlalchemy-2.0.45-cp310-cp310-musllinux_1_2_aarch64.whl",
"upload_time": "2025-12-09T22:06:06.169412Z"
}
{
"filename": "sqlalchemy-2.0.45-cp310-cp310-musllinux_1_2_x86_64.whl",
"upload_time": "2025-12-09T22:09:55.969008Z"
}
{
"filename": "sqlalchemy-2.0.45-cp310-cp310-win32.whl",
"upload_time": "2025-12-09T21:29:54.007165Z"
}
{
"filename": "sqlalchemy-2.0.45-cp310-cp310-win_amd64.whl",
"upload_time": "2025-12-09T21:29:55.850882Z"
}
{
"filename": "sqlalchemy-2.0.45-cp311-cp311-macosx_11_0_arm64.whl",
"upload_time": "2025-12-10T20:03:23.843328Z"
}
{
"filename": "sqlalchemy-2.0.45-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl",
"upload_time": "2025-12-09T22:06:07.461125Z"
}
{
"filename": "sqlalchemy-2.0.45-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl",
"upload_time": "2025-12-09T22:09:57.643514Z"
}
{
"filename": "sqlalchemy-2.0.45-cp311-cp311-musllinux_1_2_aarch64.whl",
"upload_time": "2025-12-09T22:06:08.879940Z"
}
{
"filename": "sqlalchemy-2.0.45-cp311-cp311-musllinux_1_2_x86_64.whl",
"upload_time": "2025-12-09T22:09:59.454607Z"
}
{
"filename": "sqlalchemy-2.0.45-cp311-cp311-win32.whl",
"upload_time": "2025-12-09T21:29:57.030481Z"
}
{
"filename": "sqlalchemy-2.0.45-cp311-cp311-win_amd64.whl",
"upload_time": "2025-12-09T21:29:58.556271Z"
}
{
"filename": "sqlalchemy-2.0.45-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl",
"upload_time": "2025-12-09T22:11:02.660461Z"
}
{
"filename": "sqlalchemy-2.0.45-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl",
"upload_time": "2025-12-09T22:13:49.054901Z"
}
{
"filename": "sqlalchemy-2.0.45-cp312-cp312-musllinux_1_2_aarch64.whl",
"upload_time": "2025-12-09T22:11:04.140714Z"
}
{
"filename": "sqlalchemy-2.0.45-cp312-cp312-musllinux_1_2_x86_64.whl",
"upload_time": "2025-12-09T22:13:50.598916Z"
}
{
"filename": "sqlalchemy-2.0.45-cp312-cp312-win32.whl",
"upload_time": "2025-12-09T21:39:30.824640Z"
}
{
"filename": "sqlalchemy-2.0.45-cp312-cp312-win_amd64.whl",
"upload_time": "2025-12-09T21:39:32.321282Z"
}
{
"filename": "sqlalchemy-2.0.45-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl",
"upload_time": "2025-12-09T22:11:06.167760Z"
}
{
"filename": "sqlalchemy-2.0.45-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl",
"upload_time": "2025-12-09T22:13:52.626311Z"
}
{
"filename": "sqlalchemy-2.0.45-cp313-cp313-musllinux_1_2_aarch64.whl",
"upload_time": "2025-12-09T22:11:08.093727Z"
}
{
"filename": "sqlalchemy-2.0.45-cp313-cp313-musllinux_1_2_x86_64.whl",
"upload_time": "2025-12-09T22:13:54.262486Z"
}
{
"filename": "sqlalchemy-2.0.45-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl",
"upload_time": "2025-12-09T22:13:28.622532Z"
}
{
"filename": "sqlalchemy-2.0.45-cp313-cp313t-musllinux_1_2_x86_64.whl",
"upload_time": "2025-12-09T22:13:30.188456Z"
}
{
"filename": "sqlalchemy-2.0.45-cp313-cp313-win32.whl",
"upload_time": "2025-12-09T21:39:33.486247Z"
}
{
"filename": "sqlalchemy-2.0.45-cp313-cp313-win_amd64.whl",
"upload_time": "2025-12-09T21:39:36.801221Z"
}
{
"filename": "sqlalchemy-2.0.45-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl",
"upload_time": "2025-12-09T22:11:09.662250Z"
}
{
"filename": "sqlalchemy-2.0.45-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl",
"upload_time": "2025-12-09T22:13:56.213334Z"
}
{
"filename": "sqlalchemy-2.0.45-cp314-cp314-musllinux_1_2_aarch64.whl",
"upload_time": "2025-12-09T22:11:11.100469Z"
}
{
"filename": "sqlalchemy-2.0.45-cp314-cp314-musllinux_1_2_x86_64.whl",
"upload_time": "2025-12-09T22:13:57.932417Z"
}
{
"filename": "sqlalchemy-2.0.45-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl",
"upload_time": "2025-12-09T22:13:32.090091Z"
}
{
"filename": "sqlalchemy-2.0.45-cp314-cp314t-musllinux_1_2_x86_64.whl",
"upload_time": "2025-12-09T22:13:33.739402Z"
}
{
"filename": "sqlalchemy-2.0.45-cp314-cp314-win32.whl",
"upload_time": "2025-12-09T21:39:38.365457Z"
}
{
"filename": "sqlalchemy-2.0.45-cp314-cp314-win_amd64.whl",
"upload_time": "2025-12-09T21:39:39.503317Z"
}
{
"filename": "sqlalchemy-2.0.45-cp38-cp38-macosx_11_0_arm64.whl",
"upload_time": "2025-12-10T20:05:12.527165Z"
}
{
"filename": "sqlalchemy-2.0.45-cp38-cp38-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl",
"upload_time": "2025-12-09T22:06:52.799563Z"
}
{
"filename": "sqlalchemy-2.0.45-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl",
"upload_time": "2025-12-09T22:09:57.698375Z"
}
{
"filename": "sqlalchemy-2.0.45-cp38-cp38-musllinux_1_2_aarch64.whl",
"upload_time": "2025-12-09T22:06:54.119667Z"
}
{
"filename": "sqlalchemy-2.0.45-cp38-cp38-musllinux_1_2_x86_64.whl",
"upload_time": "2025-12-09T22:10:00.550783Z"
}
{
"filename": "sqlalchemy-2.0.45-cp38-cp38-win32.whl",
"upload_time": "2025-12-09T22:09:14.627579Z"
}
{
"filename": "sqlalchemy-2.0.45-cp38-cp38-win_amd64.whl",
"upload_time": "2025-12-09T22:09:15.826311Z"
}
{
"filename": "sqlalchemy-2.0.45-cp39-cp39-macosx_11_0_arm64.whl",
"upload_time": "2025-12-10T20:05:13.998781Z"
}
{
"filename": "sqlalchemy-2.0.45-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl",
"upload_time": "2025-12-09T22:06:55.420304Z"
}
{
"filename": "sqlalchemy-2.0.45-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl",
"upload_time": "2025-12-09T22:10:03.143613Z"
}
{
"filename": "sqlalchemy-2.0.45-cp39-cp39-musllinux_1_2_aarch64.whl",
"upload_time": "2025-12-09T22:06:56.894987Z"
}
{
"filename": "sqlalchemy-2.0.45-cp39-cp39-musllinux_1_2_x86_64.whl",
"upload_time": "2025-12-09T22:10:04.812332Z"
}
{
"filename": "sqlalchemy-2.0.45-cp39-cp39-win32.whl",
"upload_time": "2025-12-09T22:09:17.012443Z"
}
{
"filename": "sqlalchemy-2.0.45-cp39-cp39-win_amd64.whl",
"upload_time": "2025-12-09T22:09:18.545897Z"
}
{
"filename": "sqlalchemy-2.0.45-py3-none-any.whl",
"upload_time": "2025-12-09T21:54:52.608528Z"
}
{
"filename": "sqlalchemy-2.0.45.tar.gz",
"upload_time": "2025-12-09T21:05:16.737380Z"
}refined-cat-61929
12/16/2025, 7:08 PMbrief-scientist-13682
12/16/2025, 7:08 PMrefined-cat-61929
12/16/2025, 7:08 PMbrief-scientist-13682
12/16/2025, 7:09 PMrefined-cat-61929
12/16/2025, 7:11 PMrefined-cat-61929
12/16/2025, 7:12 PMgcloud-platform.json or not is still unknown, but my edit occurred around 3 PM as well.brief-scientist-13682
12/16/2025, 7:15 PMSuccessfully built the wheel sqlalchemy-2.0.45-cp311-cp311-macosx_11_0_arm64.whl from the sdist sqlalchemy-2.0.45.tar.gz but it is not compatible with the requested foreign target complete platform cp312-cp312-manylinux_2_36_x86_64.That's a "YOLO mode" last ditch attempt to build a whl from source in the hopes you're on the same platform. Here, you were not. You were on Mac bare metal but were targeting Linux. No amount of tag adding to the complete platform - unless you did something crazy like add mac tags to a linux complete platform, would make the resolve succeed. If you did add mac tags, then the resolve would succeed, but then later use would fail, since a mac platform specific whl will never work on Linux.
brief-scientist-13682
12/16/2025, 7:16 PMrefined-cat-61929
12/16/2025, 7:19 PMbrief-scientist-13682
12/16/2025, 7:19 PMrefined-cat-61929
12/16/2025, 7:20 PM