flet 0.19.0.dev2091__tar.gz → 0.19.0.dev2104__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. {flet-0.19.0.dev2091 → flet-0.19.0.dev2104}/PKG-INFO +2 -2
  2. {flet-0.19.0.dev2091 → flet-0.19.0.dev2104}/pyproject.toml +2 -2
  3. {flet-0.19.0.dev2091 → flet-0.19.0.dev2104}/src/flet/cli/commands/build.py +31 -20
  4. {flet-0.19.0.dev2091 → flet-0.19.0.dev2104}/src/flet/web/flutter_service_worker.js +2 -2
  5. {flet-0.19.0.dev2091 → flet-0.19.0.dev2104}/src/flet/web/index.html +1 -1
  6. {flet-0.19.0.dev2091 → flet-0.19.0.dev2104}/README.md +0 -0
  7. {flet-0.19.0.dev2091 → flet-0.19.0.dev2104}/src/flet/__init__.py +0 -0
  8. {flet-0.19.0.dev2091 → flet-0.19.0.dev2104}/src/flet/__pyinstaller/__init__.py +0 -0
  9. {flet-0.19.0.dev2091 → flet-0.19.0.dev2104}/src/flet/__pyinstaller/config.py +0 -0
  10. {flet-0.19.0.dev2091 → flet-0.19.0.dev2104}/src/flet/__pyinstaller/hook-flet.py +0 -0
  11. {flet-0.19.0.dev2091 → flet-0.19.0.dev2104}/src/flet/__pyinstaller/macos_utils.py +0 -0
  12. {flet-0.19.0.dev2091 → flet-0.19.0.dev2104}/src/flet/__pyinstaller/rthooks/pyi_rth_localhost_fletd.py +0 -0
  13. {flet-0.19.0.dev2091 → flet-0.19.0.dev2104}/src/flet/__pyinstaller/rthooks.dat +0 -0
  14. {flet-0.19.0.dev2091 → flet-0.19.0.dev2104}/src/flet/__pyinstaller/utils.py +0 -0
  15. {flet-0.19.0.dev2091 → flet-0.19.0.dev2104}/src/flet/__pyinstaller/win_utils.py +0 -0
  16. {flet-0.19.0.dev2091 → flet-0.19.0.dev2104}/src/flet/async_websocket_connection.py +0 -0
  17. {flet-0.19.0.dev2091 → flet-0.19.0.dev2104}/src/flet/auth/__init__.py +0 -0
  18. {flet-0.19.0.dev2091 → flet-0.19.0.dev2104}/src/flet/auth/providers/__init__.py +0 -0
  19. {flet-0.19.0.dev2091 → flet-0.19.0.dev2104}/src/flet/canvas/__init__.py +0 -0
  20. {flet-0.19.0.dev2091 → flet-0.19.0.dev2104}/src/flet/cli/cli.py +0 -0
  21. {flet-0.19.0.dev2091 → flet-0.19.0.dev2104}/src/flet/cli/commands/base.py +0 -0
  22. {flet-0.19.0.dev2091 → flet-0.19.0.dev2104}/src/flet/cli/commands/create.py +0 -0
  23. {flet-0.19.0.dev2091 → flet-0.19.0.dev2104}/src/flet/cli/commands/options.py +0 -0
  24. {flet-0.19.0.dev2091 → flet-0.19.0.dev2104}/src/flet/cli/commands/pack.py +0 -0
  25. {flet-0.19.0.dev2091 → flet-0.19.0.dev2104}/src/flet/cli/commands/publish.py +0 -0
  26. {flet-0.19.0.dev2091 → flet-0.19.0.dev2104}/src/flet/cli/commands/run.py +0 -0
  27. {flet-0.19.0.dev2091 → flet-0.19.0.dev2104}/src/flet/constants.py +0 -0
  28. {flet-0.19.0.dev2091 → flet-0.19.0.dev2104}/src/flet/matplotlib_chart.py +0 -0
  29. {flet-0.19.0.dev2091 → flet-0.19.0.dev2104}/src/flet/plotly_chart.py +0 -0
  30. {flet-0.19.0.dev2091 → flet-0.19.0.dev2104}/src/flet/reconnecting_websocket.py +0 -0
  31. {flet-0.19.0.dev2091 → flet-0.19.0.dev2104}/src/flet/security.py +0 -0
  32. {flet-0.19.0.dev2091 → flet-0.19.0.dev2104}/src/flet/sync_websocket_connection.py +0 -0
  33. {flet-0.19.0.dev2091 → flet-0.19.0.dev2104}/src/flet/utils/__init__.py +0 -0
  34. {flet-0.19.0.dev2091 → flet-0.19.0.dev2104}/src/flet/version.py +0 -0
  35. {flet-0.19.0.dev2091 → flet-0.19.0.dev2104}/src/flet/web/.last_build_id +0 -0
  36. {flet-0.19.0.dev2091 → flet-0.19.0.dev2104}/src/flet/web/assets/AssetManifest.bin +0 -0
  37. {flet-0.19.0.dev2091 → flet-0.19.0.dev2104}/src/flet/web/assets/AssetManifest.bin.json +0 -0
  38. {flet-0.19.0.dev2091 → flet-0.19.0.dev2104}/src/flet/web/assets/AssetManifest.json +0 -0
  39. {flet-0.19.0.dev2091 → flet-0.19.0.dev2104}/src/flet/web/assets/FontManifest.json +0 -0
  40. {flet-0.19.0.dev2091 → flet-0.19.0.dev2104}/src/flet/web/assets/NOTICES +0 -0
  41. {flet-0.19.0.dev2091 → flet-0.19.0.dev2104}/src/flet/web/assets/fonts/MaterialIcons-Regular.otf +0 -0
  42. {flet-0.19.0.dev2091 → flet-0.19.0.dev2104}/src/flet/web/assets/packages/window_manager/images/ic_chrome_close.png +0 -0
  43. {flet-0.19.0.dev2091 → flet-0.19.0.dev2104}/src/flet/web/assets/packages/window_manager/images/ic_chrome_maximize.png +0 -0
  44. {flet-0.19.0.dev2091 → flet-0.19.0.dev2104}/src/flet/web/assets/packages/window_manager/images/ic_chrome_minimize.png +0 -0
  45. {flet-0.19.0.dev2091 → flet-0.19.0.dev2104}/src/flet/web/assets/packages/window_manager/images/ic_chrome_unmaximize.png +0 -0
  46. {flet-0.19.0.dev2091 → flet-0.19.0.dev2104}/src/flet/web/assets/shaders/ink_sparkle.frag +0 -0
  47. {flet-0.19.0.dev2091 → flet-0.19.0.dev2104}/src/flet/web/favicon.png +0 -0
  48. {flet-0.19.0.dev2091 → flet-0.19.0.dev2104}/src/flet/web/flutter.js +0 -0
  49. {flet-0.19.0.dev2091 → flet-0.19.0.dev2104}/src/flet/web/icons/apple-touch-icon-192.png +0 -0
  50. {flet-0.19.0.dev2091 → flet-0.19.0.dev2104}/src/flet/web/icons/icon-192.png +0 -0
  51. {flet-0.19.0.dev2091 → flet-0.19.0.dev2104}/src/flet/web/icons/icon-512.png +0 -0
  52. {flet-0.19.0.dev2091 → flet-0.19.0.dev2104}/src/flet/web/icons/icon-maskable-192.png +0 -0
  53. {flet-0.19.0.dev2091 → flet-0.19.0.dev2104}/src/flet/web/icons/icon-maskable-512.png +0 -0
  54. {flet-0.19.0.dev2091 → flet-0.19.0.dev2104}/src/flet/web/icons/loading-animation.png +0 -0
  55. {flet-0.19.0.dev2091 → flet-0.19.0.dev2104}/src/flet/web/main.dart.js +0 -0
  56. {flet-0.19.0.dev2091 → flet-0.19.0.dev2104}/src/flet/web/manifest.json +0 -0
  57. {flet-0.19.0.dev2091 → flet-0.19.0.dev2104}/src/flet/web/python-worker.js +0 -0
  58. {flet-0.19.0.dev2091 → flet-0.19.0.dev2104}/src/flet/web/python.js +0 -0
  59. {flet-0.19.0.dev2091 → flet-0.19.0.dev2104}/src/flet/web/version.json +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: flet
