<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><br></div><div>I'd be completely happy with specifying the mapping from "what" to "where" in a configuration file, outside of setup.py. That would be even more convenient since it would be more DRY than having dependency_links in every package's setup.py. The mapping could be Python code consisting of lines like:</div>

<div><br></div><div>map( 'foo<=1.5', <span style="font-size:13px;font-family:arial,sans-serif"> git+<a href="https://myrepo/foo@master#" target="_blank">https://myrepo/foo@master#</a></span><span style="font-size:13px;font-family:arial,sans-serif">egg=1.5 )</span></div>

<div><span style="font-size:13px;font-family:arial,sans-serif"><br></span></div><div><span style="font-size:13px;font-family:arial,sans-serif">or with patterns</span></div><div><span style="font-size:13px;font-family:arial,sans-serif"><br>

</span></div><div><div>map_re( '(bar-.*)<=(.*)', <span style="font-size:13px;font-family:arial,sans-serif"> git+<a href="https://myrepo/$1@master#" target="_blank">https://myrepo/$1@master#</a></span><span style="font-size:13px;font-family:arial,sans-serif">egg=$1-$2 )</span></div>

</div><div><span style="font-size:13px;font-family:arial,sans-serif"><br></span></div><div>This is probably a bit naive, especially with respect to how it translates the version constraint into a concrete version.</div></div>
</blockquote><div><br></div><div>I think that's an interesting idea, although I think your $2 would need to alter the @ part as well, which is the tag or branch your cloning</div><div>If the mappings could be constructed as option values, then the mappings could just live in the requirements file.</div>
<div><br></div><div>e.g. a mapping for "myproject" that has myproject==version map to a tag in the clone equal to "version"</div><div><br></div><div>--vcs-req-map  myproject:git+<a href="https://myrepo/myproject@${version}#egg=myproject">https://myrepo/myproject@${version}#egg=myproject</a></div>
<div><br></div><div><br></div></div></div></div>