1{
2 lib,
3 buildPythonPackage,
4 fetchPypi,
5 jupyter-core,
6 hatchling,
7 python-dateutil,
8 pyzmq,
9 tornado,
10 traitlets,
11 pythonOlder,
12 importlib-metadata,
13}:
14
15buildPythonPackage rec {
16 pname = "jupyter-client";
17 version = "8.6.1";
18 pyproject = true;
19
20 src = fetchPypi {
21 pname = "jupyter_client";
22 inherit version;
23 hash = "sha256-6EJRXiurjhkYbYn9/qer0V453VgflOOZ8A4q9aFlLT8=";
24 };
25
26 nativeBuildInputs = [ hatchling ];
27
28 propagatedBuildInputs = [
29 jupyter-core
30 python-dateutil
31 pyzmq
32 tornado
33 traitlets
34 ] ++ lib.optionals (pythonOlder "3.10") [ importlib-metadata ];
35
36 pythonImportsCheck = [ "jupyter_client" ];
37
38 # Circular dependency with ipykernel
39 doCheck = false;
40
41 meta = {
42 description = "Jupyter protocol implementation and client libraries";
43 homepage = "https://github.com/jupyter/jupyter_client";
44 changelog = "https://github.com/jupyter/jupyter_client/blob/v${version}/CHANGELOG.md";
45 license = lib.licenses.bsd3;
46 };
47}