3
- Version: 0.19.0.dev2091
3
+ Version: 0.19.0.dev2104
4
4
  Summary: Flet for Python - easily build interactive multi-platform apps in Python
5
5
  License: Apache-2.0
6
6
  Author: Appveyor Systems Inc.
@@ -15,7 +15,7 @@ Classifier: Programming Language :: Python :: 3.10
15
15
  Classifier: Programming Language :: Python :: 3.11
16
16
  Classifier: Programming Language :: Python :: 3.12
17
17
  Requires-Dist: cookiecutter (>=2.4.0,<3.0.0)
18
- Requires-Dist: flet-runtime (==0.19.0.dev2091)
18
+ Requires-Dist: flet-runtime (==0.19.0.dev2104)
19
19
  Requires-Dist: packaging (>=23.1,<24.0)
20
20
  Requires-Dist: qrcode (>=7.4.2,<8.0.0)
21
21
  Requires-Dist: typing-extensions (>=4.6.2,<5.0.0) ; python_version < "3.8"
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "flet"
3
- version = "0.19.0.dev2091"
3
+ version = "0.19.0.dev2104"
4
4
  description = "Flet for Python - easily build interactive multi-platform apps in Python"
5
5
  authors = ["Appveyor Systems Inc. <hello@flet.dev>"]
