diff --git a/pkgs/development/python-modules/plotnine/default.nix b/pkgs/development/python-modules/plotnine/default.nix index 5bc54a27ef58..d74db8313c2e 100644 --- a/pkgs/development/python-modules/plotnine/default.nix +++ b/pkgs/development/python-modules/plotnine/default.nix @@ -2,6 +2,7 @@ lib, buildPythonPackage, fetchFromGitHub, + fetchpatch, # build-system setuptools-scm, @@ -10,7 +11,6 @@ matplotlib, mizani, pandas, - patsy, scipy, statsmodels, @@ -24,41 +24,30 @@ buildPythonPackage rec { pname = "plotnine"; - version = "0.14.6"; + version = "0.15.0"; pyproject = true; src = fetchFromGitHub { owner = "has2k1"; repo = "plotnine"; tag = "v${version}"; - hash = "sha256-nTMu0zx13XepqQyrJrAvBCjjHdY02tlXlFk2kITHZfI="; + hash = "sha256-HhsJE5XoQjkIVExsfikTBArh9uq8ob4g2O0byYOsOh8="; }; - # Fixes: TypeError: hue_pal.__init__() got an unexpected keyword argument 'color_space' - # - # In the mizani 0.14.0 release, hue_pal was changed to use HCL color space from HSL (or HSLuv) space. - # The previous functionality is still available with hls_pal. - postPatch = '' - substituteInPlace plotnine/scales/scale_color.py \ - --replace-fail \ - "from mizani.palettes import hue_pal" \ - "from mizani.palettes import hls_pal" \ - --replace-fail \ - "hue_pal(" \ - "hls_pal(" - ''; - build-system = [ setuptools-scm ]; - pythonRelaxDeps = [ - "mizani" + patches = [ + (fetchpatch { + name = "fix-composition-error-messages.patch"; + url = "https://github.com/has2k1/plotnine/commit/097192de42d690c227b26ae7638accac0db14589.patch"; + hash = "sha256-wxfJ36QH0PYdotgqrdE9sKAzKpcIYw7I8uNGhC6J0Gg="; + }) ]; dependencies = [ matplotlib mizani pandas - patsy scipy statsmodels ]; @@ -77,6 +66,12 @@ buildPythonPackage rec { # Tries to change locale. The issued warning causes this test to fail. # UserWarning: Could not set locale to English/United States. Some date-related tests may fail "test_no_after_scale_warning" + + # Assertion Errors: + # Generated plot images do not exactly match the expected files. + # After manually checking, this is caused by extremely subtle differences in label placement. + # See https://github.com/has2k1/plotnine/issues/627 + "test_aesthetics" ]; disabledTestPaths = [ @@ -99,6 +94,8 @@ buildPythonPackage rec { "tests/test_geom_map.py" "tests/test_geom_path_line_step.py" "tests/test_geom_point.py" + "tests/test_geom_pointdensity.py" + "tests/test_geom_polygon.py" "tests/test_geom_raster.py" "tests/test_geom_rect_tile.py" "tests/test_geom_ribbon_area.py" @@ -107,11 +104,13 @@ buildPythonPackage rec { "tests/test_geom_text_label.py" "tests/test_geom_violin.py" "tests/test_layout.py" + "tests/test_plot_composition.py" "tests/test_position.py" "tests/test_qplot.py" "tests/test_scale_internals.py" "tests/test_scale_labelling.py" "tests/test_stat_ecdf.py" + "tests/test_stat_ellipse.py" "tests/test_stat_function.py" "tests/test_stat_summary.py" "tests/test_theme.py"