diff --git a/pkgs/development/python-modules/snakemake-logger-plugin-rich/default.nix b/pkgs/development/python-modules/snakemake-logger-plugin-rich/default.nix new file mode 100644 index 000000000000..ea76afe73264 --- /dev/null +++ b/pkgs/development/python-modules/snakemake-logger-plugin-rich/default.nix @@ -0,0 +1,60 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + + # build-system + hatchling, + + # dependencies + pydantic, + rich, + snakemake-interface-executor-plugins, + snakemake-interface-logger-plugins, + + # tests + pytestCheckHook, + snakemake, + writableTmpDirAsHomeHook, +}: + +buildPythonPackage (finalAttrs: { + pname = "snakemake-logger-plugin-rich"; + version = "0.4.1"; + pyproject = true; + __structuredAttrs = true; + + src = fetchFromGitHub { + owner = "cademirch"; + repo = "snakemake-logger-plugin-rich"; + tag = "v${finalAttrs.version}"; + hash = "sha256-kMjzagM95Td529JU+qIxGStgJGctS08glrFo3CF+Ih8="; + }; + + build-system = [ + hatchling + ]; + + dependencies = [ + pydantic + rich + snakemake-interface-executor-plugins + snakemake-interface-logger-plugins + ]; + + pythonImportsCheck = [ "snakemake_logger_plugin_rich" ]; + + nativeCheckInputs = [ + pytestCheckHook + snakemake + writableTmpDirAsHomeHook + ]; + + meta = { + description = "Snakemake logger plugin using Rich"; + homepage = "https://github.com/cademirch/snakemake-logger-plugin-rich"; + changelog = "https://github.com/cademirch/snakemake-logger-plugin-rich/blob/${finalAttrs.src.tag}/CHANGELOG.md"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ GaetanLepage ]; + }; +}) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 151c910895d2..7cc03e56b4f2 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -18192,6 +18192,10 @@ self: super: with self; { callPackage ../development/python-modules/snakemake-interface-storage-plugins { }; + snakemake-logger-plugin-rich = + callPackage ../development/python-modules/snakemake-logger-plugin-rich + { }; + snakemake-storage-plugin-fs = callPackage ../development/python-modules/snakemake-storage-plugin-fs { };