{ lib , fetchPypi , buildPythonPackage , pythonOlder , pythonRelaxDepsHook , numpy , wheel , werkzeug , protobuf , grpcio , markdown , absl-py , google-auth-oauthlib , setuptools , tensorboard-data-server , tensorboard-plugin-wit , tensorboard-plugin-profile }: # tensorflow/tensorboard is built from a downloaded wheel, because # https://github.com/tensorflow/tensorboard/issues/719 blocks # buildBazelPackage. buildPythonPackage rec { pname = "tensorboard"; version = "2.16.2"; format = "wheel"; disabled = pythonOlder "3.9"; src = fetchPypi { inherit pname version format; dist = "py3"; python = "py3"; hash = "sha256-nytOfa2GZnYVwOXNBy8eqEA/wDKimfAHLW90hVd1zEU="; }; nativeBuildInputs = [ pythonRelaxDepsHook ]; pythonRelaxDeps = [ "google-auth-oauthlib" "protobuf" ]; propagatedBuildInputs = [ absl-py grpcio google-auth-oauthlib markdown numpy protobuf setuptools tensorboard-data-server tensorboard-plugin-profile tensorboard-plugin-wit werkzeug # not declared in install_requires, but used at runtime # https://github.com/NixOS/nixpkgs/issues/73840 wheel ]; # in the absence of a real test suite, run cli and imports checkPhase = '' $out/bin/tensorboard --help > /dev/null ''; pythonImportsCheck = [ "tensorboard" "tensorboard.backend" "tensorboard.compat" "tensorboard.data" "tensorboard.plugins" "tensorboard.summary" "tensorboard.util" ]; meta = with lib; { changelog = "https://github.com/tensorflow/tensorboard/blob/${version}/RELEASE.md"; description = "TensorFlow's Visualization Toolkit"; homepage = "https://www.tensorflow.org/"; license = licenses.asl20; mainProgram = "tensorboard"; maintainers = with maintainers; [ abbradar ]; }; }