depot/third_party/nixpkgs/pkgs/development/python-modules/plotly/default.nix

118 lines
2.5 KiB
Nix
Raw Normal View History

{
lib,
stdenv,
buildPythonPackage,
fetchFromGitHub,
setuptools,
packaging,
tenacity,
kaleido,
pytestCheckHook,
pandas,
requests,
matplotlib,
xarray,
pillow,
scipy,
statsmodels,
ipython,
ipywidgets,
which,
nbformat,
scikit-image,
orca,
psutil,
}:
buildPythonPackage rec {
pname = "plotly";
version = "5.24.1";
pyproject = true;
src = fetchFromGitHub {
owner = "plotly";
repo = "plotly.py";
rev = "refs/tags/v${version}";
hash = "sha256-ONuX5/GlirPF8+7bZtib1Xsv5llcXcSelFfGyeTc5L8=";
};
sourceRoot = "${src.name}/packages/python/plotly";
postPatch = ''
substituteInPlace pyproject.toml \
--replace-fail "\"jupyterlab~=3.0;python_version>='3.6'\"," ""
'';
env.SKIP_NPM = true;
build-system = [ setuptools ];
dependencies = [
packaging
tenacity
kaleido
];
# packages/python/plotly/optional-requirements.txt
optional-dependencies = {
orca = [
orca
requests
psutil
];
};
nativeCheckInputs = [
pytestCheckHook
pandas
requests
matplotlib
xarray
pillow
scipy
statsmodels
ipython
ipywidgets
which
nbformat
scikit-image
];
disabledTests = [
# failed pinning test, sensitive to dep versions
"test_legend_dots"
"test_linestyle"
# test bug, i assume sensitive to dep versions
"test_sanitize_json"
# requires vaex and polars, vaex is not packaged
"test_build_df_from_vaex_and_polars"
"test_build_df_with_hover_data_from_vaex_and_polars"
# lazy loading error, could it be the sandbox PYTHONPATH?
# AssertionError: assert "plotly" not in sys.modules
"test_dependencies_not_imported"
"test_lazy_imports"
];
disabledTestPaths =
[
# unable to locate orca binary, adding the package does not fix it
"plotly/tests/test_orca/"
]
++ lib.optionals stdenv.hostPlatform.isDarwin [
# requires local networking
"plotly/tests/test_io/test_renderers.py"
# fails to launch kaleido subprocess
"plotly/tests/test_optional/test_kaleido"
];
pythonImportsCheck = [ "plotly" ];
meta = {
description = "Python plotting library for collaborative, interactive, publication-quality graphs";
homepage = "https://plot.ly/python/";
downloadPage = "https://github.com/plotly/plotly.py";
changelog = "https://github.com/plotly/plotly.py/blob/master/CHANGELOG.md";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ pandapip1 ];
};
}