flet-cli 0.86.0.dev2__tar.gz → 0.86.2__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 (58) hide show
  1. {flet_cli-0.86.0.dev2 → flet_cli-0.86.2}/PKG-INFO +2 -2
  2. {flet_cli-0.86.0.dev2 → flet_cli-0.86.2}/pyproject.toml +2 -2
  3. {flet_cli-0.86.0.dev2 → flet_cli-0.86.2}/src/flet_cli/commands/build_base.py +30 -2
  4. {flet_cli-0.86.0.dev2 → flet_cli-0.86.2}/src/flet_cli/commands/flutter_base.py +14 -2
  5. {flet_cli-0.86.0.dev2 → flet_cli-0.86.2}/src/flet_cli/commands/publish.py +8 -3
  6. {flet_cli-0.86.0.dev2 → flet_cli-0.86.2}/src/flet_cli/utils/python_versions.py +1 -1
  7. flet_cli-0.86.2/src/flet_cli/version.py +1 -0
  8. {flet_cli-0.86.0.dev2 → flet_cli-0.86.2}/src/flet_cli.egg-info/PKG-INFO +2 -2
  9. {flet_cli-0.86.0.dev2 → flet_cli-0.86.2}/src/flet_cli.egg-info/requires.txt +1 -1
  10. flet_cli-0.86.0.dev2/src/flet_cli/version.py +0 -1
  11. {flet_cli-0.86.0.dev2 → flet_cli-0.86.2}/README.md +0 -0
  12. {flet_cli-0.86.0.dev2 → flet_cli-0.86.2}/setup.cfg +0 -0
  13. {flet_cli-0.86.0.dev2 → flet_cli-0.86.2}/src/flet_cli/__pyinstaller/__init__.py +0 -0
  14. {flet_cli-0.86.0.dev2 → flet_cli-0.86.2}/src/flet_cli/__pyinstaller/config.py +0 -0
  15. {flet_cli-0.86.0.dev2 → flet_cli-0.86.2}/src/flet_cli/__pyinstaller/hook-flet.py +0 -0
  16. {flet_cli-0.86.0.dev2 → flet_cli-0.86.2}/src/flet_cli/__pyinstaller/macos_utils.py +0 -0
  17. {flet_cli-0.86.0.dev2 → flet_cli-0.86.2}/src/flet_cli/__pyinstaller/rthooks/pyi_rth_localhost_fletd.py +0 -0
  18. {flet_cli-0.86.0.dev2 → flet_cli-0.86.2}/src/flet_cli/__pyinstaller/utils.py +0 -0
  19. {flet_cli-0.86.0.dev2 → flet_cli-0.86.2}/src/flet_cli/__pyinstaller/win_utils.py +0 -0
  20. {flet_cli-0.86.0.dev2 → flet_cli-0.86.2}/src/flet_cli/cli.py +0 -0
  21. {flet_cli-0.86.0.dev2 → flet_cli-0.86.2}/src/flet_cli/commands/base.py +0 -0
  22. {flet_cli-0.86.0.dev2 → flet_cli-0.86.2}/src/flet_cli/commands/build.py +0 -0
  23. {flet_cli-0.86.0.dev2 → flet_cli-0.86.2}/src/flet_cli/commands/clean.py +0 -0
  24. {flet_cli-0.86.0.dev2 → flet_cli-0.86.2}/src/flet_cli/commands/create.py +0 -0
  25. {flet_cli-0.86.0.dev2 → flet_cli-0.86.2}/src/flet_cli/commands/debug.py +0 -0
  26. {flet_cli-0.86.0.dev2 → flet_cli-0.86.2}/src/flet_cli/commands/devices.py +0 -0
  27. {flet_cli-0.86.0.dev2 → flet_cli-0.86.2}/src/flet_cli/commands/doctor.py +0 -0
  28. {flet_cli-0.86.0.dev2 → flet_cli-0.86.2}/src/flet_cli/commands/emulators.py +0 -0
  29. {flet_cli-0.86.0.dev2 → flet_cli-0.86.2}/src/flet_cli/commands/mcp.py +0 -0
  30. {flet_cli-0.86.0.dev2 → flet_cli-0.86.2}/src/flet_cli/commands/options.py +0 -0
  31. {flet_cli-0.86.0.dev2 → flet_cli-0.86.2}/src/flet_cli/commands/pack.py +0 -0
  32. {flet_cli-0.86.0.dev2 → flet_cli-0.86.2}/src/flet_cli/commands/run.py +0 -0
  33. {flet_cli-0.86.0.dev2 → flet_cli-0.86.2}/src/flet_cli/commands/serve.py +0 -0
  34. {flet_cli-0.86.0.dev2 → flet_cli-0.86.2}/src/flet_cli/commands/test.py +0 -0
  35. {flet_cli-0.86.0.dev2 → flet_cli-0.86.2}/src/flet_cli/commands/test_host.py +0 -0
  36. {flet_cli-0.86.0.dev2 → flet_cli-0.86.2}/src/flet_cli/utils/android.py +0 -0
  37. {flet_cli-0.86.0.dev2 → flet_cli-0.86.2}/src/flet_cli/utils/android_sdk.py +0 -0
  38. {flet_cli-0.86.0.dev2 → flet_cli-0.86.2}/src/flet_cli/utils/cli.py +0 -0
  39. {flet_cli-0.86.0.dev2 → flet_cli-0.86.2}/src/flet_cli/utils/distros.py +0 -0
  40. {flet_cli-0.86.0.dev2 → flet_cli-0.86.2}/src/flet_cli/utils/flutter.py +0 -0
  41. {flet_cli-0.86.0.dev2 → flet_cli-0.86.2}/src/flet_cli/utils/hash_stamp.py +0 -0
  42. {flet_cli-0.86.0.dev2 → flet_cli-0.86.2}/src/flet_cli/utils/jdk.py +0 -0
  43. {flet_cli-0.86.0.dev2 → flet_cli-0.86.2}/src/flet_cli/utils/linux_deps.py +0 -0
  44. {flet_cli-0.86.0.dev2 → flet_cli-0.86.2}/src/flet_cli/utils/merge.py +0 -0
  45. {flet_cli-0.86.0.dev2 → flet_cli-0.86.2}/src/flet_cli/utils/plist.py +0 -0
  46. {flet_cli-0.86.0.dev2 → flet_cli-0.86.2}/src/flet_cli/utils/processes.py +0 -0
  47. {flet_cli-0.86.0.dev2 → flet_cli-0.86.2}/src/flet_cli/utils/project_dependencies.py +0 -0
  48. {flet_cli-0.86.0.dev2 → flet_cli-0.86.2}/src/flet_cli/utils/pyodide.py +0 -0
  49. {flet_cli-0.86.0.dev2 → flet_cli-0.86.2}/src/flet_cli/utils/pyproject_toml.py +0 -0
  50. {flet_cli-0.86.0.dev2 → flet_cli-0.86.2}/src/flet_cli/utils/template_cache.py +0 -0
  51. {flet_cli-0.86.0.dev2 → flet_cli-0.86.2}/src/flet_cli.egg-info/SOURCES.txt +0 -0
  52. {flet_cli-0.86.0.dev2 → flet_cli-0.86.2}/src/flet_cli.egg-info/dependency_links.txt +0 -0
  53. {flet_cli-0.86.0.dev2 → flet_cli-0.86.2}/src/flet_cli.egg-info/entry_points.txt +0 -0
  54. {flet_cli-0.86.0.dev2 → flet_cli-0.86.2}/src/flet_cli.egg-info/top_level.txt +0 -0
  55. {flet_cli-0.86.0.dev2 → flet_cli-0.86.2}/tests/test_clean.py +0 -0
  56. {flet_cli-0.86.0.dev2 → flet_cli-0.86.2}/tests/test_plist.py +0 -0
  57. {flet_cli-0.86.0.dev2 → flet_cli-0.86.2}/tests/test_project_dependencies.py +0 -0
  58. {flet_cli-0.86.0.dev2 → flet_cli-0.86.2}/tests/test_python_versions.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: flet-cli
