-
Notifications
You must be signed in to change notification settings - Fork 78
Description
A lot of complexity in the repo layout comes from us using git submodules to bring in the code for kastore, and then do some funky symlinking so that we can use the same code when building the C library and the Python module. #1958 simplifies this a bit, but introduces the problem that we have to update kastore in two different places.
This is quite a bit of complexity in order to, fundamentally, get two files into the repo. We could just copy in these files and be done with it. It would make building the library significantly easier for third parties, because they wouldn't have to worry about kastore also. It also makes it more likely that kastore would be kept up to date in third party code.
I did it like this originally so that it'd be easy to keep kastore up to date, but kastore is stable now and is unlikely the change much, so that motivation isn't really there any more.
The cons of vendoring in like this is that some packagers don't like it and specifically ban it, but I think the degree to which kastore really is a third party dependency is pretty minimal. It's not like anyone else is using kastore beyond tskit.
Any thoughts here, @benjeffery, @bhaller, @molpopgen ?