diff --git a/pkgs/development/python-modules/jupyter-events/default.nix b/pkgs/development/python-modules/jupyter-events/default.nix new file mode 100644 index 00000000000..0bdf4dbf5f7 --- /dev/null +++ b/pkgs/development/python-modules/jupyter-events/default.nix @@ -0,0 +1,73 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub + +# build +, hatchling + +# runtime +, jsonschema +, python-json-logger +, pyyaml +, traitlets + +# optionals +, click +, rich + +# tests +, pytest-asyncio +, pytest-console-scripts +, pytestCheckHook +}: + +buildPythonPackage rec { + pname = "jupyter-events"; + version = "0.5.0"; + format = "pyproject"; + + src = fetchFromGitHub { + owner = "jupyter"; + repo = "jupyter_events"; + rev = "refs/tags/v${version}"; + hash = "sha256-ak5JNMitxMvXaHPmjMhB58y8Fy8N1oLtqNMNZ9lgpnM="; + }; + + nativeBuildInputs = [ + hatchling + ]; + + propagatedBuildInputs = [ + jsonschema + python-json-logger + pyyaml + traitlets + ] + ++ jsonschema.optional-dependencies.format + ++ jsonschema.optional-dependencies.format-nongpl; + + passthru.optional-dependencies = { + cli = [ + click + rich + ]; + }; + + checkInputs = [ + pytest-asyncio + pytest-console-scripts + pytestCheckHook + ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies); + + preCheck = '' + export PATH="$out/bin:$PATH" + ''; + + meta = with lib; { + changelog = "https://github.com/jupyter/jupyter_events/releases/tag/v${version}"; + description = "Configurable event system for Jupyter applications and extensions"; + homepage = "https://github.com/jupyter/jupyter_events"; + license = licenses.bsd3; + maintainers = with maintainers; [ ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index ad19b0a2707..cb4fe047edd 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -4936,6 +4936,8 @@ self: super: with self; { jupyter_core = callPackage ../development/python-modules/jupyter_core { }; + jupyter-events = callPackage ../development/python-modules/jupyter-events { }; + jupyter-lsp = callPackage ../development/python-modules/jupyter-lsp { }; jupyter_server = callPackage ../development/python-modules/jupyter_server { };