6
6
  license = "Apache-2.0"
@@ -16,7 +16,7 @@ repository = "https://github.com/flet-dev/flet"
16
16
  documentation = "https://flet.dev/docs"
17
17
 
18
18
  [tool.poetry.dependencies]
19
- flet-runtime = "0.19.0.dev2091"
19
+ flet-runtime = "0.19.0.dev2104"
20
20
  python = "^3.7"
21
21
  typing-extensions = { version = "^4.6.2", python = "<3.8" }
22
22
  websocket-client = "^1.5.2"
@@ -13,7 +13,7 @@ from pathlib import Path
13
13
  import yaml
14
14
  from flet.cli.commands.base import BaseCommand
15
15
  from flet_core.utils import random_string, slugify
16
- from flet_runtime.utils import copy_tree, is_windows
16
+ from flet_runtime.utils import calculate_file_hash, copy_tree, is_windows
17
17
  from rich import print
18
18
 
19
19
  if is_windows():
@@ -207,13 +207,6 @@ class Command(BaseCommand):
207
207
  default="path",
208
208
  help="URL routing strategy (web only)",
209
209
  )
210
- parser.add_argument(
211
- "--windows-tcp-port",
212
- dest="windows_tcp_port",
213
- type=int,
214
- default=63777,
215
- help="TCP port for Windows app",
216
- )
217
210
  parser.add_argument(
218
211
  "--flutter-build-args",
219
212
  dest="flutter_build_args",
@@ -261,17 +254,9 @@ class Command(BaseCommand):
261
254
  def handle(self, options: argparse.Namespace) -> None:
262
255
  from cookiecutter.main import cookiecutter
263
256
 
264
- # check if `flutter` executable is available in the path
265
- flutter_exe = shutil.which("flutter")
266
- if not flutter_exe:
267
- print("`flutter` command is not available in PATH. Install Flutter SDK.")
268
- sys.exit(1)
269
-
270
- # check if `dart` executable is available in the path
271
- dart_exe = shutil.which("dart")
272
- if not dart_exe:
273
- print("`dart` command is not available in PATH. Install Flutter SDK.")
274
- sys.exit(1)
257
+ # get `flutter` and `dart` executables from PATH
258
+ flutter_exe = self.find_flutter_batch("flutter")
259
+ dart_exe = self.find_flutter_batch("dart")
275
260
 
276
261
  target_platform = options.target_platform.lower()
277
262
  # platform check
@@ -351,7 +336,6 @@ class Command(BaseCommand):
351
336
  template_data["use_color_emoji"] = (
352
337
  "true" if options.use_color_emoji else "false"
353
338
  )
354
- template_data["windows_tcp_port"] = options.windows_tcp_port
355
339
 
356
340
  # create Flutter project from a template
357
341
  print("Creating Flutter bootstrap project...", end="")
@@ -590,6 +574,8 @@ class Command(BaseCommand):
590
574
  package_args.extend(
591
575
  [
592
576
  "--mobile",
577
+ "--platform",
578
+ "mobile",
593
579
  ]
594
580
  )
595
581
  package_args.extend(
@@ -603,6 +589,9 @@ class Command(BaseCommand):
603
589
  ]
604
590
  )
