[Biopython-dev] PEP8 lower case module names?

Peter Cock p.j.a.cock at googlemail.com
Tue Sep 4 02:30:51 EDT 2012


Hello all,

Over on one of Bow's pull requests Michiel made a suggestion about
consolidating the Bio.Seq* namespace under Bio.Seq.* which we can
do by replacing Bio/Seq.py with Bio/Seq/__init__.py

See: https://github.com/biopython/biopython/pull/63#issuecomment-8252340

I agree that Bio.Seq, Bio.SeqUtils, Bio.SeqIO, Bio.SeqRecord,
and Bio.SeqFeature isn't ideal. However, changing this would be
a big disruption - so perhaps any large change like this should
also address the mixed case module names which are not PEP8
conformant (Modules should have short, all-lowercase names).

http://www.python.org/dev/peps/pep-0008/#package-and-module-names

One idea I was pondering is a new parallel namespace, ideally
bio.* but we can't use that due to case insensitive file systems
like Windows and (by default) Mac OS X. So perhaps biopy,
or bp? [I've not checked for clashes with other libraries yet.]

We could gradually move code over to the new namespace,
using imports to preserve back compatibility - but support both
namespaces during a (long) transition period.

What I like about this is it allows people to make a gradual
conversion - and we don't have to burden of two main
branches if we attempted a single jump to a Biopython v2.

Does this seem worth considering?

Regards,

Peter


More information about the Biopython-dev mailing list