1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 cython,
6 numpy,
7 setuptools,
8 wheel,
9 imagecodecs,
10 matplotlib,
11 pandas,
12 pynrrd,
13 scipy,
14 sdflit,
15 seaborn,
16 tifffile,
17 tqdm,
18 typing-extensions,
19 beautifulsoup4,
20 certifi,
21 chardet,
22 lmdb,
23 requests,
24 urllib3,
25 pytest,
26}:
27
28let
29 version = "0.19.3";
30in
31buildPythonPackage {
32 pname = "swcgeom";
33 inherit version;
34 pyproject = true;
35
36 src = fetchFromGitHub {
37 owner = "yzx9";
38 repo = "swcgeom";
39 tag = "v${version}";
40 hash = "sha256-mpp8Dw0XcU59fYt7vjswAnXCmrRP3mhbgTDG+J4UwzI=";
41 };
42
43 build-system = [
44 cython
45 numpy
46 setuptools
47 wheel
48 ];
49
50 dependencies = [
51 imagecodecs
52 matplotlib
53 numpy
54 pandas
55 pynrrd
56 scipy
57 sdflit
58 seaborn
59 tifffile
60 tqdm
61 typing-extensions
62 ];
63
64 optional-dependencies = {
65 all = [
66 beautifulsoup4
67 certifi
68 chardet
69 lmdb
70 requests
71 urllib3
72 ];
73 };
74
75 nativeCheckInputs = [
76 pytest
77 ];
78
79 pythonImportsCheck = [
80 "swcgeom"
81 ];
82
83 meta = {
84 description = "Neuron geometry library for swc format";
85 homepage = "https://github.com/yzx9/swcgeom";
86 changelog = "https://github.com/yzx9/swcgeom/blob/v${version}/CHANGELOG.md";
87 license = lib.licenses.asl20;
88 maintainers = with lib.maintainers; [ yzx9 ];
89 };
90}