flet 0.23.0.dev2992__tar.gz → 0.23.0.dev2997__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 (72) hide show
  1. {flet-0.23.0.dev2992 → flet-0.23.0.dev2997}/PKG-INFO +2 -2
  2. {flet-0.23.0.dev2992 → flet-0.23.0.dev2997}/pyproject.toml +2 -2
  3. {flet-0.23.0.dev2992 → flet-0.23.0.dev2997}/src/flet/fastapi/flet_app.py +3 -10
  4. {flet-0.23.0.dev2992 → flet-0.23.0.dev2997}/src/flet/fastapi/flet_app_manager.py +16 -0
  5. {flet-0.23.0.dev2992 → flet-0.23.0.dev2997}/src/flet/web/flutter_bootstrap.js +1 -1
  6. {flet-0.23.0.dev2992 → flet-0.23.0.dev2997}/src/flet/web/flutter_service_worker.js +3 -3
  7. {flet-0.23.0.dev2992 → flet-0.23.0.dev2997}/src/flet/web/index.html +1 -1
  8. {flet-0.23.0.dev2992 → flet-0.23.0.dev2997}/README.md +0 -0
  9. {flet-0.23.0.dev2992 → flet-0.23.0.dev2997}/src/flet/__init__.py +0 -0
  10. {flet-0.23.0.dev2992 → flet-0.23.0.dev2997}/src/flet/__pyinstaller/__init__.py +0 -0
  11. {flet-0.23.0.dev2992 → flet-0.23.0.dev2997}/src/flet/__pyinstaller/config.py +0 -0
  12. {flet-0.23.0.dev2992 → flet-0.23.0.dev2997}/src/flet/__pyinstaller/hook-flet.py +0 -0
  13. {flet-0.23.0.dev2992 → flet-0.23.0.dev2997}/src/flet/__pyinstaller/macos_utils.py +0 -0
  14. {flet-0.23.0.dev2992 → flet-0.23.0.dev2997}/src/flet/__pyinstaller/rthooks/pyi_rth_localhost_fletd.py +0 -0
  15. {flet-0.23.0.dev2992 → flet-0.23.0.dev2997}/src/flet/__pyinstaller/rthooks.dat +0 -0
  16. {flet-0.23.0.dev2992 → flet-0.23.0.dev2997}/src/flet/__pyinstaller/utils.py +0 -0
  17. {flet-0.23.0.dev2992 → flet-0.23.0.dev2997}/src/flet/__pyinstaller/win_utils.py +0 -0
  18. {flet-0.23.0.dev2992 → flet-0.23.0.dev2997}/src/flet/auth/__init__.py +0 -0
  19. {flet-0.23.0.dev2992 → flet-0.23.0.dev2997}/src/flet/auth/providers/__init__.py +0 -0
  20. {flet-0.23.0.dev2992 → flet-0.23.0.dev2997}/src/flet/canvas/__init__.py +0 -0
  21. {flet-0.23.0.dev2992 → flet-0.23.0.dev2997}/src/flet/cli/cli.py +0 -0
  22. {flet-0.23.0.dev2992 → flet-0.23.0.dev2997}/src/flet/cli/commands/base.py +0 -0
  23. {flet-0.23.0.dev2992 → flet-0.23.0.dev2997}/src/flet/cli/commands/build.py +0 -0
  24. {flet-0.23.0.dev2992 → flet-0.23.0.dev2997}/src/flet/cli/commands/create.py +0 -0
  25. {flet-0.23.0.dev2992 → flet-0.23.0.dev2997}/src/flet/cli/commands/options.py +0 -0
  26. {flet-0.23.0.dev2992 → flet-0.23.0.dev2997}/src/flet/cli/commands/pack.py +0 -0
  27. {flet-0.23.0.dev2992 → flet-0.23.0.dev2997}/src/flet/cli/commands/publish.py +0 -0
  28. {flet-0.23.0.dev2992 → flet-0.23.0.dev2997}/src/flet/cli/commands/run.py +0 -0
  29. {flet-0.23.0.dev2992 → flet-0.23.0.dev2997}/src/flet/fastapi/README.md +0 -0
  30. {flet-0.23.0.dev2992 → flet-0.23.0.dev2997}/src/flet/fastapi/__init__.py +0 -0
  31. {flet-0.23.0.dev2992 → flet-0.23.0.dev2997}/src/flet/fastapi/app.py +0 -0
  32. {flet-0.23.0.dev2992 → flet-0.23.0.dev2997}/src/flet/fastapi/flet_fastapi.py +0 -0
  33. {flet-0.23.0.dev2992 → flet-0.23.0.dev2997}/src/flet/fastapi/flet_oauth.py +0 -0
  34. {flet-0.23.0.dev2992 → flet-0.23.0.dev2997}/src/flet/fastapi/flet_static_files.py +0 -0
  35. {flet-0.23.0.dev2992 → flet-0.23.0.dev2997}/src/flet/fastapi/flet_upload.py +0 -0
  36. {flet-0.23.0.dev2992 → flet-0.23.0.dev2997}/src/flet/fastapi/oauth_state.py +0 -0
  37. {flet-0.23.0.dev2992 → flet-0.23.0.dev2997}/src/flet/fastapi/serve_fastapi_web_app.py +0 -0
  38. {flet-0.23.0.dev2992 → flet-0.23.0.dev2997}/src/flet/map/__init__.py +0 -0
  39. {flet-0.23.0.dev2992 → flet-0.23.0.dev2997}/src/flet/matplotlib_chart.py +0 -0
  40. {flet-0.23.0.dev2992 → flet-0.23.0.dev2997}/src/flet/plotly_chart.py +0 -0
  41. {flet-0.23.0.dev2992 → flet-0.23.0.dev2997}/src/flet/security/__init__.py +0 -0
  42. {flet-0.23.0.dev2992 → flet-0.23.0.dev2997}/src/flet/utils/__init__.py +0 -0
  43. {flet-0.23.0.dev2992 → flet-0.23.0.dev2997}/src/flet/version.py +0 -0
  44. {flet-0.23.0.dev2992 → flet-0.23.0.dev2997}/src/flet/web/.last_build_id +0 -0
  45. {flet-0.23.0.dev2992 → flet-0.23.0.dev2997}/src/flet/web/assets/AssetManifest.bin +0 -0
  46. {flet-0.23.0.dev2992 → flet-0.23.0.dev2997}/src/flet/web/assets/AssetManifest.bin.json +0 -0
  47. {flet-0.23.0.dev2992 → flet-0.23.0.dev2997}/src/flet/web/assets/AssetManifest.json +0 -0
  48. {flet-0.23.0.dev2992 → flet-0.23.0.dev2997}/src/flet/web/assets/FontManifest.json +0 -0
  49. {flet-0.23.0.dev2992 → flet-0.23.0.dev2997}/src/flet/web/assets/NOTICES +0 -0
  50. {flet-0.23.0.dev2992 → flet-0.23.0.dev2997}/src/flet/web/assets/fonts/MaterialIcons-Regular.otf +0 -0
  51. {flet-0.23.0.dev2992 → flet-0.23.0.dev2997}/src/flet/web/assets/packages/cupertino_icons/assets/CupertinoIcons.ttf +0 -0
  52. {flet-0.23.0.dev2992 → flet-0.23.0.dev2997}/src/flet/web/assets/packages/media_kit/assets/web/hls1.4.10.js +0 -0
  53. {flet-0.23.0.dev2992 → flet-0.23.0.dev2997}/src/flet/web/assets/packages/record_web/assets/js/record.worklet.js +0 -0
  54. {flet-0.23.0.dev2992 → flet-0.23.0.dev2997}/src/flet/web/assets/packages/wakelock_plus/assets/no_sleep.js +0 -0
  55. {flet-0.23.0.dev2992 → flet-0.23.0.dev2997}/src/flet/web/assets/packages/window_manager/images/ic_chrome_close.png +0 -0
  56. {flet-0.23.0.dev2992 → flet-0.23.0.dev2997}/src/flet/web/assets/packages/window_manager/images/ic_chrome_maximize.png +0 -0
  57. {flet-0.23.0.dev2992 → flet-0.23.0.dev2997}/src/flet/web/assets/packages/window_manager/images/ic_chrome_minimize.png +0 -0
  58. {flet-0.23.0.dev2992 → flet-0.23.0.dev2997}/src/flet/web/assets/packages/window_manager/images/ic_chrome_unmaximize.png +0 -0
  59. {flet-0.23.0.dev2992 → flet-0.23.0.dev2997}/src/flet/web/assets/shaders/ink_sparkle.frag +0 -0
  60. {flet-0.23.0.dev2992 → flet-0.23.0.dev2997}/src/flet/web/favicon.png +0 -0
  61. {flet-0.23.0.dev2992 → flet-0.23.0.dev2997}/src/flet/web/flutter.js +0 -0
  62. {flet-0.23.0.dev2992 → flet-0.23.0.dev2997}/src/flet/web/icons/apple-touch-icon-192.png +0 -0
  63. {flet-0.23.0.dev2992 → flet-0.23.0.dev2997}/src/flet/web/icons/icon-192.png +0 -0
  64. {flet-0.23.0.dev2992 → flet-0.23.0.dev2997}/src/flet/web/icons/icon-512.png +0 -0
  65. {flet-0.23.0.dev2992 → flet-0.23.0.dev2997}/src/flet/web/icons/icon-maskable-192.png +0 -0
  66. {flet-0.23.0.dev2992 → flet-0.23.0.dev2997}/src/flet/web/icons/icon-maskable-512.png +0 -0
  67. {flet-0.23.0.dev2992 → flet-0.23.0.dev2997}/src/flet/web/icons/loading-animation.png +0 -0
  68. {flet-0.23.0.dev2992 → flet-0.23.0.dev2997}/src/flet/web/main.dart.js +0 -0
  69. {flet-0.23.0.dev2992 → flet-0.23.0.dev2997}/src/flet/web/manifest.json +0 -0
  70. {flet-0.23.0.dev2992 → flet-0.23.0.dev2997}/src/flet/web/python-worker.js +0 -0
  71. {flet-0.23.0.dev2992 → flet-0.23.0.dev2997}/src/flet/web/python.js +0 -0
  72. {flet-0.23.0.dev2992 → flet-0.23.0.dev2997}/src/flet/web/version.json +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: flet
