bazel-contrib / bazel-contrib/rules_python
Integrate sys.abi_features/sys.abi_info into toolchains when available
- 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
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