diff --git a/pkgs/development/python-modules/pydeps/default.nix b/pkgs/development/python-modules/pydeps/default.nix new file mode 100644 index 000000000000..9cfd0fe3c9cf --- /dev/null +++ b/pkgs/development/python-modules/pydeps/default.nix @@ -0,0 +1,60 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, graphviz +, stdlib-list +, pytestCheckHook +, pythonOlder +, pyyaml +}: + +buildPythonPackage rec { + pname = "pydeps"; + version = "1.10.17"; + format = "setuptools"; + + disabled = pythonOlder "3.7"; + + src = fetchFromGitHub { + owner = "thebjorn"; + repo = pname; + rev = "v${version}"; + hash = "sha256-V0LgHFvGvJqDHmyXJNb0sJjRuqGGDZpV467XDmdFg5k="; + }; + + buildInputs = [ + graphviz + ]; + + propagatedBuildInputs = [ + graphviz + stdlib-list + ]; + + checkInputs = [ + pytestCheckHook + pyyaml + ]; + + postPatch = '' + # Path is hard-coded + substituteInPlace pydeps/dot.py \ + --replace "dot -Gstart=1" "${lib.makeBinPath [ graphviz ]}/dot -Gstart=1" + ''; + + disabledTests = [ + # Would require to have additional modules available + "test_find_package_names" + ]; + + pythonImportsCheck = [ + "pydeps" + ]; + + meta = with lib; { + description = "Python module dependency visualization"; + homepage = "https://github.com/thebjorn/pydeps"; + license = licenses.bsd2; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 6d2252d87735..d13934921fbc 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9558,6 +9558,8 @@ with pkgs; py-spy = callPackage ../development/tools/py-spy { }; + pydeps = with python3Packages; toPythonApplication pydeps; + pytrainer = callPackage ../applications/misc/pytrainer { }; pywal = with python3Packages; toPythonApplication pywal; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index bd22d298b578..e21f2a078247 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -6997,6 +6997,10 @@ in { pydenticon = callPackage ../development/python-modules/pydenticon { }; + pydeps = callPackage ../development/python-modules/pydeps { + inherit (pkgs) graphviz; + }; + pydes = callPackage ../development/python-modules/pydes { }; py-desmume = callPackage ../development/python-modules/py-desmume { };