<div dir="ltr">Hi all,<div><br></div><div>Yesterday a brief discussion started in macports-ports PR #<a href="https://github.com/macports/macports-ports/pull/6496">6496</a> where we were arguing about python apps best practices. Basically, a port update submission was made to add variants to a port (httpie) to support additional python versions. The PR author notices:</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span style="color:rgb(36,41,46);font-family:-apple-system,system-ui,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";font-size:14px">There are ports like </span><code style="box-sizing:border-box;font-family:SFMono-Regular,Consolas,"Liberation Mono",Menlo,monospace;font-size:11.9px;padding:0.2em 0.4em;margin:0px;background-color:rgba(27,31,35,0.05);border-radius:3px;color:rgb(36,41,46)">httpie</code><span style="color:rgb(36,41,46);font-family:-apple-system,system-ui,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";font-size:14px"> which tracks latest python version, others like </span><code style="box-sizing:border-box;font-family:SFMono-Regular,Consolas,"Liberation Mono",Menlo,monospace;font-size:11.9px;padding:0.2em 0.4em;margin:0px;background-color:rgba(27,31,35,0.05);border-radius:3px;color:rgb(36,41,46)">pgcli</code><span style="color:rgb(36,41,46);font-family:-apple-system,system-ui,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";font-size:14px"> which use variants and finally ports like </span><code style="box-sizing:border-box;font-family:SFMono-Regular,Consolas,"Liberation Mono",Menlo,monospace;font-size:11.9px;padding:0.2em 0.4em;margin:0px;background-color:rgba(27,31,35,0.05);border-radius:3px;color:rgb(36,41,46)">py-awscli</code><span style="color:rgb(36,41,46);font-family:-apple-system,system-ui,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";font-size:14px"> which use subports. None of them are usable as libraries.</span></blockquote><div> </div><div>I had this very doubt a few days ago, when I updated the <font face="monospace">docker-compose</font> port. The python portgroup sources (<font face="monospace">python-1.0.tcl</font>) state:</div><div><br></div><div><font face="monospace"># Usage:<br># name should be of the form py-foo for modules<br># subports pyXY-foo are declared for each XY in python.versions<br><br># for apps (i.e. not named py-foo), no subports will be defined<br># only the python.default_version will be used<br># you can change that in variants if you want</font><br></div><div><br></div><div>I'm inclined to say, then, that the PR author approach is correct, in which case I would also be compelled to migrate other ports I maintain (as the aforementioned <font face="monospace">py-awscli</font>). Also, this would have the side effect of gracefully transition users to the latest python version supported by a port.</div><div><br></div><div>What's your opinion about this?</div><div><br></div><div>Also, should I migrate <font face="monospace">py-awscli</font> to <font face="monospace">awscli</font>, what would the recommended course of action be to guarantee that the experience of current users of <font face="monospace">py-awscli</font> wouldn't be negatively affected?</div><div><br></div><div>Thanks,</div><div>Enrico</div></div>