{ lib, buildPythonPackage, fetchFromGitHub, hatchling, platformdirs, traitlets, pip, pytestCheckHook, # Reverse dependency sage, }: buildPythonPackage rec { pname = "jupyter-core"; version = "5.9.1"; pyproject = true; src = fetchFromGitHub { owner = "jupyter"; repo = "jupyter_core"; tag = "v${version}"; hash = "sha256-mAvfyiN8Fdm9U3Ar7xicwOinKfTqk9qrfq/SGiaxNvU="; }; patches = [ ./tests_respect_pythonpath.patch ]; nativeBuildInputs = [ hatchling ]; propagatedBuildInputs = [ platformdirs traitlets ]; nativeCheckInputs = [ pip pytestCheckHook ]; preCheck = '' export HOME=$TMPDIR ''; pytestFlags = [ # suppress pytest.PytestUnraisableExceptionWarning: Exception ignored in: "-Wignore::pytest.PytestUnraisableExceptionWarning" ]; disabledTests = [ # creates a temporary script, which isn't aware of PYTHONPATH "test_argv0" ]; postCheck = '' $out/bin/jupyter --help > /dev/null ''; pythonImportsCheck = [ "jupyter_core" ]; passthru.tests = { inherit sage; }; meta = { description = "Base package on which Jupyter projects rely"; homepage = "https://jupyter.org/"; changelog = "https://github.com/jupyter/jupyter_core/blob/${src.tag}/CHANGELOG.md"; license = lib.licenses.bsd3; teams = [ lib.teams.jupyter ]; }; }