#18960 Best practices for compiled dependencies
New discussion created by
mrtnkb
Hi everyone,
I'm working in a scientific codebase which is mostly Python but has a reasonable amount of C++ and Fortran. Right now the Python is not managed by any build tool, the C++ is Bazel and the Fortran is compiled through scikit-build and build_ext.
I'm wondering what best practices would be for moving the Python to a build tool like Pants. Some things I've tried to not a lot of success:
• Using Bazel for everything. That's ok and pybind11 for calling C++ code is really nicely integrated but Python support is not ideal and breaks a lot of what many Python developers are familiar with. I also couldn't find a solution to integrating
python setup.py build_ext; python setup.py install
.
• Using Pants for Python and somehow dealing with C++ and Fortran deps. Pants is a real pleasure for pure Python but I couldn't work out a clean way to handle building and integrating C++/pybind11 or the esoteric Fortran package.
So my question: Is there a standard, recommended way to do this? Ideally I would have Python and C++ all in one repo (with protobufs compiled for both languages). Without C++ support is there a way to cleanly depend on files compiled by another tool in Pants?
Thanks a lot!
pantsbuild/pants