Distribute Python Bindings
- Dominant language
- C
- Stars
- 53
- Forks
- 11
- Avg merge
- 1h
- Merged PRs (30d)
- 3
Description
It would be awesome if users could install and use the Python bindings.
### Python setuptools
This was my first choice because I was familiar with using pip to configure python virtual environments. Unfortunately, when using wheel to build a whl distribution the C extension module that relies on libmpibind does not get its rpath configured correctly. setuptools does not use libtools to invoke the linker so the resulting extension module behaves differently compared to the extension module generated by our autotools setup.
Here are some steps that we could take in this direction:
- explore the possibility of linking with the static libmpibind.a
- It seems like the creators of setuptools are aware of this issue and their [auditwheel](https://github.com/pypa/auditwheel) tool provides functionality for injecting a shared object into the wheel distribution. The auditwheel package is not installed on lc systems so that would require some addtional configuration
### Spack
I have not looked into this too much yet, but it seems like it could be a good alternative to setuptools.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by investigating the Python setuptools and wheel path described in the issue, including the libmpibind rpath problem and auditwheel availability on LC systems. Compare this with the suggested static linking and Spack alternatives. Done means users can install and use the Python bindings through a documented distribution method.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c, python
- Domain
- build-system, developer-experience
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100