diff --git a/pkgs/development/python-modules/cufflinks/default.nix b/pkgs/development/python-modules/cufflinks/default.nix index 5f804e5da5271..9e2e8df44a003 100644 --- a/pkgs/development/python-modules/cufflinks/default.nix +++ b/pkgs/development/python-modules/cufflinks/default.nix @@ -2,49 +2,52 @@ lib, buildPythonPackage, fetchPypi, - chart-studio, colorlover, ipython, ipywidgets, - pytest, - nose, numpy, pandas, + plotly, + pytestCheckHook, + setuptools, six, - statsmodels, }: buildPythonPackage rec { pname = "cufflinks"; version = "0.17.3"; - format = "setuptools"; + pyproject = true; src = fetchPypi { inherit pname version; - sha256 = "0i56062k54dlg5iz3qyl1ykww62mpkp8jr4n450h0c60dm0b7ha8"; + hash = "sha256-SMGzQG3AMABBIZZkie68VRjOpw/U4/FjebSRMoUBpkQ="; }; - propagatedBuildInputs = [ - chart-studio + # replace duplicated pandas method + # https://github.com/santosjorge/cufflinks/pull/249#issuecomment-1759619149 + postPatch = '' + substituteInPlace tests.py \ + --replace-fail "from nose.tools import assert_equals" "def assert_equals(x, y): assert x == y" \ + --replace-fail "df.ix" "df.loc" + ''; + + build-system = [ setuptools ]; + + dependencies = [ colorlover ipython ipywidgets numpy pandas + plotly six - statsmodels ]; - nativeCheckInputs = [ - pytest - nose - ]; + pythonImportsCheck = [ "cufflinks" ]; - # ignore tests which are incompatible with pandas>=1.0 - # https://github.com/santosjorge/cufflinks/issues/236 - checkPhase = '' - pytest tests.py -k 'not bar_row' - ''; + nativeCheckInputs = [ pytestCheckHook ]; + + pytestFlagsArray = [ "tests.py" ]; meta = with lib; { description = "Productivity Tools for Plotly + Pandas";