3
- Version: 0.23.0.dev2992
3
+ Version: 0.23.0.dev2997
4
4
  Summary: Flet for Python - easily build interactive multi-platform apps in Python
5
5
  License: Apache-2.0
6
6
  Author: Appveyor Systems Inc.
@@ -15,7 +15,7 @@ Classifier: Programming Language :: Python :: 3.11
15
15
  Classifier: Programming Language :: Python :: 3.12
16
16
  Requires-Dist: cookiecutter (>=2.6.0,<3.0.0)
17
17
  Requires-Dist: fastapi (>=0,<1)
18
- Requires-Dist: flet-runtime (==0.23.0.dev2992)
18
+ Requires-Dist: flet-runtime (==0.23.0.dev2997)
19
19
  Requires-Dist: packaging (>=23.1,<24.0)
20
20
  Requires-Dist: qrcode (>=7.4.2,<8.0.0)
21
21
  Requires-Dist: uvicorn[standard] (>=0,<1)
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "flet"
3
- version = "0.23.0.dev2992"
3
+ version = "0.23.0.dev2997"
4
4
  description = "Flet for Python - easily build interactive multi-platform apps in Python"
5
5
  authors = ["Appveyor Systems Inc. <hello@flet.dev>"]
6
6
  license = "Apache-2.0"
