On Mon, 9 Jun 2014 11:57:07 +0200, Sergio Pascual wrote:
> I have a pair of python packages that bundle a series of python packages
> under a subpackage extern. In particular, python-astropy bundles six,
> configobj, pytest and ply.
>
> What I do is patching the source, so that instead of
>
> from astropy.extern.six import ...
>
> I have
>
> from six import ...
>
>
> This works for astropy itself, but other third-party packages require
> astropy.extern to exist and work, i.e, its part of the API of astropy.
>
> I have read this
>
>
http://fedoraproject.org/wiki/User:Toshio/Unbundling_Python_Modules
>
> but before trying to implement changes, my question is: is a valid approach
> to remove the bundled library and make a files ystem link to the system
> library?
IMO, it would be cleaner to adjust the "import" statements and make
them try importing the system modules before falling back to the
bundled modules. Such a change could be merged upstream, and then you
would only need to delete the bundled modules.
Of course, a primary question is why are these modules bundled?
Is it only out of convenience (for the users/developers)?
Are there strict dependencies on specific versions of these modules?
Another viable approach could be (not tested) replacing contents of astropy.extern.six
with single line "from six import *". That'd unbundle six and wouldn't
break depending libraries.
Slavek