Why? AIUI snapcraft already excludes libraries that are in core which it identifies by name (could easily be hashsum). i.e. snapcraft could know the hashes of things in core and automatically exclude them from the generated snap.
When bases come along, I assume that the Ubuntu 16 base will include the same Python that’s currently in core? Given above, would snapcraft be happy to pull the base, but not core?
With updates of the base, the hashes change, we will need a nice way to determine that even if the hash is different the origin is the same. I would really like to tie this to some base work we have to do to determine intent.
Once the base work is in place we can determine intent easier and do the right thing. But the story will be vastly different for classic confinement given that we cannot patch the python interpreter in core/base and all the other libraries there in order to have a strict linker loader or rpaths to specific library paths (important for classic confinement to mix up with host ones), so we will need to bring in the interpreter regardless for certain scenarios mudding the plugin logic a bit.
Also, python3 will always be part of the 16 base, but it might not be in the 18 one (it is only there to support cloud-init).