blob: 6fc74602a8a8504056378071be9cc0a4345fc128 (
plain) (
blame)
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
|
{ lib
, buildPythonPackage
, fetchFromGitHub
, pythonOlder
, pytestCheckHook
, lxml
, matplotlib
, networkx
, pandas
, requests
, six
}:
buildPythonPackage rec {
pname = "pyxnat";
version = "1.6";
format = "setuptools";
disabled = pythonOlder "3.8";
# PyPI dist missing test configuration files:
src = fetchFromGitHub {
owner = "pyxnat";
repo = "pyxnat";
rev = "refs/tags/${version}";
hash = "sha256-QejYisvQFN7CsDOx9wAgTHmRZcSEqgIr8twG4XucfZ4=";
};
propagatedBuildInputs = [
lxml
requests
six
];
# future is not used, and pathlib is installed part of python38+
# w/o an external package
prePatch = ''
substituteInPlace setup.py \
--replace "pathlib>=1.0" "" \
--replace "future>=0.16" ""
sed -i '/--cov/d' setup.cfg
'';
nativeCheckInputs = [
pytestCheckHook
matplotlib
networkx
pandas
];
preCheck = ''
export PYXNAT_SKIP_NETWORK_TESTS=1
'';
pytestFlagsArray = [ "pyxnat" ];
disabledTestPaths = [
# try to access network even though PYXNAT_SKIP_NETWORK_TESTS is set:
"pyxnat/tests/pipelines_test.py"
"pyxnat/tests/search_test.py"
"pyxnat/tests/user_and_project_management_test.py"
];
disabledTests = [
# try to access network even though PYXNAT_SKIP_NETWORK_TESTS is set:
"test_ashs_volumes"
"test_inspector_structure"
];
pythonImportsCheck = [ "pyxnat" ];
meta = with lib; {
homepage = "https://pyxnat.github.io/pyxnat";
description = "Python API to XNAT";
mainProgram = "sessionmirror.py";
changelog = "https://github.com/pyxnat/pyxnat/releases/tag/${version}";
license = licenses.bsd3;
maintainers = with maintainers; [ bcdarwin ];
};
}
|