nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
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 setuptools,
19 requests,
20 rich,
21 tenacity,
22 toml,
23 tornado,
24 typing-extensions,
25 watchdog,
26}:
27
28buildPythonPackage (finalAttrs: {
29 pname = "streamlit";
30 version = "1.53.1";
31 pyproject = true;
32
33 src = fetchPypi {
34 inherit (finalAttrs) pname version;
35 hash = "sha256-rmVq87aLS7LWafqXdgYJbyAhvLqhSkVKKQ+OCje6snc=";
36 };
37
38 build-system = [ setuptools ];
39
40 pythonRelaxDeps = [ "packaging" ];
41
42 dependencies = [
43 altair
44 blinker
45 cachetools
46 click
47 numpy
48 packaging
49 pandas
50 pillow
51 protobuf
52 pyarrow
53 requests
54 rich
55 tenacity
56 toml
57 typing-extensions
58 gitpython
59 pydeck
60 tornado
61 ]
62 ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ watchdog ];
63
64 # pypi package does not include the tests, but cannot be built with fetchFromGitHub
65 doCheck = false;
66
67 pythonImportsCheck = [ "streamlit" ];
68
69 postInstall = ''
70 rm $out/bin/streamlit.cmd # remove windows helper
71 '';
72
73 meta = {
74 homepage = "https://streamlit.io/";
75 changelog = "https://github.com/streamlit/streamlit/releases/tag/${finalAttrs.version}";
76 description = "Fastest way to build custom ML tools";
77 mainProgram = "streamlit";
78 maintainers = with lib.maintainers; [
79 natsukium
80 yrashk
81 ];
82 license = lib.licenses.asl20;
83 };
84})