1{ lib
2, buildPythonPackage
3, fetchPypi
4
5# build-system
6, poetry-core
7
8# propagates
9, flet-core
10, httpx
11, oauthlib
12, packaging
13, typing-extensions
14, watchdog
15, websocket-client
16, websockets
17
18}:
19
20buildPythonPackage rec {
21 pname = "flet";
22 version = "0.10.1";
23 format = "pyproject";
24
25 src = fetchPypi {
26 inherit pname version;
27 hash = "sha256-Ogy4F9/beSb3GCpwPsN+8hsVroRoHTSojqg+5eXwcRI=";
28 };
29
30 postPatch = ''
31 substituteInPlace pyproject.toml \
32 --replace 'httpx = "^0.23' 'httpx = ">=0.23' \
33 --replace 'watchdog = "^2' 'watchdog = ">=2'
34 '';
35
36 nativeBuildInputs = [
37 poetry-core
38 ];
39
40 propagatedBuildInputs = [
41 flet-core
42 typing-extensions
43 websocket-client
44 watchdog
45 oauthlib
46 websockets
47 httpx
48 packaging
49 ];
50
51 doCheck = false;
52
53 pythonImportsCheck = [
54 "flet"
55 ];
56
57 meta = {
58 description = "A framework that enables you to easily build realtime web, mobile, and desktop apps in Python";
59 homepage = "https://flet.dev/";
60 changelog = "https://github.com/flet-dev/flet/releases/tag/v${version}";
61 license = lib.licenses.asl20;
62 maintainers = [ lib.maintainers.heyimnova ];
63 mainProgram = "flet";
64 };
65}