3
- Version: 0.86.0.dev2
3
+ Version: 0.86.2
4
4
  Summary: Flet CLI
5
5
  Author-email: "Appveyor Systems Inc." <hello@flet.dev>
6
6
  License-Expression: Apache-2.0
@@ -9,7 +9,7 @@ Project-URL: Repository, https://github.com/flet-dev/flet
9
9
  Project-URL: Documentation, https://flet.dev/docs
10
10
  Requires-Python: >=3.10
11
11
  Description-Content-Type: text/markdown
12
- Requires-Dist: flet==0.86.0.dev2
12
+ Requires-Dist: flet==0.86.2
13
13
  Requires-Dist: watchdog>=4.0.0
14
14
  Requires-Dist: packaging>=25.0
15
15
  Requires-Dist: qrcode>=7.4.2
@@ -1,13 +1,13 @@
1
1
  [project]
2
2
  name = "flet-cli"
3
- version = "0.86.0.dev2"
3
+ version = "0.86.2"
4
4
  description = "Flet CLI"
5
5
  authors = [{ name = "Appveyor Systems Inc.", email = "hello@flet.dev" }]
6
6
  license = "Apache-2.0"
7
7
  readme = "README.md"
8
8
  requires-python = ">=3.10"
9
9
  dependencies = [
10
- "flet==0.86.0.dev2",
10
+ "flet==0.86.2",
11
11
  "watchdog >=4.0.0",
12
12
  "packaging >=25.0",
13
13
  "qrcode >=7.4.2",
@@ -428,7 +428,8 @@ class BaseBuildCommand(BaseFlutterCommand):
428
428
  dest="web_renderer",
429
429
  type=str.lower,
430
430
  choices=["auto", "canvaskit", "skwasm"],
431
- help="Flutter web renderer to use (web only) [env: FLET_WEB_RENDERER=]",
431
+ help="Flutter web renderer to use (web only), default: canvaskit "
432
+ "[env: FLET_WEB_RENDERER=]",
432
433
  )
