flet-cli 0.86.0.dev0__tar.gz → 0.86.0.dev2__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.dev0 → flet_cli-0.86.0.dev2}/PKG-INFO +2 -2
  2. {flet_cli-0.86.0.dev0 → flet_cli-0.86.0.dev2}/pyproject.toml +2 -2
  3. {flet_cli-0.86.0.dev0 → flet_cli-0.86.0.dev2}/src/flet_cli/commands/build.py +1 -1
  4. {flet_cli-0.86.0.dev0 → flet_cli-0.86.0.dev2}/src/flet_cli/commands/build_base.py +31 -5
  5. {flet_cli-0.86.0.dev0 → flet_cli-0.86.0.dev2}/src/flet_cli/commands/create.py +2 -0
  6. {flet_cli-0.86.0.dev0 → flet_cli-0.86.0.dev2}/src/flet_cli/commands/debug.py +2 -0
  7. {flet_cli-0.86.0.dev0 → flet_cli-0.86.0.dev2}/src/flet_cli/commands/publish.py +2 -0
  8. {flet_cli-0.86.0.dev0 → flet_cli-0.86.0.dev2}/src/flet_cli/commands/run.py +2 -0
  9. {flet_cli-0.86.0.dev0 → flet_cli-0.86.0.dev2}/src/flet_cli/commands/test.py +2 -0
  10. {flet_cli-0.86.0.dev0 → flet_cli-0.86.0.dev2}/src/flet_cli/utils/python_versions.py +1 -1
  11. flet_cli-0.86.0.dev2/src/flet_cli/version.py +1 -0
  12. {flet_cli-0.86.0.dev0 → flet_cli-0.86.0.dev2}/src/flet_cli.egg-info/PKG-INFO +2 -2
  13. {flet_cli-0.86.0.dev0 → flet_cli-0.86.0.dev2}/src/flet_cli.egg-info/requires.txt +1 -1
  14. flet_cli-0.86.0.dev0/src/flet_cli/version.py +0 -1
  15. {flet_cli-0.86.0.dev0 → flet_cli-0.86.0.dev2}/README.md +0 -0
  16. {flet_cli-0.86.0.dev0 → flet_cli-0.86.0.dev2}/setup.cfg +0 -0
  17. {flet_cli-0.86.0.dev0 → flet_cli-0.86.0.dev2}/src/flet_cli/__pyinstaller/__init__.py +0 -0
  18. {flet_cli-0.86.0.dev0 → flet_cli-0.86.0.dev2}/src/flet_cli/__pyinstaller/config.py +0 -0
  19. {flet_cli-0.86.0.dev0 → flet_cli-0.86.0.dev2}/src/flet_cli/__pyinstaller/hook-flet.py +0 -0
  20. {flet_cli-0.86.0.dev0 → flet_cli-0.86.0.dev2}/src/flet_cli/__pyinstaller/macos_utils.py +0 -0
  21. {flet_cli-0.86.0.dev0 → flet_cli-0.86.0.dev2}/src/flet_cli/__pyinstaller/rthooks/pyi_rth_localhost_fletd.py +0 -0
  22. {flet_cli-0.86.0.dev0 → flet_cli-0.86.0.dev2}/src/flet_cli/__pyinstaller/utils.py +0 -0
  23. {flet_cli-0.86.0.dev0 → flet_cli-0.86.0.dev2}/src/flet_cli/__pyinstaller/win_utils.py +0 -0
  24. {flet_cli-0.86.0.dev0 → flet_cli-0.86.0.dev2}/src/flet_cli/cli.py +0 -0
  25. {flet_cli-0.86.0.dev0 → flet_cli-0.86.0.dev2}/src/flet_cli/commands/base.py +0 -0
  26. {flet_cli-0.86.0.dev0 → flet_cli-0.86.0.dev2}/src/flet_cli/commands/clean.py +0 -0
  27. {flet_cli-0.86.0.dev0 → flet_cli-0.86.0.dev2}/src/flet_cli/commands/devices.py +0 -0
  28. {flet_cli-0.86.0.dev0 → flet_cli-0.86.0.dev2}/src/flet_cli/commands/doctor.py +0 -0
  29. {flet_cli-0.86.0.dev0 → flet_cli-0.86.0.dev2}/src/flet_cli/commands/emulators.py +0 -0
  30. {flet_cli-0.86.0.dev0 → flet_cli-0.86.0.dev2}/src/flet_cli/commands/flutter_base.py +0 -0
  31. {flet_cli-0.86.0.dev0 → flet_cli-0.86.0.dev2}/src/flet_cli/commands/mcp.py +0 -0
  32. {flet_cli-0.86.0.dev0 → flet_cli-0.86.0.dev2}/src/flet_cli/commands/options.py +0 -0
  33. {flet_cli-0.86.0.dev0 → flet_cli-0.86.0.dev2}/src/flet_cli/commands/pack.py +0 -0
  34. {flet_cli-0.86.0.dev0 → flet_cli-0.86.0.dev2}/src/flet_cli/commands/serve.py +0 -0
  35. {flet_cli-0.86.0.dev0 → flet_cli-0.86.0.dev2}/src/flet_cli/commands/test_host.py +0 -0
  36. {flet_cli-0.86.0.dev0 → flet_cli-0.86.0.dev2}/src/flet_cli/utils/android.py +0 -0
  37. {flet_cli-0.86.0.dev0 → flet_cli-0.86.0.dev2}/src/flet_cli/utils/android_sdk.py +0 -0
  38. {flet_cli-0.86.0.dev0 → flet_cli-0.86.0.dev2}/src/flet_cli/utils/cli.py +0 -0
  39. {flet_cli-0.86.0.dev0 → flet_cli-0.86.0.dev2}/src/flet_cli/utils/distros.py +0 -0
  40. {flet_cli-0.86.0.dev0 → flet_cli-0.86.0.dev2}/src/flet_cli/utils/flutter.py +0 -0
  41. {flet_cli-0.86.0.dev0 → flet_cli-0.86.0.dev2}/src/flet_cli/utils/hash_stamp.py +0 -0
  42. {flet_cli-0.86.0.dev0 → flet_cli-0.86.0.dev2}/src/flet_cli/utils/jdk.py +0 -0
  43. {flet_cli-0.86.0.dev0 → flet_cli-0.86.0.dev2}/src/flet_cli/utils/linux_deps.py +0 -0
  44. {flet_cli-0.86.0.dev0 → flet_cli-0.86.0.dev2}/src/flet_cli/utils/merge.py +0 -0
  45. {flet_cli-0.86.0.dev0 → flet_cli-0.86.0.dev2}/src/flet_cli/utils/plist.py +0 -0
  46. {flet_cli-0.86.0.dev0 → flet_cli-0.86.0.dev2}/src/flet_cli/utils/processes.py +0 -0
  47. {flet_cli-0.86.0.dev0 → flet_cli-0.86.0.dev2}/src/flet_cli/utils/project_dependencies.py +0 -0
  48. {flet_cli-0.86.0.dev0 → flet_cli-0.86.0.dev2}/src/flet_cli/utils/pyodide.py +0 -0
  49. {flet_cli-0.86.0.dev0 → flet_cli-0.86.0.dev2}/src/flet_cli/utils/pyproject_toml.py +0 -0
  50. {flet_cli-0.86.0.dev0 → flet_cli-0.86.0.dev2}/src/flet_cli/utils/template_cache.py +0 -0
  51. {flet_cli-0.86.0.dev0 → flet_cli-0.86.0.dev2}/src/flet_cli.egg-info/SOURCES.txt +0 -0
  52. {flet_cli-0.86.0.dev0 → flet_cli-0.86.0.dev2}/src/flet_cli.egg-info/dependency_links.txt +0 -0
  53. {flet_cli-0.86.0.dev0 → flet_cli-0.86.0.dev2}/src/flet_cli.egg-info/entry_points.txt +0 -0
  54. {flet_cli-0.86.0.dev0 → flet_cli-0.86.0.dev2}/src/flet_cli.egg-info/top_level.txt +0 -0
  55. {flet_cli-0.86.0.dev0 → flet_cli-0.86.0.dev2}/tests/test_clean.py +0 -0
  56. {flet_cli-0.86.0.dev0 → flet_cli-0.86.0.dev2}/tests/test_plist.py +0 -0
  57. {flet_cli-0.86.0.dev0 → flet_cli-0.86.0.dev2}/tests/test_project_dependencies.py +0 -0
  58. {flet_cli-0.86.0.dev0 → flet_cli-0.86.0.dev2}/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.dev0
