Projects wish to capture their optional dependencies - things they need only when specific configuration options are enabled. We need to make sure the plumbing works for this to allow them to do that.
Python tooling supports ‘extras’ but pbr hasn’t exposed it, and our tooling is unaware of it.
Add extras to oslo.db exporting the various driver options it uses, and update keystone to consume those during CI. Deal with any issues, and then open the floodgates.
Folk introspecting requirements.txt will not see the optional dependencies within a project (but they wouldn’t before either). Dependencies using extras can already be used (e.g. requests[security]) so this isn’t new in that dimension.
Developers need to know a little bit more about how Python packaging works, but not much.
Who is leading the writing of the code? Or is this a blueprint where you’re throwing it out there to see who picks it up?
If more than one person is working on the implementation, please designate the primary author and contact.
Target Milestone for completion:
We need to update some pbr docs, but thats about it AFAIK.
This work is licensed under a Creative Commons Attribution 3.0 Unported License. http://creativecommons.org/licenses/by/3.0/legalcode