bazel-contrib / bazel-contrib/rules_python

Integrate sys.abi_features/sys.abi_info into toolchains when available

Open
#3,196 0 comments 0 reactions 0 assignees View on GitHub
core-rules need: upstream support type: feature request type: toolchain
Dominant language
Starlark
Stars
688
Forks
721
Avg merge
15h 7m
Merged PRs (30d)
76

Description

It looks like Python is going to add a `sys.abi_info` attribute that gives details about the interpreter's ABI.

https://discuss.python.org/t/add-sys-abi-features-to-make-information-about-the-interpreter-abi-more-accessible/94422

https://github.com/python/cpython/pull/137476

Whatever they do, It should be exposed on our toolchains. We already do something similar for `sys.abiflags`; this new fields is basically a more structured and improved version of it.

* [ ] Add a equivalent field on the toolchain type, since it's specific about the C ABI, it should go on the py-cc toolchain type.
* [ ] local_toolchains: inspect it and put its values in the toolchain
* [ ] python-build-standalone: ideally, this would go into a file we can read a repo time using starlark. (cross builds may mean the interpreter can't be run directly)

Contributor guide

Open the contributing guide

Research direction

Start with the existing sys.abiflags handling and the py-cc toolchain type, then inspect local_toolchains and python-build-standalone as named in the checklist. Compare the proposed sys.abi_features/sys.abi_info behavior in the linked Python discussions and determine how values can be supplied for cross builds; done means the ABI information is exposed on toolchains when available.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
build-system
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.