You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
sysconfig.get_platform() on FreeBSD should not include patch level #159550
@gvanrossum This function is used by pip to determine the platform tag. Because it changes with every patch update, the wheels are deemed incompatible even though FreeBSD ABI is stable across patch levels. I noticed this issue because pip kept rebuilding certain Rust packages (which is very slow and resource intensive on a modest server) rather than obtaining them from the cache (because the name in the cache encoded the patch version). Someone had mentioned this issue previously on the FreeBSD mailing list. For humans, it is still available via os.uname() which is the source.
Activity
pythongh-159550: Fix FreeBSD version in get_platform()
pythongh-159550: Fix FreeBSD version in get_platform()
gvanrossum commentedon Oct 16, 2026
@mohd-akram
Why don't you want it to reveal the patch level? That seems like a potentially useful piece of information (at least for a human).
mohd-akram commentedon Oct 16, 2026
@gvanrossum This function is used by pip to determine the platform tag. Because it changes with every patch update, the wheels are deemed incompatible even though FreeBSD ABI is stable across patch levels. I noticed this issue because pip kept rebuilding certain Rust packages (which is very slow and resource intensive on a modest server) rather than obtaining them from the cache (because the name in the cache encoded the patch version). Someone had mentioned this issue previously on the FreeBSD mailing list. For humans, it is still available via
os.uname()which is the source.gvanrossum commentedon Oct 16, 2026
Gotcha! And it looks like pip shouldn't be doing FreeBSD-specific editing of that string, I agree.