[Biopython-dev] PEP8 lower case module names?

Tiago Antão tiagoantao at gmail.com
Sun Nov 4 13:09:35 UTC 2012


On Fri, Nov 2, 2012 at 4:01 PM, Michiel de Hoon <mjldehoon at yahoo.com> wrote:

> Already I feel that we need to install too many packages to get going with
> Python in bioinformatics (Python itself, NumPy, Matplotlib and its
> dependencies, Pysam, Cython (needed to compile Pysam), ezsetup, perhaps
> SciPy, Biopython). I find this hard to explain to people new to
> bioinformatics or new to Python. So I would prefer to keep one distribution.
> We can be more lenient in terms of dependencies, especially those that
> don't occur at compile time.
One of the things that I always found lacking with biopython is a clear,
consistent policy on dependencies: Depending on the mood of the day it
could be either good/bad to add a library dependency. As an example, this
ended up with there being a dependency on reportlab, but not on scipy.

Whatever the policy, I think that is should be consistent all across.
Preferably simple to both users and developers.

A few ideas on policy:

1. I totally agree with the the idea of being as lenient as possible with
dependencies (as you say, especially with those that do not occur at
compile time).
2. Biopython belongs to a certain software ecology. I think it would make
sense to see as natural adding dependencies on well established python
3. (1+2) If a developer wants to add a dependency on a package, that should
not be a major problem (as long as the package is maintained for long/well
known/stable). Users should only have to deal with the dependency if they
need the functionality that depends on that package.

Python being a dynamic language, there does not have to be a burden on
users/developers if a remote part of Biopython depends on something more
exotic (which most users/developers will never see/install in any case).
Again by "exotic" I mean well known libraries with a track record of years
of stability.

PS - Another issue that it would be interesting see cleared-up would be the
policy on compile time (linkage) dependencies. Are new ones encouraged?
What about Java/Jython based?

More information about the Biopython-dev mailing list