1{ stdenv
2, lib
3, pythonOlder
4, buildPythonPackage
5, fetchFromGitHub
6, numpy
7, scipy
8, pandas
9, matplotlib
10, tox
11, coverage
12, flake8
13, nbval
14, pyvisa
15, networkx
16, ipython
17, ipykernel
18, ipywidgets
19, jupyter-client
20, sphinx-rtd-theme
21, sphinx
22, nbsphinx
23, openpyxl
24, qtpy
25, pyqtgraph
26, pyqt5
27, setuptools
28, pytestCheckHook
29, pytest-cov
30}:
31
32buildPythonPackage rec {
33 pname = "scikit-rf";
34 version = "0.25.0";
35 format = "pyproject";
36
37 disabled = pythonOlder "3.7";
38
39 src = fetchFromGitHub {
40 owner = "scikit-rf";
41 repo = pname;
42 rev = "v${version}";
43 hash = "sha256-drH1N1rKFu/zdLmLsD1jH5xUkzK37V/+nJqGQ38vsTI=";
44 };
45
46 buildInputs = [
47 setuptools
48 ];
49
50 propagatedBuildInputs = [
51 numpy
52 scipy
53 pandas
54 ];
55
56 passthru.optional-dependencies = {
57 plot = [
58 matplotlib
59 ];
60 xlsx = [
61 openpyxl
62 ];
63 netw = [
64 networkx
65 ];
66 visa = [
67 pyvisa
68 ];
69 docs = [
70 ipython
71 ipykernel
72 ipywidgets
73 jupyter-client
74 sphinx-rtd-theme
75 sphinx
76 nbsphinx
77 openpyxl
78 ];
79 qtapps = [
80 qtpy
81 pyqtgraph
82 pyqt5
83 ];
84 };
85
86 nativeCheckInputs = [
87 tox
88 coverage
89 flake8
90 pytest-cov
91 nbval
92 matplotlib
93 pyvisa
94 openpyxl
95 networkx
96 ];
97
98 checkInputs = [
99 pytestCheckHook
100 ];
101
102 pythonImportsCheck = [
103 "skrf"
104 ];
105
106 meta = with lib; {
107 description = "A Python library for RF/Microwave engineering";
108 homepage = "https://scikit-rf.org/";
109 changelog = "https://github.com/scikit-rf/scikit-rf/releases/tag/v${version}";
110 license = licenses.bsd3;
111 maintainers = with maintainers; [ lugarun ];
112 };
113}