605
591
 
592
+ if self.verbose > 1:
593
+ package_args.append("--verbose")
594
+
606
595
  package_result = self.run(package_args, cwd=str(self.flutter_dir))
607
596
 
608
597
  if package_result.returncode != 0:
@@ -611,6 +600,17 @@ class Command(BaseCommand):
611
600
  if package_result.stderr:
612
601
  print(package_result.stderr)
613
602
  self.cleanup(package_result.returncode)
603
+
604
+ # make sure app/app.zip exists
605
+ app_zip_path = self.flutter_dir.joinpath("app", "app.zip")
606
+ if not os.path.exists(app_zip_path):
607
+ print("Flet app package app/app.zip was not created.")
608
+ self.cleanup(1)
609
+
610
+ # create {flutter_dir}/app/app.hash
611
+ app_hash_path = self.flutter_dir.joinpath("app", "app.zip.hash")
612
+ with open(app_hash_path, "w") as hf:
613
+ hf.write(calculate_file_hash(app_zip_path))
614
614
  print("[spring_green3]OK[/spring_green3]")
615
615
 
616
616
  # run `flutter build`
@@ -710,6 +710,17 @@ class Command(BaseCommand):
710
710
  return Path(images[0]).name
711
711
  return None
712
712
 
713
+ def find_flutter_batch(self, exe_filename: str):
714
+ batch_path = shutil.which(exe_filename)
715
+ if not batch_path:
716
+ print(
717
+ f"`{exe_filename}` command is not available in PATH. Install Flutter SDK."
718
+ )
719
+ sys.exit(1)
720
+ if is_windows() and batch_path.endswith(".file"):
721
+ return batch_path.replace(".file", ".bat")
722
+ return batch_path
723
+
713
724
  def run(self, args, cwd):
714
725
  if is_windows():
715
726
  # Source: https://stackoverflow.com/a/77374899/1435891
@@ -34,8 +34,8 @@ const RESOURCES = {"assets/AssetManifest.json": "d9150da08bcab79647bb00a0700488d
34
34
  "canvaskit/chromium/canvaskit.wasm": "143af6ff368f9cd21c863bfa4274c406",
35
35
  "canvaskit/chromium/canvaskit.js": "0ae8bbcc58155679458a0f7a00f66873",
36
36
  "python-worker.js": "62a4865b3d41771b39660076485879be",
37
- "index.html": "152afe2af26db1bb88fe802459f5f853",
38
- "/": "152afe2af26db1bb88fe802459f5f853"};
37
+ "index.html": "3eef408618cd8a72d83055a13be3af91",
38
+ "/": "3eef408618cd8a72d83055a13be3af91"};
39
39
  // The application shell files that are downloaded before a service worker can
40
40
  // start.
41
41
  const CORE = ["main.dart.js",
@@ -37,7 +37,7 @@
37
37
 
38
38
  <script>
39
39
  // The value below is injected by flutter build, do not touch.
40
- const serviceWorkerVersion = "3694833858";
40
+ const serviceWorkerVersion = "312125538";
41
41
  </script>
42
42
  <!-- This script adds the flutter initialization JS code -->
43
43
  <script src="flutter.js" defer></script>
File without changes