bcb2f287e1
GitOrigin-RevId: d603719ec6e294f034936c0d0dc06f689d91b6c3
64 lines
1.5 KiB
Nix
64 lines
1.5 KiB
Nix
{
|
|
lib,
|
|
buildPythonPackage,
|
|
fetchpatch,
|
|
fetchPypi,
|
|
ipywidgets,
|
|
looseversion,
|
|
notebook,
|
|
pandas,
|
|
pytestCheckHook,
|
|
}:
|
|
|
|
buildPythonPackage rec {
|
|
pname = "qgrid";
|
|
version = "1.3.1";
|
|
pyproject = true;
|
|
|
|
src = fetchPypi {
|
|
inherit pname version;
|
|
sha256 = "sha256-/or1tQgzCE3AtqJlzRrHuDfAPA+FIRUBY1YNzneNcRw=";
|
|
};
|
|
|
|
patches = [
|
|
# Fixes compatibility of qgrid with ipywidgets >= 8.0.0
|
|
# See https://github.com/quantopian/qgrid/pull/331
|
|
(fetchpatch {
|
|
url = "https://github.com/quantopian/qgrid/pull/331/commits/8cc50d5117d4208a9dd672418021c59898e2d1b2.patch";
|
|
hash = "sha256-+NLz4yBUGUXKyukPVE4PehenPzjnfljR5RAX7CEtpV4=";
|
|
})
|
|
];
|
|
|
|
postPatch = ''
|
|
substituteInPlace qgrid/grid.py \
|
|
--replace-fail "from distutils.version import LooseVersion" "from looseversion import LooseVersion"
|
|
'';
|
|
|
|
dependencies = [
|
|
ipywidgets
|
|
looseversion
|
|
notebook
|
|
pandas
|
|
];
|
|
|
|
nativeCheckInputs = [ pytestCheckHook ];
|
|
|
|
# Those tests are also failing upstream
|
|
disabledTests = [
|
|
"test_edit_date"
|
|
"test_edit_multi_index_df"
|
|
"test_multi_index"
|
|
"test_period_object_column"
|
|
# probably incompatible with pandas>=2.1
|
|
"test_add_row_button"
|
|
];
|
|
|
|
pythonImportsCheck = [ "qgrid" ];
|
|
|
|
meta = {
|
|
description = "Interactive grid for sorting, filtering, and editing DataFrames in Jupyter notebooks";
|
|
homepage = "https://github.com/quantopian/qgrid";
|
|
license = lib.licenses.asl20;
|
|
maintainers = with lib.maintainers; [ GaetanLepage ];
|
|
};
|
|
}
|