<div dir="ltr">Dear everyone,<div><br></div><div>It seems that before we even start discussing the new package structure, we need to agree on which Python versions Biopython 2.0 should support.<br><br>I agree with dropping Python 2.x dependency altogether and supporting the latest Python (which is 3.6 now; 3.5 still seems acceptable to support).</div><div><br></div><div>I like to think that it is easier nowadays to use your preferred Python version regardless of what is available on the host system. Many tools now provide various levels of isolation to achieve this. Virtualenv (and in a similar vein, Conda), for example, makes it easy to set up user-level Python independent from the system Python. Containers like Singularity which does not require root privileges are also available. And if all else fails, there is still Biopython 1.x as Tiago mentioned.<br><br>Aside from future maintainability reasons and simply being up to date, there are many Python 3.x-only features & standard library components that I feel can improve our code. To name a few from the top of my head:</div><div><br></div><div>1. Comparisons are more strict in Python 3 (now we get TypeErrors when comparing ints and non-ints, for example).<br><br>2. Laziness-by-default for some commonly used container operations like range(), dict.keys(), or dict.values().<br><br>3. New standard library modules like pathlib (for filesystem paths), enum (proper enumeration), and concurrent.futures (for launching parallel tasks) that are joys to work with.</div><div><br></div><div>4. New literal string interpolation (f-strings) which makes the code even easier to read.</div><div><br></div><div>5. Type hinting, which can be helpful as the codebase gets large.</div><div><br></div><div>And of course there is also the bytes-versus-string issue, but I would argue that is actually also an improvement over Python 2.x.</div><div><br></div><div>P.S. +1 for the GitHub page ~ it is a nice place to track this. Also, as Joao mentioned, it is probably useful to look what similar other libraries are available now while we do the upgrade.<br><br>Cheers,<br>Bow<br><br><div class="gmail_quote"><div dir="ltr">On Thu, Jun 22, 2017 at 5:10 AM Tiago Antão <<a href="mailto:tiagoantao@gmail.com">tiagoantao@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On 21 June 2017 at 11:44, João Rodrigues <span dir="ltr"><<a href="mailto:j.p.g.l.m.rodrigues@gmail.com" target="_blank">j.p.g.l.m.rodrigues@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><p dir="ltr">+5 for a wiki page, thanks Tiago.<br></p><div class="m_455923424122384038gmail-HOEnZb"><div class="m_455923424122384038gmail-h5">
</div></div></blockquote></div></div></div><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"></div><div class="m_455923424122384038gmail_signature"><div dir="ltr"><div><a href="https://github.com/tiagoantao/" target="_blank"></a><br></div><div>Dear all,</div><div><br></div><div>I just put a very modest page up</div><div><a href="http://biopython.org/wiki/Biopython2" target="_blank">http://biopython.org/wiki/Biopython2</a><br></div><div>Just with the major points I collected.</div><div>Feel free to change this. Also, I did write very little about package restructuring. I don't feel I have the maturity to properly summarize the discussion.</div><div><br></div><div>I will try to update the page as long as the discussion goes on. In order for us to have a consolidated list of topics. But, again, feel free to do it yourself.</div></div></div></div></div><div dir="ltr"><div class="gmail_extra"><div class="m_455923424122384038gmail_signature"><div dir="ltr"><div><br></div><div>Tiago</div></div></div></div></div>
_______________________________________________<br>
Biopython-dev mailing list<br>
<a href="mailto:Biopython-dev@mailman.open-bio.org" target="_blank">Biopython-dev@mailman.open-bio.org</a><br>
<a href="http://mailman.open-bio.org/mailman/listinfo/biopython-dev" rel="noreferrer" target="_blank">http://mailman.open-bio.org/mailman/listinfo/biopython-dev</a></blockquote></div></div></div>