[Biopython-dev] Deprecating Bio.ParserSupport, Bio.Blast.NCBIStandalone

Michiel de Hoon mjldehoon at yahoo.com
Sun Jan 27 04:45:46 UTC 2013


[This message previously got lost in cyberspace. Sending it again.]

--- On Fri, 1/11/13, Peter Cock <p.j.a.cock at googlemail.com> wrote:
> Bow's SearchIO is using Bio.Blast.NCBIStandalone to handle
> plain text,
> https://github.com/biopython/biopython/blob/master/Bio/SearchIO/BlastIO/blast_text.py

OK then let's keep Bio.ParserSupport as is for now.

> That's why Bio._utils is a private module - we can
> drop/change/etc this without worrying about breaking
> other people's code. The issue with Bio.ParserSupport
> is it was a public API.

Its API being public was not the problem -- we have deprecated and removed lots of public modules over the years.

The problem with Bio.ParserSupport was twofold. First, it ended up making parsers more complex and difficult to understand for people not familiar with Bio.ParserSupport, in particular for newcomers and users trying to fix a bug. So Bio.ParserSupport never made us really happy. As a case in point, Bio._utils was created rather than reusing the code in Bio.ParserSupport.

The second problem was that many modules were using bits and pieces of Bio.ParserSupport, so we could not drop or change Bio.ParserSupport easily. Bio.ParserSupport has been officially obsolete but not deprecated for years.

> That's why Bio._utils is a private module - we can
> drop/change/etc this without worrying about breaking
> other people's code.

Let's drop it.

Just it being a private module doesn't make it "free". It clutters up the code base. This is particularly true for top-level modules.

Best,
-Michiel.



More information about the Biopython-dev mailing list