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