@@ -17,7 +17,7 @@ documentation = "https://flet.dev/docs"
17
17
 
18
18
  [tool.poetry.dependencies]
19
19
  python = "^3.8"
20
- flet-runtime = "0.23.0.dev2992"
20
+ flet-runtime = "0.23.0.dev2997"
21
21
  watchdog = "^4.0.0"
22
22
  packaging = "^23.1"
23
23
  qrcode = "^7.4.2"
@@ -33,9 +33,6 @@ logger = logging.getLogger(flet_fastapi.__name__)
33
33
  DEFAULT_FLET_SESSION_TIMEOUT = 3600
34
34
  DEFAULT_FLET_OAUTH_STATE_TIMEOUT = 600
35
35
 
36
- _pubsubhubs_lock = asyncio.Lock()
37
- _pubsubhubs = {}
38
-
39
36
 
40
37
  class FletApp(LocalConnection):
41
38
  def __init__(
@@ -98,13 +95,9 @@ class FletApp(LocalConnection):
98
95
  else ""
99
96
  )
100
97
 
101
- async with _pubsubhubs_lock:
102
- psh = _pubsubhubs.get(self.__session_handler, None)
103
- if psh is None:
104
- psh = PubSubHub(loop=self.__loop, executor=app_manager.executor)
105
- _pubsubhubs[self.__session_handler] = psh
106
- self.pubsubhub = psh
107
-
98
+ self.pubsubhub = app_manager.get_pubsubhub(
99
+ self.__session_handler, loop=self.__loop
100
+ )
108
101
  self.page_url = str(websocket.url).rsplit("/", 1)[0]
