Local testing of inclusion of Boost as a submodule has revealed some undesirable side effects:
- all sources, documentation, etc. regardless of relevance to SciPy must be fetched
- recursive submodule initialization can take quite a while (~10 minutes on my machine and internet connection)
- lots of churn when running commands like `git status`
Of course we will also need to see how this impacts the CI pipelines. This extra overhead may initially cause some timeouts. Another option that will alleviate some of these pains is to create a header only repo similar to this one:
https://github.com/povilasb/boost-header-only. It could live in the SciPy github account and would be easy to update -- simply download the Boost tarball release and copy over the include directory only (or build a specific commit locally and do the same thing). It is more maintenance than simply checking out the latest tagged release of Boost and updating the submodules (adds an extra step of updating the header only repo), but it minimizes space and bandwidth usage. Thoughts?