[Biopython-dev] Requiring setuptools (on top of recommending pip)?

Peter Cock p.j.a.cock at googlemail.com
Fri Apr 21 11:34:20 UTC 2017

Hello all,

If you are not interested in the packaging details for how we release
Biopython, you can stop reading now.

According to https://packaging.python.org/current/ we should
recommend using pip for installation (which we now do), and
use setuptools to define projects and create Source Distributions
(which we no not take advantage of fully).

According to https://packaging.python.org/installing/ we can
assume both pip and setuptools are available on Python 2.7.9
and 3.4 onwards (possibly after invoking ensurepip). Note
we've deprecated and are likely to soon drop Python 3.3
support [*].

With Biopython 1.69 we included a minimal requirments.txt file
which makes it easy to install our numpy dependency but we do
not yet specify numpy via install_requires in setup.py - in part
because we do not yet assume setuptools will be present. Here's
a nice explanation of these two mechanisms and the differing
usecases: https://caremad.io/posts/2013/07/setup-vs-requirement/

In short I would like to require setuptools be present for building
Biopython, which will let us simply our setup.py file and take
advantage of many of the meta-data fields which we currently
omit (e.g. classifiers for which versions of Python supported,
which gets advertised on PyPI etc).


[*] http://mailman.open-bio.org/pipermail/biopython-dev/2017-April/021674.html

More information about the Biopython-dev mailing list