1{ 2 lib, 3 buildPythonPackage, 4 decorator, 5 entrypoints, 6 fetchPypi, 7 hatchling, 8 ipykernel, 9 ipython, 10 jupyter-client, 11 psutil, 12 python-dateutil, 13 pythonOlder, 14 pyzmq, 15 tornado, 16 tqdm, 17 traitlets, 18}: 19 20buildPythonPackage rec { 21 pname = "ipyparallel"; 22 version = "8.8.0"; 23 pyproject = true; 24 25 disabled = pythonOlder "3.8"; 26 27 src = fetchPypi { 28 inherit pname version; 29 hash = "sha256-JATVn4ajqqO9J79rV993e/9cE2PBxuYEA3WdFu1C3Hs="; 30 }; 31 32 # We do not need the jupyterlab build dependency, because we do not need to 33 # build any JS components; these are present already in the PyPI artifact. 34 # 35 postPatch = '' 36 substituteInPlace pyproject.toml \ 37 --replace '"jupyterlab==4.*",' "" 38 ''; 39 40 build-system = [ hatchling ]; 41 42 dependencies = [ 43 decorator 44 entrypoints 45 ipykernel 46 ipython 47 jupyter-client 48 psutil 49 python-dateutil 50 pyzmq 51 tornado 52 tqdm 53 traitlets 54 ]; 55 56 # Requires access to cluster 57 doCheck = false; 58 59 pythonImportsCheck = [ "ipyparallel" ]; 60 61 meta = with lib; { 62 description = "Interactive Parallel Computing with IPython"; 63 homepage = "https://ipyparallel.readthedocs.io/"; 64 changelog = "https://github.com/ipython/ipyparallel/blob/${version}/docs/source/changelog.md"; 65 license = licenses.bsd3; 66 }; 67}