Remove obsolete import workarounds

Biopython currently supports Python 3.8+

The oldest supported numpy version for Python 3.8 is 1.17, according to
https://github.com/scipy/oldest-supported-numpy/

- `ElementTree.register_namespace` workaround obsolete since Python 3.2
- `numpy.logaddexp` workaround obsolete since numpy 1.3
This commit is contained in:
Thomas Holder
2023-07-26 12:46:13 +02:00
committed by Peter Cock
parent 31cbbac1d0
commit 3ab7e6be54
3 changed files with 3 additions and 50 deletions

View File

@ -32,29 +32,7 @@ except ImportError:
"See http://www.numpy.org/"
) from None
try:
logaddexp = np.logaddexp
except AttributeError:
# Numpy versions older than 1.3 do not contain logaddexp.
# Once we require Numpy version 1.3 or later, we should revisit this
# module to see if we can simplify some of the other functions in
# this module.
import warnings
warnings.warn(
"For optimal speed, please update to NumPy version 1.3 or later (current version is %s)"
% np.__version__
)
def logaddexp(logx, logy):
"""Implement logaddexp method if NumPy version is older than 1.3."""
if logy - logx > 100:
return logy
elif logx - logy > 100:
return logx
minxy = min(logx, logy)
return minxy + np.log(np.exp(logx - minxy) + np.exp(logy - minxy))
logaddexp = np.logaddexp
def itemindex(values):

View File

@ -33,20 +33,7 @@ DEFAULT_NAMESPACE = NAMESPACES["nex"]
VERSION = "0.9"
SCHEMA = "http://www.nexml.org/2009/nexml/xsd/nexml.xsd"
try:
register_namespace = ElementTree.register_namespace
except AttributeError:
if not hasattr(ElementTree, "_namespace_map"):
# cElementTree needs the pure-Python xml.etree.ElementTree
from xml.etree import ElementTree as ET_py
ElementTree._namespace_map = ET_py._namespace_map
def register_namespace(prefix, uri):
"""Set NameSpace map."""
ElementTree._namespace_map[uri] = prefix
register_namespace = ElementTree.register_namespace
for prefix, uri in NAMESPACES.items():
register_namespace(prefix, uri)

View File

@ -28,19 +28,7 @@ from Bio.Phylo import PhyloXML as PX
# See http://effbot.org/zone/element-namespaces.htm
NAMESPACES = {"phy": "http://www.phyloxml.org"}
try:
register_namespace = ElementTree.register_namespace
except AttributeError:
if not hasattr(ElementTree, "_namespace_map"):
# cElementTree needs the pure-Python xml.etree.ElementTree
from xml.etree import ElementTree as ET_py
ElementTree._namespace_map = ET_py._namespace_map
def register_namespace(prefix, uri):
"""Set the namespace for ElementTree."""
ElementTree._namespace_map[uri] = prefix
register_namespace = ElementTree.register_namespace
for prefix, uri in NAMESPACES.items():
register_namespace(prefix, uri)