433
434
  parser.add_argument(
434
435
  "--route-url-strategy",
@@ -473,6 +474,17 @@ class BaseBuildCommand(BaseFlutterCommand):
473
474
  default=None,
474
475
  help="Split the APKs per ABIs (Android only)",
475
476
  )
477
+ parser.add_argument(
478
+ "--android-legacy-packaging",
479
+ dest="android_legacy_packaging",
480
+ action=argparse.BooleanOptionalAction,
481
+ default=None,
482
+ help="Use legacy Android native-library packaging: extract `.so` to disk "
483
+ "at install time instead of memory-mapping them directly from the APK. Off "
484
+ "by default (modern packaging). Enabling it makes the raw `.apk` file "
485
+ "smaller for side-loading, at the cost of a larger on-device install size "
486
+ "and slower native-library loading (Android only)",
487
+ )
476
488
  parser.add_argument(
477
489
  "--compile-app",
478
490
  dest="compile_app",
@@ -919,6 +931,16 @@ class BaseBuildCommand(BaseFlutterCommand):
919
931
  )
920
932
  )
921
933
 
934
+ android_legacy_packaging = (
935
+ self.options.android_legacy_packaging
936
+ if self.options.android_legacy_packaging is not None
937
+ else (
938
+ self.get_pyproject("tool.flet.android.legacy_packaging")
939
+ if self.get_pyproject("tool.flet.android.legacy_packaging") is not None
940
+ else False
941
+ )
942
+ )
943
+
922
944
  info_plist = {}
923
945
  macos_entitlements = {
924
946
  "com.apple.security.app-sandbox": False,
@@ -1289,10 +1311,15 @@ class BaseBuildCommand(BaseFlutterCommand):
1289
1311
  or self.get_pyproject("tool.flet.web.route_url_strategy")
1290
1312
  or "path"
1291
1313
  ),
1314
+ # "canvaskit" (dart2js), not "auto": with "auto" Chromium browsers
1315
+ # select the dart2wasm/skwasm build, where every JS <-> Dart byte
1316
+ # buffer crossing pays a WasmGC boundary conversion instead of a
1317
+ # memcpy. Pyodide apps stream bytes constantly (protocol frames,
1318
+ # DataChannels) — measured ~6-7x slower frame display vs canvaskit.
1292
1319
  "web_renderer": (
1293
1320
  self.options.web_renderer
1294
1321
  or self.get_pyproject("tool.flet.web.renderer")
1295
- or "auto"
1322
+ or "canvaskit"
1296
1323
  ),
1297
1324
  "pwa_background_color": (
1298
1325
  self.options.pwa_background_color
@@ -1369,6 +1396,7 @@ class BaseBuildCommand(BaseFlutterCommand):
1369
1396
  or self.get_pyproject("tool.flet.android.signing.key_store")
1370
1397
  or os.getenv("FLET_ANDROID_SIGNING_KEY_STORE")
1371
1398
  ),
1399
+ "android_legacy_packaging": bool(android_legacy_packaging),
1372
1400
  },
1373
1401
  "flutter": {"dependencies": list(self.flutter_dependencies.keys())},
1374
1402
  "boot_screen": self._resolve_boot_screen(),
@@ -21,14 +21,26 @@ from flet.utils.platform_utils import get_bool_env_var
21
21
  from flet_cli.commands.base import BaseCommand
22
22
  from flet_cli.utils.flutter import get_flutter_dir, install_flutter
23
23
 
