[openstack-dev] [all] requirements-py{2, 3} and universal wheels

Robert Collins robertc at robertcollins.net
Wed Mar 18 20:23:39 UTC 2015

On 18 March 2015 at 02:33, Monty Taylor <mordred at inaugust.com> wrote:

>>>> If so, an option would be to have pbr recognize the version-specific
>>>> input files as implying a particular rule, and adding that environment
>>>> marker to the dependencies list automatically until we can migrate to a
>>>> single requirements.txt (for which no rules would be implied).
>>> We could, or we could just migrate - I don't think its worth writing a
>>> compat shim.
>> Also agree.
> Actually - no, I just realized - we need to do a compat shim - because
> pbr has no such thing as a stable release or ability to be versioned. We
> have requirements-pyX in the wild, which means we must support them
> basically until the end of time.

We have more options than that.
We can:
 a) keep them as first class things. Thats what I think you mean above.
 b) freeze their feature set now, and tell folk wanting newer features
to stop using requirements-X files
 c) deprecate them: keep them working but nag folk to stop using them

All three things will meet our needs w.r.t. stable branches and
released things 'out there'.
Further - and I need to check this when the time comes - I am
reasonably sure we don't ship the requirements files in sdists, rather
its all reflected into metadata, so we *totally* can evolve stuff if
we're willing to break git checkouts: not that we should or need to,
just that the window there is narrower than 'end of time', which
things on pypi might imply :).

Separately we can and should do a stable release and versioned deps
for pbr in future, but that requires a whole detailed discussion and

> So I'm going to propose that we add a shim such as the one dhellmann
> suggests above so that pbr will support our old releases, but moving
> forward as a project, we should use markers and not requirements-pyX

I still don't think we need to do that. I am proposing we do b: we
stop adding features to requirements-X files, and advise folk of the
migration path.

I am poking at pip a bit right now to scratch the freaking annoying
setup_requires itch : not the evil fix to solve it for all releases
out there, just one to make our life with pbr and testtools and the
like a lot better - and that will take this very thread a bit further,
so I'd like to suggest we don't do anything right now.

Lets fix up trunk to be releasable and then discuss the next pbr
evolution after that. Juliens work should be incorporatable trivially,
but shims for requirements etc - lets defer for a week or two.


Robert Collins <rbtcollins at hp.com>
Distinguished Technologist
HP Converged Cloud

More information about the OpenStack-dev mailing list