flet-cli 0.86.3__tar.gz → 0.86.5__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.
- {flet_cli-0.86.3 → flet_cli-0.86.5}/PKG-INFO +2 -2
- {flet_cli-0.86.3 → flet_cli-0.86.5}/pyproject.toml +2 -2
- {flet_cli-0.86.3 → flet_cli-0.86.5}/src/flet_cli/commands/build_base.py +71 -5
- {flet_cli-0.86.3 → flet_cli-0.86.5}/src/flet_cli/utils/python_versions.py +1 -1
- flet_cli-0.86.5/src/flet_cli/version.py +1 -0
- {flet_cli-0.86.3 → flet_cli-0.86.5}/src/flet_cli.egg-info/PKG-INFO +2 -2
- {flet_cli-0.86.3 → flet_cli-0.86.5}/src/flet_cli.egg-info/requires.txt +1 -1
- flet_cli-0.86.3/src/flet_cli/version.py +0 -1
- {flet_cli-0.86.3 → flet_cli-0.86.5}/README.md +0 -0
- {flet_cli-0.86.3 → flet_cli-0.86.5}/setup.cfg +0 -0
- {flet_cli-0.86.3 → flet_cli-0.86.5}/src/flet_cli/__pyinstaller/__init__.py +0 -0
- {flet_cli-0.86.3 → flet_cli-0.86.5}/src/flet_cli/__pyinstaller/config.py +0 -0
- {flet_cli-0.86.3 → flet_cli-0.86.5}/src/flet_cli/__pyinstaller/hook-flet.py +0 -0
- {flet_cli-0.86.3 → flet_cli-0.86.5}/src/flet_cli/__pyinstaller/macos_utils.py +0 -0
- {flet_cli-0.86.3 → flet_cli-0.86.5}/src/flet_cli/__pyinstaller/rthooks/pyi_rth_localhost_fletd.py +0 -0
- {flet_cli-0.86.3 → flet_cli-0.86.5}/src/flet_cli/__pyinstaller/utils.py +0 -0
- {flet_cli-0.86.3 → flet_cli-0.86.5}/src/flet_cli/__pyinstaller/win_utils.py +0 -0
- {flet_cli-0.86.3 → flet_cli-0.86.5}/src/flet_cli/cli.py +0 -0
- {flet_cli-0.86.3 → flet_cli-0.86.5}/src/flet_cli/commands/base.py +0 -0
- {flet_cli-0.86.3 → flet_cli-0.86.5}/src/flet_cli/commands/build.py +0 -0
- {flet_cli-0.86.3 → flet_cli-0.86.5}/src/flet_cli/commands/clean.py +0 -0
- {flet_cli-0.86.3 → flet_cli-0.86.5}/src/flet_cli/commands/create.py +0 -0
- {flet_cli-0.86.3 → flet_cli-0.86.5}/src/flet_cli/commands/debug.py +0 -0
- {flet_cli-0.86.3 → flet_cli-0.86.5}/src/flet_cli/commands/devices.py +0 -0
- {flet_cli-0.86.3 → flet_cli-0.86.5}/src/flet_cli/commands/doctor.py +0 -0
- {flet_cli-0.86.3 → flet_cli-0.86.5}/src/flet_cli/commands/emulators.py +0 -0
- {flet_cli-0.86.3 → flet_cli-0.86.5}/src/flet_cli/commands/flutter_base.py +0 -0
- {flet_cli-0.86.3 → flet_cli-0.86.5}/src/flet_cli/commands/mcp.py +0 -0
- {flet_cli-0.86.3 → flet_cli-0.86.5}/src/flet_cli/commands/options.py +0 -0
- {flet_cli-0.86.3 → flet_cli-0.86.5}/src/flet_cli/commands/pack.py +0 -0
- {flet_cli-0.86.3 → flet_cli-0.86.5}/src/flet_cli/commands/publish.py +0 -0
- {flet_cli-0.86.3 → flet_cli-0.86.5}/src/flet_cli/commands/run.py +0 -0
- {flet_cli-0.86.3 → flet_cli-0.86.5}/src/flet_cli/commands/serve.py +0 -0
- {flet_cli-0.86.3 → flet_cli-0.86.5}/src/flet_cli/commands/test.py +0 -0
- {flet_cli-0.86.3 → flet_cli-0.86.5}/src/flet_cli/commands/test_host.py +0 -0
- {flet_cli-0.86.3 → flet_cli-0.86.5}/src/flet_cli/utils/android.py +0 -0
- {flet_cli-0.86.3 → flet_cli-0.86.5}/src/flet_cli/utils/android_sdk.py +0 -0
- {flet_cli-0.86.3 → flet_cli-0.86.5}/src/flet_cli/utils/cli.py +0 -0
- {flet_cli-0.86.3 → flet_cli-0.86.5}/src/flet_cli/utils/distros.py +0 -0
- {flet_cli-0.86.3 → flet_cli-0.86.5}/src/flet_cli/utils/flutter.py +0 -0
- {flet_cli-0.86.3 → flet_cli-0.86.5}/src/flet_cli/utils/hash_stamp.py +0 -0
- {flet_cli-0.86.3 → flet_cli-0.86.5}/src/flet_cli/utils/jdk.py +0 -0
- {flet_cli-0.86.3 → flet_cli-0.86.5}/src/flet_cli/utils/linux_deps.py +0 -0
- {flet_cli-0.86.3 → flet_cli-0.86.5}/src/flet_cli/utils/merge.py +0 -0
- {flet_cli-0.86.3 → flet_cli-0.86.5}/src/flet_cli/utils/plist.py +0 -0
- {flet_cli-0.86.3 → flet_cli-0.86.5}/src/flet_cli/utils/processes.py +0 -0
- {flet_cli-0.86.3 → flet_cli-0.86.5}/src/flet_cli/utils/project_dependencies.py +0 -0
- {flet_cli-0.86.3 → flet_cli-0.86.5}/src/flet_cli/utils/pyodide.py +0 -0
- {flet_cli-0.86.3 → flet_cli-0.86.5}/src/flet_cli/utils/pyproject_toml.py +0 -0
- {flet_cli-0.86.3 → flet_cli-0.86.5}/src/flet_cli/utils/template_cache.py +0 -0
- {flet_cli-0.86.3 → flet_cli-0.86.5}/src/flet_cli.egg-info/SOURCES.txt +0 -0
- {flet_cli-0.86.3 → flet_cli-0.86.5}/src/flet_cli.egg-info/dependency_links.txt +0 -0
- {flet_cli-0.86.3 → flet_cli-0.86.5}/src/flet_cli.egg-info/entry_points.txt +0 -0
- {flet_cli-0.86.3 → flet_cli-0.86.5}/src/flet_cli.egg-info/top_level.txt +0 -0
- {flet_cli-0.86.3 → flet_cli-0.86.5}/tests/test_clean.py +0 -0
- {flet_cli-0.86.3 → flet_cli-0.86.5}/tests/test_find_platform_image.py +0 -0
- {flet_cli-0.86.3 → flet_cli-0.86.5}/tests/test_plist.py +0 -0
- {flet_cli-0.86.3 → flet_cli-0.86.5}/tests/test_project_dependencies.py +0 -0
- {flet_cli-0.86.3 → flet_cli-0.86.5}/tests/test_python_versions.py +0 -0
- {flet_cli-0.86.3 → flet_cli-0.86.5}/tests/test_run_script_args.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: flet-cli
|
|
3
|
-
Version: 0.86.
|
|
3
|
+
Version: 0.86.5
|
|
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.
|
|
12
|
+
Requires-Dist: flet==0.86.5
|
|
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.
|
|
3
|
+
version = "0.86.5"
|
|
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.
|
|
10
|
+
"flet==0.86.5",
|
|
11
11
|
"watchdog >=4.0.0",
|
|
12
12
|
"packaging >=25.0",
|
|
13
13
|
"qrcode >=7.4.2",
|
|
@@ -212,11 +212,13 @@ class BaseBuildCommand(BaseFlutterCommand):
|
|
|
212
212
|
"NSMicrophoneUsageDescription": "This app uses microphone to record sounds.", # noqa: E501
|
|
213
213
|
},
|
|
214
214
|
"macos_entitlements": {"com.apple.security.device.audio-input": True},
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
215
|
+
# Recording itself only needs RECORD_AUDIO: recordings are written
|
|
216
|
+
# to app-scoped storage, which requires no permission. Do not add
|
|
217
|
+
# READ/WRITE_EXTERNAL_STORAGE here — Google Play's Photo and Video
|
|
218
|
+
# Permissions policy rejects apps that request broad media/storage
|
|
219
|
+
# access without a qualifying use case, and this group is opt-in
|
|
220
|
+
# for the microphone, not for the user's media library.
|
|
221
|
+
"android_permissions": {"android.permission.RECORD_AUDIO": True},
|
|
220
222
|
"android_features": {},
|
|
221
223
|
},
|
|
222
224
|
"photo_library": {
|
|
@@ -956,6 +958,42 @@ class BaseBuildCommand(BaseFlutterCommand):
|
|
|
956
958
|
}
|
|
957
959
|
android_meta_data = {}
|
|
958
960
|
android_providers = {}
|
|
961
|
+
# Gradle properties for the generated Android project. These were
|
|
962
|
+
# hardcoded in the template; the defaults below reproduce them exactly,
|
|
963
|
+
# and `[tool.flet.android.gradle_properties]` can override any entry or
|
|
964
|
+
# add new ones. The memory settings in particular are too large for some
|
|
965
|
+
# CI runners (a standard GitHub-hosted runner has ~7 GB of RAM, less
|
|
966
|
+
# than -Xmx8G alone), which previously could not be changed at all.
|
|
967
|
+
android_gradle_properties = {
|
|
968
|
+
"org.gradle.jvmargs": (
|
|
969
|
+
"-Xmx8G -XX:MaxMetaspaceSize=4G "
|
|
970
|
+
"-XX:ReservedCodeCacheSize=512m -XX:+HeapDumpOnOutOfMemoryError"
|
|
971
|
+
),
|
|
972
|
+
"android.useAndroidX": "true",
|
|
973
|
+
}
|
|
974
|
+
# ProGuard/R8 rules for the generated Android project. Like
|
|
975
|
+
# gradle_properties above, these were a fixed template file and the
|
|
976
|
+
# defaults reproduce it exactly. R8 renames classes in release builds
|
|
977
|
+
# while pyjnius resolves them by name, so an app that reaches into a
|
|
978
|
+
# bundled AAR needs a keep rule and had no way to add one.
|
|
979
|
+
#
|
|
980
|
+
# `proguard_rules` appends, since R8 has no directive that undoes a
|
|
981
|
+
# keep. Removing a default therefore needs its own switch:
|
|
982
|
+
# `proguard_default_rules = false` drops them, which is the only way to
|
|
983
|
+
# shed `-keepnames class * { *; }`. Keeping the two separate stops
|
|
984
|
+
# users pasting today's defaults into pyproject.toml and silently
|
|
985
|
+
# holding them after the defaults change.
|
|
986
|
+
keep_defaults = (
|
|
987
|
+
self.get_pyproject("tool.flet.android.proguard_default_rules") is not False
|
|
988
|
+
)
|
|
989
|
+
android_proguard_rules = (
|
|
990
|
+
[
|
|
991
|
+
"-keep class com.flet.serious_python_android.** { *; }",
|
|
992
|
+
"-keepnames class * { *; }",
|
|
993
|
+
]
|
|
994
|
+
if keep_defaults
|
|
995
|
+
else []
|
|
996
|
+
)
|
|
959
997
|
|
|
960
998
|
# merge values from "--permissions" arg:
|
|
961
999
|
for p in (
|
|
@@ -1037,6 +1075,16 @@ class BaseBuildCommand(BaseFlutterCommand):
|
|
|
1037
1075
|
self.get_pyproject("tool.flet.android.permission") or {},
|
|
1038
1076
|
)
|
|
1039
1077
|
|
|
1078
|
+
android_gradle_properties = merge_dict(
|
|
1079
|
+
android_gradle_properties,
|
|
1080
|
+
self.get_pyproject("tool.flet.android.gradle_properties") or {},
|
|
1081
|
+
)
|
|
1082
|
+
|
|
1083
|
+
android_proguard_rules = android_proguard_rules + [
|
|
1084
|
+
str(rule)
|
|
1085
|
+
for rule in (self.get_pyproject("tool.flet.android.proguard_rules") or [])
|
|
1086
|
+
]
|
|
1087
|
+
|
|
1040
1088
|
# parse --android-permissions
|
|
1041
1089
|
for p in self.options.android_permissions:
|
|
1042
1090
|
i = p.find("=")
|
|
@@ -1386,6 +1434,8 @@ class BaseBuildCommand(BaseFlutterCommand):
|
|
|
1386
1434
|
"android_permissions": android_permissions,
|
|
1387
1435
|
"android_features": android_features,
|
|
1388
1436
|
"android_meta_data": android_meta_data,
|
|
1437
|
+
"android_gradle_properties": android_gradle_properties,
|
|
1438
|
+
"android_proguard_rules": android_proguard_rules,
|
|
1389
1439
|
"android_providers": android_providers,
|
|
1390
1440
|
"deep_linking": {
|
|
1391
1441
|
"scheme": deep_linking_scheme,
|
|
@@ -2290,6 +2340,13 @@ class BaseBuildCommand(BaseFlutterCommand):
|
|
|
2290
2340
|
# app here (no app.zip on native); the platform native build copies
|
|
2291
2341
|
# it into the bundle (Android zips it as a stored asset).
|
|
2292
2342
|
package_env["SERIOUS_PYTHON_APP"] = str(self.build_dir / "python-app")
|
|
2343
|
+
# app bundle id: serious_python (>= 4.4.2) namespaces the generated
|
|
2344
|
+
# iOS framework bundle identifiers under it. Without it they keep a
|
|
2345
|
+
# shared `org.python.*` default that is byte-identical in every Flet
|
|
2346
|
+
# app — see flet-dev/flet#6724.
|
|
2347
|
+
bundle_id = (self.template_data or {}).get("bundle_id")
|
|
2348
|
+
if bundle_id:
|
|
2349
|
+
package_env["SERIOUS_PYTHON_BUNDLE_ID"] = bundle_id
|
|
2293
2350
|
|
|
2294
2351
|
# Swift Package Manager (darwin): tell serious_python's package command to
|
|
2295
2352
|
# do the host-side SPM staging (the podspec prepare_command doesn't run
|
|
@@ -2565,6 +2622,15 @@ class BaseBuildCommand(BaseFlutterCommand):
|
|
|
2565
2622
|
# into the bundle.
|
|
2566
2623
|
env["SERIOUS_PYTHON_APP"] = str(build_dir / "python-app")
|
|
2567
2624
|
|
|
2625
|
+
# app bundle id: the CocoaPods `prepare_command` re-runs the darwin sync
|
|
2626
|
+
# at `flutter build` time, so it needs the same value the package step
|
|
2627
|
+
# got or the framework identifiers fall back to `org.python.*`. Read
|
|
2628
|
+
# defensively — this method is documented as safe to call before the
|
|
2629
|
+
# pipeline has populated every attribute.
|
|
2630
|
+
bundle_id = (getattr(self, "template_data", None) or {}).get("bundle_id")
|
|
2631
|
+
if bundle_id:
|
|
2632
|
+
env["SERIOUS_PYTHON_BUNDLE_ID"] = bundle_id
|
|
2633
|
+
|
|
2568
2634
|
# Swift Package Manager (darwin): export the cache-bust key the package
|
|
2569
2635
|
# step computed so the plugin's Package.swift re-resolves when the staged
|
|
2570
2636
|
# native set changes (SwiftPM caches its graph on manifest text + env).
|
|
@@ -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 = "20260730"
|
|
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.5"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: flet-cli
|
|
3
|
-
Version: 0.86.
|
|
3
|
+
Version: 0.86.5
|
|
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.
|
|
12
|
+
Requires-Dist: flet==0.86.5
|
|
13
13
|
Requires-Dist: watchdog>=4.0.0
|
|
14
14
|
Requires-Dist: packaging>=25.0
|
|
15
15
|
Requires-Dist: qrcode>=7.4.2
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
version = "0.86.3"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{flet_cli-0.86.3 → flet_cli-0.86.5}/src/flet_cli/__pyinstaller/rthooks/pyi_rth_localhost_fletd.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|