3
+ Version: 0.86.0.dev2
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.dev0
12
+ Requires-Dist: flet==0.86.0.dev2
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.dev0"
3
+ version = "0.86.0.dev2"
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.dev0",
10
+ "flet==0.86.0.dev2",
11
11
  "watchdog >=4.0.0",
12
12
  "packaging >=25.0",
13
13
  "qrcode >=7.4.2",
@@ -17,7 +17,7 @@ class Command(BaseBuildCommand):
17
17
  Android (APK/AAB), and iOS (IPA and simulator .app), with a wide range of
18
18
  customization options for metadata, assets, splash screens, and signing.
19
19
 
20
- Detailed guide with usage examples: https://flet.dev/docs/publish
20
+ Detailed usage guide: https://flet.dev/docs/publish
21
21
  """
22
22
 
23
23
  def __init__(self, parser: argparse.ArgumentParser) -> None:
@@ -89,6 +89,7 @@ class BaseBuildCommand(BaseFlutterCommand):
89
89
  self.flutter_dir: Optional[Path] = None
90
90
  self.flutter_packages_dir = None
91
91
  self.flutter_packages_temp_dir = None
92
+ self.site_packages_skipped = False
92
93
  self.platforms = {
93
94
  "windows": {
94
95
  "package_platform": "Windows",
@@ -1588,6 +1589,17 @@ class BaseBuildCommand(BaseFlutterCommand):
1588
1589
  }
1589
1590
  }
1590
1591
 
1592
+ # Only the web (Pyodide) build loads the packaged app as a Flutter
1593
+ # asset; on native platforms serious_python places it inside the
1594
+ # bundle, and a missing app/app.zip asset would fail the build.
1595
+ if self.config_platform == "web":
1596
+ if pubspec is None:
1597
+ pubspec = self.load_yaml(self.pubspec_path)
1598
+ assets = pubspec.setdefault("flutter", {}).setdefault("assets", [])
1599
+ for asset in ["app/app.zip", "app/app.zip.hash"]:
1600
+ if asset not in assets:
1601
+ assets.append(asset)
1602
+
1591
1603
  if pubspec is not None:
1592
1604
  self.save_yaml(self.pubspec_path, pubspec)
1593
1605
 
@@ -1637,11 +1649,20 @@ class BaseBuildCommand(BaseFlutterCommand):
1637
1649
  # when the app has no Flutter extensions — so always clear the old copy
1638
1650
  # first, otherwise an extension removed since the previous build (e.g.
1639
1651
  # dropping flet-video) would linger here and stay in the built app.
1640
- if self.flutter_packages_dir.exists():
1641
- shutil.rmtree(self.flutter_packages_dir, ignore_errors=True)
1642
- if self.flutter_packages_temp_dir.exists():
1643
- # copy packages from temp to permanent location
1644
- shutil.move(self.flutter_packages_temp_dir, self.flutter_packages_dir)
1652
+ #
1653
+ # Skip this when the package step ran with --skip-site-packages: in that
1654
+ # mode serious_python does not repopulate the temp dir, so an absent temp
1655
+ # dir means "unchanged" rather than "no extensions". Wiping here would
1656
+ # delete the previous build's extensions and never restore them, breaking
1657
+ # the Flutter build (unresolved web plugins). A removed extension changes
1658
+ # the package requirements, flips the package hash, and takes the full
1659
+ # (non-skip) path above instead.
1660
+ if not self.site_packages_skipped:
1661
+ if self.flutter_packages_dir.exists():
1662
+ shutil.rmtree(self.flutter_packages_dir, ignore_errors=True)
1663
+ if self.flutter_packages_temp_dir.exists():
1664
+ # copy packages from temp to permanent location
1665
+ shutil.move(self.flutter_packages_temp_dir, self.flutter_packages_dir)
1645
1666
 
1646
1667
  if self.flutter_packages_dir.exists():
1647
1668
  self.update_status("[bold blue]Registering Flutter user extensions...")
@@ -2380,6 +2401,11 @@ class BaseBuildCommand(BaseFlutterCommand):
2380
2401
  if not dev_packages_configured:
2381
2402
  if not hash.has_changed():
2382
2403
  package_args.append("--skip-site-packages")
2404
+ # serious_python skips copying Flutter packages to the temp dir
2405
+ # under --skip-site-packages, so register_flutter_extensions must
2406
+ # keep (not wipe) the permanent flutter-packages copy from the
2407
+ # previous build.
2408
+ self.site_packages_skipped = True
2383
2409
  else:
2384
2410
  if self.flutter_packages_dir.exists():
2385
2411
  shutil.rmtree(self.flutter_packages_dir, ignore_errors=True)
@@ -24,6 +24,8 @@ class Command(BaseCommand):
24
24
  Create a new Flet project using a predefined template.
25
25
  It sets up the initial directory structure, metadata,
26
26
  and required files to help you get started quickly.
27
+
28
+ Detailed guide with usage examples: https://flet.dev/docs/getting-started/create-flet-app
27
29
  """
