flet-cli 0.86.0.dev0__py3-none-any.whl → 0.86.0.dev2__py3-none-any.whl
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.
- flet_cli/commands/build.py +1 -1
- flet_cli/commands/build_base.py +31 -5
- flet_cli/commands/create.py +2 -0
- flet_cli/commands/debug.py +2 -0
- flet_cli/commands/publish.py +2 -0
- flet_cli/commands/run.py +2 -0
- flet_cli/commands/test.py +2 -0
- flet_cli/utils/python_versions.py +1 -1
- flet_cli/version.py +1 -1
- {flet_cli-0.86.0.dev0.dist-info → flet_cli-0.86.0.dev2.dist-info}/METADATA +2 -2
- {flet_cli-0.86.0.dev0.dist-info → flet_cli-0.86.0.dev2.dist-info}/RECORD +14 -14
- {flet_cli-0.86.0.dev0.dist-info → flet_cli-0.86.0.dev2.dist-info}/WHEEL +1 -1
- {flet_cli-0.86.0.dev0.dist-info → flet_cli-0.86.0.dev2.dist-info}/entry_points.txt +0 -0
- {flet_cli-0.86.0.dev0.dist-info → flet_cli-0.86.0.dev2.dist-info}/top_level.txt +0 -0
flet_cli/commands/build.py
CHANGED
|
@@ -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
|
|
20
|
+
Detailed usage guide: https://flet.dev/docs/publish
|
|
21
21
|
"""
|
|
22
22
|
|
|
23
23
|
def __init__(self, parser: argparse.ArgumentParser) -> None:
|
flet_cli/commands/build_base.py
CHANGED
|
@@ -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
|
-
|
|
1641
|
-
|
|
1642
|
-
|
|
1643
|
-
|
|
1644
|
-
|
|
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)
|
flet_cli/commands/create.py
CHANGED
|
@@ -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:
|
flet_cli/commands/debug.py
CHANGED
|
@@ -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:
|
flet_cli/commands/publish.py
CHANGED
|
@@ -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:
|
flet_cli/commands/run.py
CHANGED
|
@@ -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:
|
flet_cli/commands/test.py
CHANGED
|
@@ -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 = "
|
|
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"
|
flet_cli/version.py
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
version = "0.86.0.
|
|
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.
|
|
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.
|
|
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,5 +1,5 @@
|
|
|
1
1
|
flet_cli/cli.py,sha256=xIksfqmpf_wbzWLj1EdHkTjVIs6atpfX3hyPjYAFw-M,5086
|
|
2
|
-
flet_cli/version.py,sha256=
|
|
2
|
+
flet_cli/version.py,sha256=9dkwA_dOHwA891Mr3VhuVQW2W7NfqkkITzzVXT9y_ZU,24
|
|
3
3
|
flet_cli/__pyinstaller/__init__.py,sha256=KJsKpQ6uSVslADmFaOKaxCu-GOZZtcVKnti-ripD-ug,164
|
|
4
4
|
flet_cli/__pyinstaller/config.py,sha256=MN2IPu53K1RDyh_KE4wIcQH8El_n4Z3fD6NO2iq8y74,20
|
|
5
5
|
flet_cli/__pyinstaller/hook-flet.py,sha256=RbiFE8-7VBsY4Dwt7a9-9gW0gUFQGjOLY1-OBsZm_mI,506
|
|
@@ -8,11 +8,11 @@ flet_cli/__pyinstaller/utils.py,sha256=EbGuUIM1ce_Lc0VZlaJQ2WlSAahlgTLoMFDFigibI
|
|
|
8
8
|
flet_cli/__pyinstaller/win_utils.py,sha256=wu0G98CUMkGfloZa2LTqJE7axAZPB2-TLBOHJiYUc0Q,4428
|
|
9
9
|
flet_cli/__pyinstaller/rthooks/pyi_rth_localhost_fletd.py,sha256=Q5r19b95nWjDdF-D6civD6_M8jzSDIi26WBHlVJOhdY,584
|
|
10
10
|
flet_cli/commands/base.py,sha256=6MTAuA7kKdaKIZI4AyWPM1TJfFCxmRj7kc7z2h6E_4k,3496
|
|
11
|
-
flet_cli/commands/build.py,sha256=
|
|
12
|
-
flet_cli/commands/build_base.py,sha256=
|
|
11
|
+
flet_cli/commands/build.py,sha256=wA0ZTnzyLbOwShQwN7BvHv7RQpzAdxY65HhEg_eJG_w,7236
|
|
12
|
+
flet_cli/commands/build_base.py,sha256=U4V98M-GBRK-a8VovBH_kwpXCYhAFw-36iwD8L_5JdA,115773
|
|
13
13
|
flet_cli/commands/clean.py,sha256=fIRr1ktoE9wzO0R-lAq985zbCH1dX6Sao5VyXiJxiOY,2250
|
|
14
|
-
flet_cli/commands/create.py,sha256=
|
|
15
|
-
flet_cli/commands/debug.py,sha256=
|
|
14
|
+
flet_cli/commands/create.py,sha256=eXVjGFE5uNx6I6-5wQPHByEVBAssZ_9evzJufkg-G0o,5545
|
|
15
|
+
flet_cli/commands/debug.py,sha256=dT80Z_4QEqSyleVGZdCif2u0oMrUKCraG0QmBwjYf30,6768
|
|
16
16
|
flet_cli/commands/devices.py,sha256=7kn56lrZLN5LuG_X3IyMdSfdFa421yE4R1otTJr5Yrc,7953
|
|
17
17
|
flet_cli/commands/doctor.py,sha256=uG2xUAT_FASB9cnLD9G83NTYdP9iuKhaHyQLjMB_E4c,1051
|
|
18
18
|
flet_cli/commands/emulators.py,sha256=2VCpu-B70JMsmqNpQoDJoXAvOV-Ex_Kkosa27D16iRk,13215
|
|
@@ -20,10 +20,10 @@ flet_cli/commands/flutter_base.py,sha256=cvWrB_fWqb8wft7-Wr5isvOFxsgKgc0HcCHyK2I
|
|
|
20
20
|
flet_cli/commands/mcp.py,sha256=AVEnf6YjICqoBQPKqBaHp27KHXxFVjH-IRpAi6dSjcM,2065
|
|
21
21
|
flet_cli/commands/options.py,sha256=tSqztnV4uvXhMEk6VhYe_szoq7CGVTrYlrkdZwMK4ek,1068
|
|
22
22
|
flet_cli/commands/pack.py,sha256=xayvQpkKFDQvckPnxyahKYXbUpEfV8tUMEBn5y-orzk,16586
|
|
23
|
-
flet_cli/commands/publish.py,sha256=
|
|
24
|
-
flet_cli/commands/run.py,sha256=
|
|
23
|
+
flet_cli/commands/publish.py,sha256=9rUEiqhq6TDYrjI8MQkEmRZQ_q1Qa7Ykvuor3Mw7QWk,13321
|
|
24
|
+
flet_cli/commands/run.py,sha256=7XONMsOKhHDWFsxiJxE2iBIoDUmA9Hlrf7rVlBZNTZ0,21341
|
|
25
25
|
flet_cli/commands/serve.py,sha256=YrollC80u9JvuXHbI_qQ3wxpjcqpIQwFxdD5nIOeOT4,3143
|
|
26
|
-
flet_cli/commands/test.py,sha256=
|
|
26
|
+
flet_cli/commands/test.py,sha256=_sm5ERkTN398YP1r2WaOkQFDrNwR0PPyxlLhs1Y8Gl0,11826
|
|
27
27
|
flet_cli/commands/test_host.py,sha256=GrRLpGJf4feJsQydKZaqGX8aY1aPXPEPWCsMqEEgA2k,394
|
|
28
28
|
flet_cli/utils/android.py,sha256=aLANEliQs9B0TobjYVBYBDisr57y8Boo7ej9_KaRkx0,1635
|
|
29
29
|
flet_cli/utils/android_sdk.py,sha256=CW1k1M-3aQPfg_irjqG4PvyZh3cng1aAruryZmQKGRw,13907
|
|
@@ -39,10 +39,10 @@ flet_cli/utils/processes.py,sha256=S0ErmI5x9S6RNMe89cf5M4ROIofMtjNZRQ29foUllJ4,2
|
|
|
39
39
|
flet_cli/utils/project_dependencies.py,sha256=kC8gZZyaGk-coNXrh6cyPM6i9RhUaXcBIvZmQ50PufY,4064
|
|
40
40
|
flet_cli/utils/pyodide.py,sha256=RhumXYuovPxgLbu99pNNhVb9SRvBvhLGiUMtb9WxC5U,5058
|
|
41
41
|
flet_cli/utils/pyproject_toml.py,sha256=o4fAWKXMyK8vdnAO41BLI7Lt3ohMlVdlwrpaifq30Cs,1408
|
|
42
|
-
flet_cli/utils/python_versions.py,sha256=
|
|
42
|
+
flet_cli/utils/python_versions.py,sha256=VQ9NfIonXaQj1G2DcgWfSPRydRcGG5MVmcBYYX9suMU,8129
|
|
43
43
|
flet_cli/utils/template_cache.py,sha256=Lf_iuk30zTfaNFbRmrc8s07w1yE-PYjdovZztoiuPzc,1596
|
|
44
|
-
flet_cli-0.86.0.
|
|
45
|
-
flet_cli-0.86.0.
|
|
46
|
-
flet_cli-0.86.0.
|
|
47
|
-
flet_cli-0.86.0.
|
|
48
|
-
flet_cli-0.86.0.
|
|
44
|
+
flet_cli-0.86.0.dev2.dist-info/METADATA,sha256=P4EHBDzK_UdFHBNgnJ5Y-rgZRSg2BIavkKo0u-D5Mbk,1302
|
|
45
|
+
flet_cli-0.86.0.dev2.dist-info/WHEEL,sha256=K260EYznzXsJYBQGqmI8VTxEdiZYNvDZwW9cBh9-_MA,91
|
|
46
|
+
flet_cli-0.86.0.dev2.dist-info/entry_points.txt,sha256=UZFR426y3mfr0wgikEFPbZ6wtGwfgykif9Obw6R7Wnc,65
|
|
47
|
+
flet_cli-0.86.0.dev2.dist-info/top_level.txt,sha256=4_BPVAJpcNofDe3XMxajlZLBNWzWqKhRynNSBCYTKVQ,9
|
|
48
|
+
flet_cli-0.86.0.dev2.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|