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