flet-web 0.25.0__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.
Potentially problematic release.
This version of flet-web might be problematic. Click here for more details.
- flet_web/__init__.py +9 -0
- flet_web/fastapi/README.md +146 -0
- flet_web/fastapi/__init__.py +6 -0
- flet_web/fastapi/app.py +121 -0
- flet_web/fastapi/flet_app.py +430 -0
- flet_web/fastapi/flet_app_manager.py +167 -0
- flet_web/fastapi/flet_fastapi.py +128 -0
- flet_web/fastapi/flet_oauth.py +66 -0
- flet_web/fastapi/flet_static_files.py +188 -0
- flet_web/fastapi/flet_upload.py +95 -0
- flet_web/fastapi/oauth_state.py +11 -0
- flet_web/fastapi/serve_fastapi_web_app.py +94 -0
- flet_web/patch_index.py +112 -0
- flet_web/uploads.py +54 -0
- flet_web/version.py +1 -0
- flet_web/web/.last_build_id +1 -0
- flet_web/web/assets/AssetManifest.bin +1 -0
- flet_web/web/assets/AssetManifest.bin.json +1 -0
- flet_web/web/assets/AssetManifest.json +1 -0
- flet_web/web/assets/FontManifest.json +1 -0
- flet_web/web/assets/NOTICES +37378 -0
- flet_web/web/assets/fonts/MaterialIcons-Regular.otf +0 -0
- flet_web/web/assets/packages/cupertino_icons/assets/CupertinoIcons.ttf +0 -0
- flet_web/web/assets/packages/flutter_map/lib/assets/flutter_map_logo.png +0 -0
- flet_web/web/assets/packages/media_kit/assets/web/hls1.4.10.js +2 -0
- flet_web/web/assets/packages/record_web/assets/js/record.fixwebmduration.js +507 -0
- flet_web/web/assets/packages/record_web/assets/js/record.worklet.js +400 -0
- flet_web/web/assets/packages/wakelock_plus/assets/no_sleep.js +230 -0
- flet_web/web/assets/shaders/ink_sparkle.frag +126 -0
- flet_web/web/favicon.png +0 -0
- flet_web/web/flutter.js +4 -0
- flet_web/web/flutter_bootstrap.js +31 -0
- flet_web/web/flutter_service_worker.js +214 -0
- flet_web/web/icons/apple-touch-icon-192.png +0 -0
- flet_web/web/icons/icon-192.png +0 -0
- flet_web/web/icons/icon-512.png +0 -0
- flet_web/web/icons/icon-maskable-192.png +0 -0
- flet_web/web/icons/icon-maskable-512.png +0 -0
- flet_web/web/icons/loading-animation.png +0 -0
- flet_web/web/index.html +99 -0
- flet_web/web/main.dart.js +233348 -0
- flet_web/web/manifest.json +35 -0
- flet_web/web/python-worker.js +47 -0
- flet_web/web/python.js +28 -0
- flet_web/web/version.json +1 -0
- flet_web-0.25.0.dist-info/METADATA +27 -0
- flet_web-0.25.0.dist-info/RECORD +48 -0
- flet_web-0.25.0.dist-info/WHEEL +4 -0
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "Flet",
|
|
3
|
+
"short_name": "Flet",
|
|
4
|
+
"start_url": ".",
|
|
5
|
+
"display": "standalone",
|
|
6
|
+
"background_color": "#FFFFFF",
|
|
7
|
+
"theme_color": "#0175C2",
|
|
8
|
+
"description": "Flet - the fastest way to build Flutter apps in Python",
|
|
9
|
+
"orientation": "natural",
|
|
10
|
+
"prefer_related_applications": false,
|
|
11
|
+
"icons": [
|
|
12
|
+
{
|
|
13
|
+
"src": "icons/icon-192.png",
|
|
14
|
+
"sizes": "192x192",
|
|
15
|
+
"type": "image/png"
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"src": "icons/icon-512.png",
|
|
19
|
+
"sizes": "512x512",
|
|
20
|
+
"type": "image/png"
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"src": "icons/icon-maskable-192.png",
|
|
24
|
+
"sizes": "192x192",
|
|
25
|
+
"type": "image/png",
|
|
26
|
+
"purpose": "maskable"
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"src": "icons/icon-maskable-512.png",
|
|
30
|
+
"sizes": "512x512",
|
|
31
|
+
"type": "image/png",
|
|
32
|
+
"purpose": "maskable"
|
|
33
|
+
}
|
|
34
|
+
]
|
|
35
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
importScripts("https://cdn.jsdelivr.net/pyodide/v0.24.1/full/pyodide.js");
|
|
2
|
+
|
|
3
|
+
self.micropipIncludePre = false;
|
|
4
|
+
self.pythonModuleName = null;
|
|
5
|
+
self.initialized = false;
|
|
6
|
+
self.flet_js = {}; // namespace for Python global functions
|
|
7
|
+
|
|
8
|
+
self.initPyodide = async function () {
|
|
9
|
+
self.pyodide = await loadPyodide();
|
|
10
|
+
self.pyodide.registerJsModule("flet_js", flet_js);
|
|
11
|
+
flet_js.documentUrl = documentUrl;
|
|
12
|
+
await self.pyodide.loadPackage("micropip");
|
|
13
|
+
let pre = self.micropipIncludePre ? "True" : "False";
|
|
14
|
+
await self.pyodide.runPythonAsync(`
|
|
15
|
+
import micropip
|
|
16
|
+
import os
|
|
17
|
+
from pyodide.http import pyfetch
|
|
18
|
+
response = await pyfetch("app.tar.gz")
|
|
19
|
+
await response.unpack_archive()
|
|
20
|
+
if os.path.exists("requirements.txt"):
|
|
21
|
+
with open("requirements.txt", "r") as f:
|
|
22
|
+
deps = [line.rstrip() for line in f]
|
|
23
|
+
print("Loading requirements.txt:", deps)
|
|
24
|
+
await micropip.install(deps, pre=${pre})
|
|
25
|
+
`);
|
|
26
|
+
pyodide.pyimport(self.pythonModuleName);
|
|
27
|
+
await self.flet_js.start_connection(self.receiveCallback);
|
|
28
|
+
self.postMessage("initialized");
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
self.receiveCallback = (message) => {
|
|
32
|
+
self.postMessage(message);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
self.onmessage = async (event) => {
|
|
36
|
+
// run only once
|
|
37
|
+
if (!self.initialized) {
|
|
38
|
+
self.initialized = true;
|
|
39
|
+
self.documentUrl = event.data.documentUrl;
|
|
40
|
+
self.micropipIncludePre = event.data.micropipIncludePre;
|
|
41
|
+
self.pythonModuleName = event.data.pythonModuleName;
|
|
42
|
+
await self.initPyodide();
|
|
43
|
+
} else {
|
|
44
|
+
// message
|
|
45
|
+
flet_js.send(event.data);
|
|
46
|
+
}
|
|
47
|
+
};
|
flet_web/web/python.js
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
const pythonWorker = new Worker("python-worker.js");
|
|
2
|
+
|
|
3
|
+
let _onPythonInitialized = null;
|
|
4
|
+
let pythonInitialized = new Promise((onSuccess) => _onPythonInitialized = onSuccess);
|
|
5
|
+
let _onReceivedCallback = null;
|
|
6
|
+
|
|
7
|
+
pythonWorker.onmessage = (event) => {
|
|
8
|
+
if (event.data == "initialized") {
|
|
9
|
+
_onPythonInitialized();
|
|
10
|
+
} else {
|
|
11
|
+
_onReceivedCallback(event.data);
|
|
12
|
+
}
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
documentUrl = document.URL;
|
|
16
|
+
|
|
17
|
+
// initialize worker
|
|
18
|
+
pythonWorker.postMessage({ documentUrl, micropipIncludePre, pythonModuleName });
|
|
19
|
+
|
|
20
|
+
async function jsConnect(receiveCallback) {
|
|
21
|
+
_onReceivedCallback = receiveCallback;
|
|
22
|
+
await pythonInitialized;
|
|
23
|
+
console.log("Python engine initialized!");
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
async function jsSend(data) {
|
|
27
|
+
pythonWorker.postMessage(data);
|
|
28
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"app_name":"flet_client","version":"1.0.0","build_number":"1","package_name":"flet_client"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
Metadata-Version: 2.1
|
|
2
|
+
Name: flet-web
|
|
3
|
+
Version: 0.25.0
|
|
4
|
+
Summary: Flet web client in Flutter.
|
|
5
|
+
License: Apache-2.0
|
|
6
|
+
Author: Appveyor Systems Inc.
|
|
7
|
+
Author-email: hello@flet.dev
|
|
8
|
+
Requires-Python: >=3.8,<4.0
|
|
9
|
+
Classifier: License :: OSI Approved :: Apache Software License
|
|
10
|
+
Classifier: Programming Language :: Python :: 3
|
|
11
|
+
Classifier: Programming Language :: Python :: 3.8
|
|
12
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
13
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
14
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
15
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
17
|
+
Requires-Dist: fastapi
|
|
18
|
+
Requires-Dist: flet (==0.25.0)
|
|
19
|
+
Requires-Dist: uvicorn[standard]
|
|
20
|
+
Project-URL: documentation, https://flet.dev/docs
|
|
21
|
+
Project-URL: homepage, https://flet.dev
|
|
22
|
+
Project-URL: repository, https://github.com/flet-dev/flet
|
|
23
|
+
Description-Content-Type: text/markdown
|
|
24
|
+
|
|
25
|
+
# Flet Web client in Flutter
|
|
26
|
+
|
|
27
|
+
This package contains a compiled Flutter Flet web client.
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
flet_web/__init__.py,sha256=Wyzpvf5VEXil2MRw_AjGLC1AgdvWvGlt8Wu9y6ceC8M,257
|
|
2
|
+
flet_web/fastapi/README.md,sha256=AxLfVlsTjhzTz6CEDtfI0uDf5Ka-pooq6xcGS-3lZ_U,4181
|
|
3
|
+
flet_web/fastapi/__init__.py,sha256=cQn3Xg5p9NEfLLt6j7uRpxfNz5h2vzDEpOFhIBufShk,306
|
|
4
|
+
flet_web/fastapi/app.py,sha256=g3Aup4ce932sbEUjbqkVZku4gt1NBv0UfH6sqGVe3eg,4883
|
|
5
|
+
flet_web/fastapi/flet_app.py,sha256=QLfPR3p5EYhpGVogxVHSbBHy1BU5YIAl5ryeBi8R_Gc,16961
|
|
6
|
+
flet_web/fastapi/flet_app_manager.py,sha256=q5zeL15UX6-v7UXRxTm8eNFH4q_-KF-rr4ebvAtpQKI,6140
|
|
7
|
+
flet_web/fastapi/flet_fastapi.py,sha256=WDryZ1W0mS4ugTJtxtZ7yNZ5eqqg8cF8aXO0nun8byY,4687
|
|
8
|
+
flet_web/fastapi/flet_oauth.py,sha256=5_8dGg-WdiUuxl2_ItXXDgAltStsdgcItDPSn5dHCos,2109
|
|
9
|
+
flet_web/fastapi/flet_static_files.py,sha256=KaUT2DTkH0vsTAMWb5fHfFQOmC4bhhk6O83MWeMOgzY,7313
|
|
10
|
+
flet_web/fastapi/flet_upload.py,sha256=6QqRIOuntJ3xUUlfDl47XI3Na2zeCqpZYm1ZFwoFbYM,3115
|
|
11
|
+
flet_web/fastapi/oauth_state.py,sha256=beIRx_JXnzAQIV3QHEroPjtjtO52dJYYctybX8poiSo,308
|
|
12
|
+
flet_web/fastapi/serve_fastapi_web_app.py,sha256=WAjbB3yE5JBaTUMeG2D3128_IHefg2GnGLMMqkCvsoM,2300
|
|
13
|
+
flet_web/patch_index.py,sha256=ClIkvsDB6nAQtLPsRvOts4eIujvyd93O5ka86AqjyDA,3434
|
|
14
|
+
flet_web/uploads.py,sha256=k2ZTFQo_MOXGcsJnKgH8m7_zpmcX-sOauarXbehEjNY,1579
|
|
15
|
+
flet_web/version.py,sha256=7GJU11wOEbILrVlgIpYpRfaUj6J_QdwKmOB1cFXuNPs,19
|
|
16
|
+
flet_web/web/.last_build_id,sha256=7ZaNnEt-y0SsUclypWaEVYzPixloF9pyQ5g4AkKes4Y,32
|
|
17
|
+
flet_web/web/assets/AssetManifest.bin,sha256=Q4sJXhFAZx8wv3K0TWA-ljDQf7oE2dP8FHjE07QJYdo,666
|
|
18
|
+
flet_web/web/assets/AssetManifest.bin.json,sha256=rfGK2KxFI6MWfK3wvg0dHVnZ9q6zSrcorP5GKV_-uRY,890
|
|
19
|
+
flet_web/web/assets/AssetManifest.json,sha256=zaDhetvObV0uhQRUjT1QEpicnQ-0DtdveW3NT1WKaho,623
|
|
20
|
+
flet_web/web/assets/FontManifest.json,sha256=zX4DZFvESy3Ue3y2JvUcTsv1Whl6t3JBYotHrBZfviE,208
|
|
21
|
+
flet_web/web/assets/NOTICES,sha256=wBRH1EZox5vhuzThs9S8p2AJiaIQQBzng4GOghmDUiQ,1894138
|
|
22
|
+
flet_web/web/assets/fonts/MaterialIcons-Regular.otf,sha256=4tuSWFPhP4dSN4fMvJkmiM_smjOAWmxrcR4_ecMxEmg,1261120
|
|
23
|
+
flet_web/web/assets/packages/cupertino_icons/assets/CupertinoIcons.ttf,sha256=Wh0PHxeqyR6PZxIylQGfc2mazyMaV3On6z_rSeZeTlc,209160
|
|
24
|
+
flet_web/web/assets/packages/flutter_map/lib/assets/flutter_map_logo.png,sha256=YFGuQvtQWTGoM-WPkgmp-WZppNDks_BvbYLN4SoOBAE,2424
|
|
25
|
+
flet_web/web/assets/packages/media_kit/assets/web/hls1.4.10.js,sha256=2PZAcgFKmwUJxIP3UmG5pCfEGORfgsF7DDInesGDLgc,374692
|
|
26
|
+
flet_web/web/assets/packages/record_web/assets/js/record.fixwebmduration.js,sha256=w0WtXS__s1etpke5tpBpNFKiABvFkS8ekGaHbOAWOZs,23286
|
|
27
|
+
flet_web/web/assets/packages/record_web/assets/js/record.worklet.js,sha256=hkPdAg583tT9IxLhQaZnzx_6lErDQk7E4C4Xc6c35-c,11594
|
|
28
|
+
flet_web/web/assets/packages/wakelock_plus/assets/no_sleep.js,sha256=3OTu8LGXtkCtaqqyIo7h7n3M-L1ta13lSE3RvRZDCng,13344
|
|
29
|
+
flet_web/web/assets/shaders/ink_sparkle.frag,sha256=4Bths5TPZqZBvqh-O0_jeH03L2Nsi8iipnQ4zcKdpvY,8867
|
|
30
|
+
flet_web/web/favicon.png,sha256=83Y7iihRHIC1ALYXYVizrRs2MNRA2YbWGL3UD4LTvOI,1028
|
|
31
|
+
flet_web/web/flutter.js,sha256=cBDXgUjM4L_k5n5Z78MRT0CmA2aKjHrMNeArQAT1mlQ,7775
|
|
32
|
+
flet_web/web/flutter_bootstrap.js,sha256=-GNRspjUElYtkpbatx_GSWBugipOrV8XoQ1Tu7C5PW4,8589
|
|
33
|
+
flet_web/web/flutter_service_worker.js,sha256=yhMyY8XzLVXByj_kBgBCgk9wTbQX4U6TPRaeHA1Bi2U,8859
|
|
34
|
+
flet_web/web/icons/apple-touch-icon-192.png,sha256=dIgpzAZUPynN5BlFNa3ix_VCW34Jl0vimki76Kb7Y5o,4699
|
|
35
|
+
flet_web/web/icons/icon-192.png,sha256=rpfj2H4BEMLPI5U8M6eO_boq73OxHYIlrHh1Up2Moro,6622
|
|
36
|
+
flet_web/web/icons/icon-512.png,sha256=LYsJAwoc1oRroLoakYbYHJJQN-cNtOjmj1QCooE71oo,18666
|
|
37
|
+
flet_web/web/icons/icon-maskable-192.png,sha256=JjQtcczM5M1ddM4W5EtJsNJR-kHO9iXzmC_TgWaqsxE,4128
|
|
38
|
+
flet_web/web/icons/icon-maskable-512.png,sha256=Iq5-TQS9BUn2U7T8ztgToh2EiWnLh9W4aTHIGja5c8o,11906
|
|
39
|
+
flet_web/web/icons/loading-animation.png,sha256=Zl6NT_QrVqNUatwcqmSZawFlMxWHsdm493XDBOE4gn4,17040
|
|
40
|
+
flet_web/web/index.html,sha256=3fh8yxyFyZXFDeS9co1DWQmz2Ri3SOD-Z2kzvTNMS9M,2162
|
|
41
|
+
flet_web/web/main.dart.js,sha256=GmQIS4phsYUgy3tiEt7QJ1dY-U2MlX7Ta9d3mtiYCL8,8009094
|
|
42
|
+
flet_web/web/manifest.json,sha256=_GwcP9mT4sS_BwdYPcDEhnpejqe933LeYIytZIgDnr0,789
|
|
43
|
+
flet_web/web/python-worker.js,sha256=efDFK7FM9Y9KgBIZNpHLVvth-p0TDJ_y9OgpUQGGKnw,1573
|
|
44
|
+
flet_web/web/python.js,sha256=VzS78idquUNV_OcZOvFX-xf4ZErYIp-FSjv8u9fjWMI,744
|
|
45
|
+
flet_web/web/version.json,sha256=M3wyjx-6vkvcLftRE6e4ugK8oYoYlg19xEaZwbrgfHw,92
|
|
46
|
+
flet_web-0.25.0.dist-info/METADATA,sha256=fv-h9lbtiz-teWrwBqUBZnepONGO41mBv2QL9pds8LQ,976
|
|
47
|
+
flet_web-0.25.0.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
|
|
48
|
+
flet_web-0.25.0.dist-info/RECORD,,
|