flet-cli 0.86.4__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.
Files changed (60) hide show
  1. {flet_cli-0.86.4 → flet_cli-0.86.5}/PKG-INFO +2 -2
  2. {flet_cli-0.86.4 → flet_cli-0.86.5}/pyproject.toml +2 -2
  3. {flet_cli-0.86.4 → flet_cli-0.86.5}/src/flet_cli/commands/build_base.py +55 -5
  4. {flet_cli-0.86.4 → flet_cli-0.86.5}/src/flet_cli/utils/python_versions.py +1 -1
  5. flet_cli-0.86.5/src/flet_cli/version.py +1 -0
  6. {flet_cli-0.86.4 → flet_cli-0.86.5}/src/flet_cli.egg-info/PKG-INFO +2 -2
  7. {flet_cli-0.86.4 → flet_cli-0.86.5}/src/flet_cli.egg-info/requires.txt +1 -1
  8. flet_cli-0.86.4/src/flet_cli/version.py +0 -1
  9. {flet_cli-0.86.4 → flet_cli-0.86.5}/README.md +0 -0
  10. {flet_cli-0.86.4 → flet_cli-0.86.5}/setup.cfg +0 -0
  11. {flet_cli-0.86.4 → flet_cli-0.86.5}/src/flet_cli/__pyinstaller/__init__.py +0 -0
  12. {flet_cli-0.86.4 → flet_cli-0.86.5}/src/flet_cli/__pyinstaller/config.py +0 -0
  13. {flet_cli-0.86.4 → flet_cli-0.86.5}/src/flet_cli/__pyinstaller/hook-flet.py +0 -0
  14. {flet_cli-0.86.4 → flet_cli-0.86.5}/src/flet_cli/__pyinstaller/macos_utils.py +0 -0
  15. {flet_cli-0.86.4 → flet_cli-0.86.5}/src/flet_cli/__pyinstaller/rthooks/pyi_rth_localhost_fletd.py +0 -0
  16. {flet_cli-0.86.4 → flet_cli-0.86.5}/src/flet_cli/__pyinstaller/utils.py +0 -0
  17. {flet_cli-0.86.4 → flet_cli-0.86.5}/src/flet_cli/__pyinstaller/win_utils.py +0 -0
  18. {flet_cli-0.86.4 → flet_cli-0.86.5}/src/flet_cli/cli.py +0 -0
  19. {flet_cli-0.86.4 → flet_cli-0.86.5}/src/flet_cli/commands/base.py +0 -0
  20. {flet_cli-0.86.4 → flet_cli-0.86.5}/src/flet_cli/commands/build.py +0 -0
  21. {flet_cli-0.86.4 → flet_cli-0.86.5}/src/flet_cli/commands/clean.py +0 -0
  22. {flet_cli-0.86.4 → flet_cli-0.86.5}/src/flet_cli/commands/create.py +0 -0
  23. {flet_cli-0.86.4 → flet_cli-0.86.5}/src/flet_cli/commands/debug.py +0 -0
  24. {flet_cli-0.86.4 → flet_cli-0.86.5}/src/flet_cli/commands/devices.py +0 -0
  25. {flet_cli-0.86.4 → flet_cli-0.86.5}/src/flet_cli/commands/doctor.py +0 -0
  26. {flet_cli-0.86.4 → flet_cli-0.86.5}/src/flet_cli/commands/emulators.py +0 -0
  27. {flet_cli-0.86.4 → flet_cli-0.86.5}/src/flet_cli/commands/flutter_base.py +0 -0
  28. {flet_cli-0.86.4 → flet_cli-0.86.5}/src/flet_cli/commands/mcp.py +0 -0
  29. {flet_cli-0.86.4 → flet_cli-0.86.5}/src/flet_cli/commands/options.py +0 -0
  30. {flet_cli-0.86.4 → flet_cli-0.86.5}/src/flet_cli/commands/pack.py +0 -0
  31. {flet_cli-0.86.4 → flet_cli-0.86.5}/src/flet_cli/commands/publish.py +0 -0
  32. {flet_cli-0.86.4 → flet_cli-0.86.5}/src/flet_cli/commands/run.py +0 -0
  33. {flet_cli-0.86.4 → flet_cli-0.86.5}/src/flet_cli/commands/serve.py +0 -0
  34. {flet_cli-0.86.4 → flet_cli-0.86.5}/src/flet_cli/commands/test.py +0 -0
  35. {flet_cli-0.86.4 → flet_cli-0.86.5}/src/flet_cli/commands/test_host.py +0 -0
  36. {flet_cli-0.86.4 → flet_cli-0.86.5}/src/flet_cli/utils/android.py +0 -0
  37. {flet_cli-0.86.4 → flet_cli-0.86.5}/src/flet_cli/utils/android_sdk.py +0 -0
  38. {flet_cli-0.86.4 → flet_cli-0.86.5}/src/flet_cli/utils/cli.py +0 -0
  39. {flet_cli-0.86.4 → flet_cli-0.86.5}/src/flet_cli/utils/distros.py +0 -0
  40. {flet_cli-0.86.4 → flet_cli-0.86.5}/src/flet_cli/utils/flutter.py +0 -0
  41. {flet_cli-0.86.4 → flet_cli-0.86.5}/src/flet_cli/utils/hash_stamp.py +0 -0
  42. {flet_cli-0.86.4 → flet_cli-0.86.5}/src/flet_cli/utils/jdk.py +0 -0
  43. {flet_cli-0.86.4 → flet_cli-0.86.5}/src/flet_cli/utils/linux_deps.py +0 -0
  44. {flet_cli-0.86.4 → flet_cli-0.86.5}/src/flet_cli/utils/merge.py +0 -0
  45. {flet_cli-0.86.4 → flet_cli-0.86.5}/src/flet_cli/utils/plist.py +0 -0
  46. {flet_cli-0.86.4 → flet_cli-0.86.5}/src/flet_cli/utils/processes.py +0 -0
  47. {flet_cli-0.86.4 → flet_cli-0.86.5}/src/flet_cli/utils/project_dependencies.py +0 -0
  48. {flet_cli-0.86.4 → flet_cli-0.86.5}/src/flet_cli/utils/pyodide.py +0 -0
  49. {flet_cli-0.86.4 → flet_cli-0.86.5}/src/flet_cli/utils/pyproject_toml.py +0 -0
  50. {flet_cli-0.86.4 → flet_cli-0.86.5}/src/flet_cli/utils/template_cache.py +0 -0
  51. {flet_cli-0.86.4 → flet_cli-0.86.5}/src/flet_cli.egg-info/SOURCES.txt +0 -0
  52. {flet_cli-0.86.4 → flet_cli-0.86.5}/src/flet_cli.egg-info/dependency_links.txt +0 -0
  53. {flet_cli-0.86.4 → flet_cli-0.86.5}/src/flet_cli.egg-info/entry_points.txt +0 -0
  54. {flet_cli-0.86.4 → flet_cli-0.86.5}/src/flet_cli.egg-info/top_level.txt +0 -0
  55. {flet_cli-0.86.4 → flet_cli-0.86.5}/tests/test_clean.py +0 -0
  56. {flet_cli-0.86.4 → flet_cli-0.86.5}/tests/test_find_platform_image.py +0 -0
  57. {flet_cli-0.86.4 → flet_cli-0.86.5}/tests/test_plist.py +0 -0
  58. {flet_cli-0.86.4 → flet_cli-0.86.5}/tests/test_project_dependencies.py +0 -0
  59. {flet_cli-0.86.4 → flet_cli-0.86.5}/tests/test_python_versions.py +0 -0
  60. {flet_cli-0.86.4 → 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.4
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.4
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.4"
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.4",
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
- "android_permissions": {
216
- "android.permission.RECORD_AUDIO": True,
217
- "android.permission.WRITE_EXTERNAL_STORAGE": True,
218
- "android.permission.READ_EXTERNAL_STORAGE": True,
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,
@@ -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 = "20260727"
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.4
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.4
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,4 +1,4 @@
1
- flet==0.86.4
1
+ flet==0.86.5
2
2
  watchdog>=4.0.0
3
3
  packaging>=25.0
4
4
  qrcode>=7.4.2
@@ -1 +0,0 @@
1
- version = "0.86.4"
File without changes
File without changes
File without changes
File without changes
File without changes