Doug,

I believe our glance friends are not the only project with some open
questions on dealing with the "required dependency for optional plugin"
use-case.  You've made a recommendation to leverage some python tooling
functionality that I'm not familiar with.  I was hoping I could probe you
to elaborate so I can try and educate myself more?

... inline

On Tue, Jul 28, 2015 at 4:55 PM, Doug Hellmann <d...@doughellmann.com>
wrote:

>
>
> Please set up an "extras" entry for each backend instead of just
> removing the dependencies.  That will signal to users that you know
> what dependencies there are for a backend,


You referenced nova [1], and oslo.versionedobjects [2] for examples - but
I'd be more curious for the documentation if you have any idea where I
might look for it?  Is this a feature of pkg_resources, distutils,
setuptools, pbr?  What exactly does describing dependencies via this
"extras" key afford?


> but that they are optional,
> and still allow someone to do the equivalent of "pip install
> glance[vmware]" or "pip install glance[swift]" to get those
> dependencies.


I'm not familiar with that syntax for pip or it's equivalent!  That sounds
awesome!  Can you do like [extras:<pluginname>] in your setup.cfg and pip
install project[<pluginname>] just works!?  OMGBBQ!


> Nova and oslo.versionedobjects have examples in their
> setup.cfg if you need a template.
>

Hrm... I'm missing how either one of those setup.cfg's [1, 2] include an
example relevant to this use-case (i.e. required dependency for optional
backend plugin)?


>
> I didn't mention in the reviews, but this will also make integration
> tests in our gate easier, since you can put ".[vmware]" or ".[swift]" in
> the tox.ini to pull in those dependencies.
>
>
Hrm... yes testing.  So that's part "just a new -e" for the tox.ini - but
I'm not quite sure I follow how each environment would specify different
dependencies for the virtualenv?

I hope you can point me to some more information on the subject.

Thank you very much for pushing this out to a wider audience,

clayg

1. https://github.com/openstack/nova/blob/master/setup.cfg
2.
https://github.com/openstack/oslo.versionedobjects/blob/master/setup.cfg#L25
__________________________________________________________________________
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

Reply via email to