1{ lib 2, stdenv 3, altair 4, blinker 5, buildPythonPackage 6, cachetools 7, click 8, fetchPypi 9, gitpython 10, importlib-metadata 11, numpy 12, packaging 13, pandas 14, pillow 15, protobuf 16, pyarrow 17, pydeck 18, pympler 19, python-dateutil 20, pythonOlder 21, setuptools 22, requests 23, rich 24, tenacity 25, toml 26, tornado 27, typing-extensions 28, tzlocal 29, validators 30, watchdog 31}: 32 33buildPythonPackage rec { 34 pname = "streamlit"; 35 version = "1.28.1"; 36 pyproject = true; 37 38 disabled = pythonOlder "3.8"; 39 40 src = fetchPypi { 41 inherit pname version; 42 hash = "sha256-zKBPbZWxS3vDfwyrrydQS4ava04a+Y1zrMgOzc+8xJI="; 43 }; 44 45 nativeBuildInputs = [ 46 setuptools 47 ]; 48 49 propagatedBuildInputs = [ 50 altair 51 blinker 52 cachetools 53 click 54 gitpython 55 importlib-metadata 56 numpy 57 packaging 58 pandas 59 pillow 60 protobuf 61 pyarrow 62 pydeck 63 pympler 64 python-dateutil 65 requests 66 rich 67 tenacity 68 toml 69 tornado 70 typing-extensions 71 tzlocal 72 validators 73 ] ++ lib.optionals (!stdenv.isDarwin) [ 74 watchdog 75 ]; 76 77 # pypi package does not include the tests, but cannot be built with fetchFromGitHub 78 doCheck = false; 79 80 pythonImportsCheck = [ 81 "streamlit" 82 ]; 83 84 postInstall = '' 85 rm $out/bin/streamlit.cmd # remove windows helper 86 ''; 87 88 meta = with lib; { 89 homepage = "https://streamlit.io/"; 90 changelog = "https://github.com/streamlit/streamlit/releases/tag/${version}"; 91 description = "The fastest way to build custom ML tools"; 92 maintainers = with maintainers; [ natsukium yrashk ]; 93 license = licenses.asl20; 94 }; 95}