1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
|
{
lib,
stdenv,
buildPythonPackage,
fetchFromGitHub,
# build-system
setuptools,
cython,
oldest-supported-numpy,
# dependencies
array-api-compat,
biom-format,
decorator,
h5py,
natsort,
numpy,
pandas,
patsy,
requests,
scipy,
statsmodels,
# tests
pytestCheckHook,
python,
}:
buildPythonPackage (finalAttrs: {
pname = "scikit-bio";
version = "0.7.0";
pyproject = true;
src = fetchFromGitHub {
owner = "scikit-bio";
repo = "scikit-bio";
tag = finalAttrs.version;
hash = "sha256-M0P5DUAMlRTkaIPbxSvO99N3y5eTrkg4NMlkIpGr4/g=";
};
build-system = [
setuptools
cython
oldest-supported-numpy
];
dependencies = [
array-api-compat
biom-format
decorator
h5py
natsort
numpy
pandas
patsy
requests
scipy
statsmodels
];
nativeCheckInputs = [
pytestCheckHook
];
# only the $out dir contains the built cython extensions, so we run the tests inside there
enabledTestPaths = [ "${placeholder "out"}/${python.sitePackages}/skbio" ];
# The trick above makes test collection fail on darwin:
# PermissionError: [Errno 1] Operation not permitted: '/nix/.Trashes'
doCheck = !stdenv.hostPlatform.isDarwin;
pythonImportsCheck = [ "skbio" ];
meta = {
description = "Data structures, algorithms and educational resources for bioinformatics";
homepage = "http://scikit-bio.org/";
downloadPage = "https://github.com/scikit-bio/scikit-bio";
changelog = "https://github.com/scikit-bio/scikit-bio/blob/${finalAttrs.src.rev}/CHANGELOG.md";
license = lib.licenses.bsd3;
maintainers = with lib.maintainers; [ tomasajt ];
};
})
|