28
30
 
29
31
  def add_arguments(self, parser: argparse.ArgumentParser) -> None:
@@ -12,6 +12,8 @@ from flet_cli.commands.build_base import BaseBuildCommand, console, verbose2_sty
12
12
  class Command(BaseBuildCommand):
13
13
  """
14
14
  Run a Flet Python app in debug mode on a specified platform (desktop, web, mobile).
15
+
16
+ Detailed usage guide: https://flet.dev/blog/flet-debug-the-new-cli-for-testing-flet-apps-on-mobile-devices
15
17
  """
16
18
 
17
19
  def __init__(self, parser: argparse.ArgumentParser) -> None:
@@ -24,6 +24,8 @@ from flet_cli.utils.python_versions import (
24
24
  class Command(BaseCommand):
25
25
  """
26
26
  Compile and package a Flet app as a standalone static web application.
27
+
28
+ Detailed usage guide: https://flet.dev/docs/publish/web/static-website
27
29
  """
28
30
 
29
31
  def add_arguments(self, parser: argparse.ArgumentParser) -> None:
@@ -28,6 +28,8 @@ from flet_cli.utils.pyproject_toml import load_pyproject_toml
28
28
  class Command(BaseCommand):
29
29
  """
30
30
  Run a Flet application in hot reload mode.
31
+
32
+ Detailed usage guide: https://flet.dev/docs/getting-started/running-app
31
33
  """
32
34
 
33
35
  def add_arguments(self, parser: argparse.ArgumentParser) -> None:
@@ -104,6 +104,8 @@ class Command(BaseBuildCommand):
104
104
  `flet build`, in test mode) so the app runs on-device with embedded Python,
105
105
  then runs pytest. Tests in the `tests/` directory drive the app through the
106
106
  `flet_app` fixture (find controls by key, tap, take/assert screenshots).
107
+
108
+ Detailed usage guide: https://flet.dev/docs/getting-started/integration-testing
107
109
  """
108
110
 
109
111
  def __init__(self, parser: argparse.ArgumentParser) -> None:
@@ -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 = "20260701"
31
+ PYTHON_BUILD_RELEASE_DATE = "20260708"
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.0.dev2"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: flet-cli
3
- Version: 0.86.0.dev0
3
+ Version: 0.86.0.dev2
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.dev0
12
+ Requires-Dist: flet==0.86.0.dev2
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.dev0
1
+ flet==0.86.0.dev2
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.dev0"
File without changes
File without changes