1{
2 lib,
3 buildPythonPackage,
4 cloudpickle,
5 fetchPypi,
6 ipykernel,
7 ipython,
8 jupyter-client,
9 packaging,
10 pythonOlder,
11 pyxdg,
12 pyzmq,
13 wurlitzer,
14}:
15
16buildPythonPackage rec {
17 pname = "spyder-kernels";
18 version = "2.5.1";
19 format = "setuptools";
20
21 disabled = pythonOlder "3.7";
22
23 src = fetchPypi {
24 inherit pname version;
25 hash = "sha256-BQQqP5eyXxfN+o11AR/Xmq8CdSM0ip3/8PWiC92wubA=";
26 };
27
28 propagatedBuildInputs = [
29 cloudpickle
30 ipykernel
31 ipython
32 jupyter-client
33 packaging
34 pyxdg
35 pyzmq
36 wurlitzer
37 ];
38
39 postPatch = ''
40 substituteInPlace setup.py \
41 --replace "ipykernel>=6.16.1,<7" "ipykernel" \
42 --replace "ipython>=7.31.1,<8" "ipython"
43 '';
44
45 # No tests
46 doCheck = false;
47
48 pythonImportsCheck = [ "spyder_kernels" ];
49
50 meta = with lib; {
51 description = "Jupyter kernels for Spyder's console";
52 homepage = "https://docs.spyder-ide.org/current/ipythonconsole.html";
53 downloadPage = "https://github.com/spyder-ide/spyder-kernels/releases";
54 changelog = "https://github.com/spyder-ide/spyder-kernels/blob/v${version}/CHANGELOG.md";
55 license = licenses.mit;
56 maintainers = with maintainers; [ gebner ];
57 };
58}