24
- no_rich_output = get_bool_env_var("FLET_CLI_NO_RICH_OUTPUT")
24
+ # Detect the plain-output request BEFORE building the shared console: the
25
+ # `--no-rich-output` argparse flag is parsed per-command, too late to
26
+ # affect this module-level console, so check sys.argv for it here too
27
+ # (alongside the env var). Without this, the flag only suppressed emojis
28
+ # while the color + Live spinner kept going.
29
+ no_rich_output = (
30
+ get_bool_env_var("FLET_CLI_NO_RICH_OUTPUT") or "--no-rich-output" in sys.argv
31
+ )
25
32
 
26
33
  error_style = Style(color="red", bold=True)
27
34
  warning_style = Style(color="yellow", bold=True)
28
35
  console = Console(
29
36
  log_path=False,
30
37
  theme=Theme({"log.message": "green bold"}),
31
- force_terminal=not no_rich_output,
38
+ # no_rich_output forces fully plain output (no color, no animation).
39
+ # Otherwise auto-detect the terminal (force_terminal=None): a real TTY
40
+ # gets the animated Live spinner, but piped output (CI, cloud build)
41
+ # must NOT be fed one line per animation frame — forcing the terminal
42
+ # on there floods non-TTY logs with thousands of spinner redraws.
43
+ force_terminal=False if no_rich_output else None,
32
44
  )
33
45
  verbose1_style = Style(dim=True, bold=False)
34
46
  verbose2_style = Style(color="bright_black", bold=False)
@@ -113,8 +113,9 @@ class Command(BaseCommand):
113
113
  dest="web_renderer",
114
114
  type=str.lower,
115
115
  choices=["auto", "canvaskit", "skwasm"],
116
- default="auto",
117
- help="Flutter web renderer to use [env: FLET_WEB_RENDERER=]",
116
+ default=None,
117
+ help="Flutter web renderer to use, default: canvaskit "
118
+ "[env: FLET_WEB_RENDERER=]",
118
119
  )
119
120
  parser.add_argument(
120
121
  "--route-url-strategy",
@@ -354,10 +355,14 @@ class Command(BaseCommand):
354
355
  pyodide_pre=options.pre,
355
356
  pyodide_script_path=str(script_path),
356
357
  pyodide_version=python_release.pyodide,
358
+ # "canvaskit" default for the same reason as `flet build web`:
359
+ # "auto" puts Chromium on dart2wasm/skwasm, whose JS <-> Dart
360
+ # typed-data boundary costs are a large per-frame tax for
361
+ # byte-streaming Pyodide apps.
357
362
  web_renderer=WebRenderer(
358
363
  options.web_renderer
359
364
  or get_pyproject("tool.flet.web.renderer")
360
- or "auto"
365
+ or "canvaskit"
361
366
  ),
362
367
  route_url_strategy=RouteUrlStrategy(
363
368
  options.route_url_strategy
@@ -28,7 +28,7 @@ from flet_cli.utils.template_cache import get_cache_root
28
28
  # python-build release this flet pins. Keep in sync with serious_python's
29
29
  # `pythonReleaseDate` (lib/src/python_versions.dart) — both should track the
30
30
  # same python-build release.
31
- PYTHON_BUILD_RELEASE_DATE = "20260708"
31
+ PYTHON_BUILD_RELEASE_DATE = "20260720"
32
32
 
33
33
  RELEASE_DATE_ENV = "FLET_PYTHON_BUILD_RELEASE_DATE"
34
34
  MANIFEST_PATH_ENV = "FLET_PYTHON_BUILD_MANIFEST"
@@ -0,0 +1 @@
1
+ version = "0.86.2"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: flet-cli
3
- Version: 0.86.0.dev2
3
+ Version: 0.86.2
4
4
  Summary: Flet CLI
5
5
  Author-email: "Appveyor Systems Inc." <hello@flet.dev>
6
6
  License-Expression: Apache-2.0
@@ -9,7 +9,7 @@ Project-URL: Repository, https://github.com/flet-dev/flet
9
9
  Project-URL: Documentation, https://flet.dev/docs
10
10
  Requires-Python: >=3.10
11
11
  Description-Content-Type: text/markdown
12
- Requires-Dist: flet==0.86.0.dev2
12
+ Requires-Dist: flet==0.86.2
13
13
  Requires-Dist: watchdog>=4.0.0
14
14
  Requires-Dist: packaging>=25.0
15
15
  Requires-Dist: qrcode>=7.4.2
@@ -1,4 +1,4 @@
1
- flet==0.86.0.dev2
1
+ flet==0.86.2
2
2
  watchdog>=4.0.0
3
3
  packaging>=25.0
4
4
  qrcode>=7.4.2
@@ -1 +0,0 @@
1
- version = "0.86.0.dev2"
File without changes
File without changes