1{
2 lib,
3 buildPythonPackage,
4 flet-client-flutter,
5
6 # build-system
7 poetry-core,
8
9 flet,
10 flet-desktop,
11 flet-web,
12 qrcode,
13 toml,
14 watchdog,
15}:
16
17buildPythonPackage rec {
18 pname = "flet-cli";
19 inherit (flet-client-flutter) version src;
20 pyproject = true;
21
22 sourceRoot = "${src.name}/sdk/python/packages/flet-cli";
23
24 build-system = [ poetry-core ];
25
26 dependencies = [
27 flet
28 flet-desktop
29 flet-web
30 qrcode
31 toml
32 watchdog
33 ];
34
35 pythonRelaxDeps = [
36 "qrcode"
37 "watchdog"
38 ];
39
40 makeWrapperArgs = [
41 "--prefix"
42 "PYTHONPATH"
43 ":"
44 "$PYTHONPATH"
45 ];
46
47 postInstall = ''
48 mkdir -p $out/bin
49 makeWrapper ${flet}/bin/flet $out/bin/flet \
50 --prefix PYTHONPATH : $PYTHONPATH
51 '';
52
53 pythonImportsCheck = [ "flet_cli" ];
54
55 meta = {
56 description = "Command-line interface tool for Flet, a framework for building interactive multi-platform applications using Python";
57 homepage = "https://flet.dev/";
58 changelog = "https://github.com/flet-dev/flet/releases/tag/v${version}";
59 license = lib.licenses.asl20;
60 maintainers = with lib.maintainers; [
61 heyimnova
62 lucasew
63 ];
64 mainProgram = "flet";
65 };
66}