diff --git a/pkgs/development/python-modules/radon/default.nix b/pkgs/development/python-modules/radon/default.nix new file mode 100644 index 000000000000..23f1a9427b56 --- /dev/null +++ b/pkgs/development/python-modules/radon/default.nix @@ -0,0 +1,67 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, pytestCheckHook +, fetchpatch +# Python deps +, mando +, colorama +, pytest-mock +, tomli +, poetry-core +}: + +buildPythonPackage rec { + pname = "radon"; + version = "6.0.1"; + + pyproject = true; + + src = fetchFromGitHub { + owner = "rubik"; + repo = "radon"; + rev = "v${version}"; + hash = "sha256-yY+j9kuX0ou/uDoVI/Qfqsmq0vNHv735k+vRl22LwwY="; + }; + + patches = [ + # NOTE: Remove after next release + (fetchpatch { + url = "https://github.com/rubik/radon/commit/ce5d2daa0a9e0e843059d6f57a8124c64a87a6dc.patch"; + hash = "sha256-WwcfR2ZEWeRiMKdMZAwtZRBcWOqoqpaVTmVo0k+Tn74="; + }) + ]; + + nativeBuildInputs = [ + poetry-core + ]; + + nativeCheckInputs = [ + pytestCheckHook + pytest-mock + ]; + + propagatedBuildInputs = [ + mando + colorama + ]; + + passthru.optional-dependencies = { + toml = [ + tomli + ]; + }; + + pythonImportsCheck = [ + "radon" + ]; + + meta = with lib; { + description = "Various code metrics for Python code"; + homepage = "https://radon.readthedocs.org"; + changelog = "https://github.com/rubik/radon/blob/v${version}/CHANGELOG"; + license = licenses.mit; + maintainers = with maintainers; [ t4ccer ]; + mainProgram = "radon"; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 7d7c11a96e76..ee689f043a69 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -11912,6 +11912,8 @@ self: super: with self; { radish-bdd = callPackage ../development/python-modules/radish-bdd { }; + radon = callPackage ../development/python-modules/radon { }; + railroad-diagrams = callPackage ../development/python-modules/railroad-diagrams { }; rainbowstream = callPackage ../development/python-modules/rainbowstream { };