<div dir="auto"><div><br><div class="gmail_extra"><br><div class="gmail_quote">On 9 Dec 2016 4:42 PM, "Ben Finney" <<a href="mailto:ben%2Bpython@benfinney.id.au">ben+python@benfinney.id.au</a>> wrote:<br type="attribution"><blockquote class="quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Jeremy Stanley <<a href="mailto:fungi@yuggoth.org">fungi@yuggoth.org</a>> writes:<br>
<br>
> [the ‘pbr’ library] does allow you to basically abstract away most<br>
> common configuration into declarative setup.cfg and requirements.txt<br>
> files<br>
<br>
Hmm. That description sounds like a mistaken conflation of two things<br>
that should be distinct<br></blockquote></div></div></div><div dir="auto"><br></div><div dir="auto">It's not, though the name of the file it looks for is indeed evocative of concrete version lists. Requirements.txt was on the path to being deprecated in order to reduce confusion, but I'm no longer paid to work on that tool chain, so it's now in my lengthy best effort to-do list.</div><div dir="auto"><br></div><div dir="auto">Requirements.txt files are mapped directly into install-requires by pbr, and the replacement is to put the same dependencies into setup.cfg. </div><div dir="auto"><br></div><div dir="auto"><div class="gmail_extra"><div class="gmail_quote"><blockquote class="quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
* ...<br>
If we're saying ‘pbr’ encourages the use of a single set of declarations<br>
for those quite different purposes, that sounds like an attractive<br>
nuisance<br></blockquote></div></div></div><div dir="auto"><br></div><div dir="auto">It doesn't, confusing names aside. We even wrote a tool  - generate-constraints to calculate the transitive closure, python version specific as needed, for placing into a constraints / requires file for pip to consume.</div><div dir="auto"><br></div><div dir="auto">Rob</div><div dir="auto"><div class="gmail_extra"><br></div></div></div>