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.3";
18 pyproject = true;
19
20 src = fetchPypi {
21 pname = "jupyter_client";
22 inherit version;
23 hash = "sha256-NbOglHxKbp1Ynrl9fUzV6Q+RDucxAWEfASg3Mr1tlBk=";
24 };
25
26 build-system = [ hatchling ];
27
28 dependencies = [
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 teams = [ lib.teams.jupyter ];
47 };
48}