109
102
  self.page_name = websocket.url.path.rsplit("/", 1)[0].lstrip("/")
110
103
 
@@ -12,6 +12,7 @@ from flet.fastapi.oauth_state import OAuthState
12
12
  from flet_core.connection import Connection
13
13
  from flet_core.locks import NopeLock
14
14
  from flet_core.page import Page
15
+ from flet_core.pubsub.pubsub_hub import PubSubHub
15
16
  from flet_core.utils.concurrency_utils import is_pyodide
16
17
 
17
18
  logger = logging.getLogger(flet_fastapi.__name__)
@@ -31,11 +32,26 @@ class FletAppManager:
31
32
  self.__evict_oauth_states_task = None
32
33
  self.__temp_dirs = {}
33
34
  self.__executor = ThreadPoolExecutor(thread_name_prefix="flet_fastapi")
35
+ self.__pubsubhubs_lock = threading.Lock() if not is_pyodide() else NopeLock()
36
+ self.__pubsubhubs = {}
34
37
 
35
38
  @property
36
39
  def executor(self):
37
40
  return self.__executor
38
41
 
42
+ def get_pubsubhub(
43
+ self, session_handler, loop: Optional[asyncio.AbstractEventLoop] = None
44
+ ):
45
+ with self.__pubsubhubs_lock:
46
+ psh = self.__pubsubhubs.get(session_handler, None)
47
+ if psh is None:
48
+ psh = PubSubHub(
49
+ loop=loop or asyncio.get_running_loop(),
50
+ executor=self.__executor,
51
+ )
52
+ self.__pubsubhubs[session_handler] = psh
53
+ return psh
54
+
39
55
  async def start(self):
40
56
  """
41
57
  Background task evicting expired app data. Must be called at FastAPI application startup.
@@ -11,6 +11,6 @@ _flutter.buildConfig = {"engineRevision":"edd8546116457bdf1c5bdfb13ecb9463d2bb5e
11
11
 
12
12
  _flutter.loader.load({
13
13
  serviceWorkerSettings: {
14
- serviceWorkerVersion: "2313900499"
14
+ serviceWorkerVersion: "4270208519"
15
15
  }
16
16
  });
@@ -42,9 +42,9 @@ const RESOURCES = {"assets/AssetManifest.json": "8d7810f1fb9e0cf9c7606bfcf9fc598
42
42
  "canvaskit/chromium/canvaskit.js": "901bb9e28fac643b7da75ecfd3339f3f",
43
43
  "canvaskit/chromium/canvaskit.js.symbols": "ee7e331f7f5bbf5ec937737542112372",
44
44
  "python-worker.js": "62a4865b3d41771b39660076485879be",
45
- "flutter_bootstrap.js": "9fe8228f65569a9a509d7274d4656661",
46
- "index.html": "366b7760c598096d291191f4deca9595",
47
- "/": "366b7760c598096d291191f4deca9595"};
45
+ "flutter_bootstrap.js": "24ee6c24e2794dd1f3cd612006bc84e9",
46
+ "index.html": "9a0a807a52b1501ff96b2238d4dc82c5",
47
+ "/": "9a0a807a52b1501ff96b2238d4dc82c5"};
48
48
  // The application shell files that are downloaded before a service worker can
49
49
  // start.
50
50
  const CORE = ["main.dart.js",
@@ -37,7 +37,7 @@
37
37
 
38
38
  <script>
39
39
  // The value below is injected by flutter build, do not touch.
40
- const serviceWorkerVersion = "2313900499";
40
+ const serviceWorkerVersion = "4270208519";
41
41
  </script>
42
42
  <!-- This script adds the flutter initialization JS code -->
43
43
  <script src="flutter.js" defer></script>
File without changes