Something went wrong. Try again.
lol
Something went wrong. Try again.
2.6 kB · 146 lines
Nix
at master
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147{ lib, buildPythonPackage, fetchFromGitHub,
yarnConfigHook, fetchYarnDeps, nodejs,
setuptools,
flask, werkzeug, plotly, dash-html-components, dash-core-components, dash-table, importlib-metadata, typing-extensions, requests, retrying, nest-asyncio,
celery, kombu, redis, diskcache, multiprocess, psutil, flask-compress,
flaky, numpy, pytestCheckHook, pytest-mock, mock, pyyaml,}:
buildPythonPackage (finalAttrs: { pname = "dash"; version = "3.4.0"; pyproject = true;
src = fetchFromGitHub { owner = "plotly"; repo = "dash"; tag = "v${finalAttrs.version}"; hash = "sha256-8LR0iNc8lJBKzbJuvZ8jzta1G3TbQ9yIBSXFvvyeqmI="; };
nativeBuildInputs = [ yarnConfigHook nodejs ];
yarnOfflineCache = fetchYarnDeps { yarnLock = "${finalAttrs.src}/@plotly/dash-jupyterlab/yarn.lock"; hash = "sha256-Nvm9BS55q/HW9ArpHD01F5Rmx8PLS3yqaz1yDK8Sg68="; };
# as of writing this yarnConfigHook has no parameter that changes in which directory it will be run # until then we use preConfigure for entering the directory and preBuild for exiting it preConfigure = '' pushd @plotly/dash-jupyterlab
substituteInPlace package.json \ --replace-fail 'jlpm' 'yarn' '';
preBuild = '' # Generate the jupyterlab extension files yarn --offline run build:pack
popd '';
build-system = [ setuptools ];
dependencies = [ flask werkzeug plotly dash-html-components dash-core-components dash-table importlib-metadata typing-extensions requests retrying nest-asyncio ];
pythonRelaxDeps = [ "werkzeug" "flask" ];
optional-dependencies = { celery = [ celery kombu redis ] ++ celery.optional-dependencies.redis; diskcache = [ diskcache multiprocess psutil ]; compress = [ flask-compress ]; };
nativeCheckInputs = [ flaky numpy psutil pytestCheckHook pytest-mock mock pyyaml redis ];
enabledTestPaths = [ "tests/unit" ];
disabledTestPaths = [ "tests/unit/test_browser.py" "tests/unit/test_app_runners.py" # Uses selenium ];
pythonImportsCheck = [ "dash" ];
meta = { changelog = "https://github.com/plotly/dash/blob/${finalAttrs.src.rev}/CHANGELOG.md"; description = "Python framework for building analytical web applications"; homepage = "https://dash.plot.ly/"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ antoinerg tomasajt ]; };})