pyloid 0.20.2.dev2__py3-none-any.whl → 0.22.0.dev1__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.
- pyloid/__init__.py +1 -2
- pyloid/browser_window.py +1208 -187
- pyloid/js_api/base.py +13 -0
- pyloid/js_api/event_api.py +3 -3
- pyloid/js_api/window_api.py +254 -251
- pyloid/pyloid.py +1057 -35
- pyloid/utils.py +5 -0
- {pyloid-0.20.2.dev2.dist-info → pyloid-0.22.0.dev1.dist-info}/LICENSE +1 -1
- {pyloid-0.20.2.dev2.dist-info → pyloid-0.22.0.dev1.dist-info}/METADATA +2 -3
- pyloid-0.22.0.dev1.dist-info/RECORD +19 -0
- pyloid/builder/__init__.py +0 -81
- pyloid/builder/build_config.schema.json +0 -73
- pyloid/builder/spec.py +0 -266
- pyloid-0.20.2.dev2.dist-info/RECORD +0 -21
- {pyloid-0.20.2.dev2.dist-info → pyloid-0.22.0.dev1.dist-info}/WHEEL +0 -0
pyloid/utils.py
CHANGED
@@ -2,6 +2,7 @@ import sys
|
|
2
2
|
import os
|
3
3
|
import platform
|
4
4
|
from typing import Optional
|
5
|
+
import socket
|
5
6
|
|
6
7
|
|
7
8
|
def get_production_path(path: Optional[str] = None) -> Optional[str]:
|
@@ -120,3 +121,7 @@ def get_absolute_path(path: str) -> str:
|
|
120
121
|
"""
|
121
122
|
return os.path.normpath(os.path.abspath(path))
|
122
123
|
|
124
|
+
def get_free_port() -> int:
|
125
|
+
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
|
126
|
+
s.bind(('', 0))
|
127
|
+
return s.getsockname()[1]
|
@@ -198,4 +198,4 @@ Apache License
|
|
198
198
|
distributed under the License is distributed on an "AS IS" BASIS,
|
199
199
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
200
200
|
See the License for the specific language governing permissions and
|
201
|
-
limitations under the License.
|
201
|
+
limitations under the License.
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.3
|
2
2
|
Name: pyloid
|
3
|
-
Version: 0.
|
3
|
+
Version: 0.22.0.dev1
|
4
4
|
Summary:
|
5
5
|
Author: aesthetics-of-record
|
6
6
|
Author-email: 111675679+aesthetics-of-record@users.noreply.github.com
|
@@ -11,8 +11,7 @@ Classifier: Programming Language :: Python :: 3.10
|
|
11
11
|
Classifier: Programming Language :: Python :: 3.11
|
12
12
|
Classifier: Programming Language :: Python :: 3.12
|
13
13
|
Classifier: Programming Language :: Python :: 3.13
|
14
|
-
Requires-Dist:
|
15
|
-
Requires-Dist: pyside6 (>=6.8.1,<7.0.0)
|
14
|
+
Requires-Dist: pyside6 (>=6.8.2.1,<7.0.0.0)
|
16
15
|
Description-Content-Type: text/markdown
|
17
16
|
|
18
17
|
# Pyloid 👋
|
@@ -0,0 +1,19 @@
|
|
1
|
+
pyloid/__init__.py,sha256=OOPhOKNQVmAM8hnfTeE7lHzxb8LsFNcgegBAvDrA-vY,293
|
2
|
+
pyloid/api.py,sha256=A61Kmddh8BlpT3LfA6NbPQNzFmD95vQ4WKX53oKsGYU,2419
|
3
|
+
pyloid/autostart.py,sha256=K7DQYl4LHItvPp0bt1V9WwaaZmVSTeGvadkcwG-KKrI,3899
|
4
|
+
pyloid/browser_window.py,sha256=Lkzw2d7J1PDpgq674D5mri3vIuiCjAlzj5IuLhmnmoI,99638
|
5
|
+
pyloid/custom/titlebar.py,sha256=itzK9pJbZMQ7BKca9kdbuHMffurrw15UijR6OU03Xsk,3894
|
6
|
+
pyloid/filewatcher.py,sha256=3M5zWVUf1OhlkWJcDFC8ZA9agO4Q-U8WdgGpy6kaVz0,4601
|
7
|
+
pyloid/js_api/base.py,sha256=01PxKRu-DS0_eqpWhjzdBfLJB1GjX0bMu7rvoUwBTCA,361
|
8
|
+
pyloid/js_api/event_api.py,sha256=w0z1DcmwcmseqfcoZWgsQmFC2iBCgTMVJubTaHeXI1c,957
|
9
|
+
pyloid/js_api/window_api.py,sha256=YnnniHEBGO1qfyziQiJ5ssYOTUxaHe3Wqj1sUZZdem0,8939
|
10
|
+
pyloid/monitor.py,sha256=1mXvHm5deohnNlTLcRx4sT4x-stnOIb0dUQnnxN50Uo,28295
|
11
|
+
pyloid/pyloid.py,sha256=s_uZFTCrQltNFOfg-oEHr-IPALczfcUPDYkf_L6Wn54,77596
|
12
|
+
pyloid/thread_pool.py,sha256=fKOBb8jMfZn_7crA_fJCno8dObBRZE31EIWaNQ759aw,14616
|
13
|
+
pyloid/timer.py,sha256=RqMsChFUd93cxMVgkHWiIKrci0QDTBgJSTULnAtYT8M,8712
|
14
|
+
pyloid/tray.py,sha256=D12opVEc2wc2T4tK9epaN1oOdeziScsIVNM2uCN7C-A,1710
|
15
|
+
pyloid/utils.py,sha256=T6Or0jV4a74VP0DEmAfTq53GJZ2ZaVsZp-adKU6EQJM,3470
|
16
|
+
pyloid-0.22.0.dev1.dist-info/LICENSE,sha256=F96EzotgWhhpnQTW2TcdoqrMDir1jyEo6H915tGQ-QE,11524
|
17
|
+
pyloid-0.22.0.dev1.dist-info/METADATA,sha256=NEn15S-n1mfVCK1OB6uH7_82Zxn50tgZMZ4WJqEMll4,3071
|
18
|
+
pyloid-0.22.0.dev1.dist-info/WHEEL,sha256=IYZQI976HJqqOpQU6PHkJ8fb3tMNBFjg-Cn-pwAbaFM,88
|
19
|
+
pyloid-0.22.0.dev1.dist-info/RECORD,,
|
pyloid/builder/__init__.py
DELETED
@@ -1,81 +0,0 @@
|
|
1
|
-
import json
|
2
|
-
from pathlib import Path
|
3
|
-
from PyInstaller.__main__ import run as pyinstaller_run
|
4
|
-
import shutil
|
5
|
-
import site
|
6
|
-
from pyloid.builder.spec import create_spec_from_json
|
7
|
-
|
8
|
-
__all__ = ['create_spec_from_json', 'cleanup_before_build', 'build_from_spec', 'get_site_packages']
|
9
|
-
|
10
|
-
def cleanup_before_build(json_path):
|
11
|
-
"""Function to clean up unnecessary files before build"""
|
12
|
-
try:
|
13
|
-
with open(json_path, 'r', encoding='utf-8') as f:
|
14
|
-
config = json.load(f)
|
15
|
-
|
16
|
-
cleanup_patterns = config.get('before_build', {}).get('cleanup_patterns', [])
|
17
|
-
if not cleanup_patterns:
|
18
|
-
return Exception("Cannot find cleanup patterns.")
|
19
|
-
|
20
|
-
site_packages = get_site_packages()
|
21
|
-
if not site_packages:
|
22
|
-
raise Exception("Cannot find site-packages directory.")
|
23
|
-
|
24
|
-
dist_dir = Path(f'{site_packages}')
|
25
|
-
if not dist_dir.exists():
|
26
|
-
raise Exception(f"Cannot find directory to clean: {dist_dir}")
|
27
|
-
|
28
|
-
print("\033[1;34mCleaning up unnecessary files...\033[0m")
|
29
|
-
exclude_patterns = [p[1:] for p in cleanup_patterns if p.startswith('!')]
|
30
|
-
include_patterns = [p for p in cleanup_patterns if not p.startswith('!')]
|
31
|
-
|
32
|
-
for pattern in include_patterns:
|
33
|
-
matching_files = list(dist_dir.glob(pattern))
|
34
|
-
for file_path in matching_files:
|
35
|
-
if any(file_path.match(p) for p in exclude_patterns):
|
36
|
-
print(f"\033[33mSkipping: {file_path}\033[0m")
|
37
|
-
continue
|
38
|
-
print(f"\033[33mRemoving: {file_path}\033[0m")
|
39
|
-
if file_path.is_dir():
|
40
|
-
shutil.rmtree(file_path)
|
41
|
-
else:
|
42
|
-
file_path.unlink()
|
43
|
-
print(f"\033[32mRemoved: {file_path}\033[0m")
|
44
|
-
|
45
|
-
print("\033[1;32mFile cleanup completed.\033[0m")
|
46
|
-
|
47
|
-
except Exception as e:
|
48
|
-
raise Exception(f"\033[1;31mError occurred during file cleanup: {e}\033[0m")
|
49
|
-
|
50
|
-
def build_from_spec(spec_path):
|
51
|
-
try:
|
52
|
-
pyinstaller_run([
|
53
|
-
'--clean', # Clean temporary files
|
54
|
-
spec_path # Spec file path
|
55
|
-
])
|
56
|
-
print("Build completed.")
|
57
|
-
|
58
|
-
except Exception as e:
|
59
|
-
raise Exception(f"Error occurred during build: {e}")
|
60
|
-
|
61
|
-
def get_site_packages():
|
62
|
-
"""
|
63
|
-
Returns the path to the site-packages directory.
|
64
|
-
Raises an exception if the directory is not found.
|
65
|
-
"""
|
66
|
-
for path in site.getsitepackages():
|
67
|
-
if 'site-packages' in path:
|
68
|
-
return path
|
69
|
-
raise Exception("Site-packages directory not found.")
|
70
|
-
|
71
|
-
def main():
|
72
|
-
spec_path = create_spec_from_json('build_config.json')
|
73
|
-
|
74
|
-
cleanup_before_build('build_config.json')
|
75
|
-
|
76
|
-
# build_from_spec(spec_path)
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
if __name__ == "__main__":
|
81
|
-
main()
|
@@ -1,73 +0,0 @@
|
|
1
|
-
{
|
2
|
-
"$schema": "http://json-schema.org/draft-07/schema#",
|
3
|
-
"type": "object",
|
4
|
-
"required": ["before_build", "name", "main_script", "datas", "excludes", "icon", "bundle"],
|
5
|
-
"properties": {
|
6
|
-
"before_build": {
|
7
|
-
"type": "object",
|
8
|
-
"properties": {
|
9
|
-
"cleanup_patterns": {
|
10
|
-
"type": "array",
|
11
|
-
"items": {
|
12
|
-
"type": "string"
|
13
|
-
},
|
14
|
-
"description": "List of file patterns to clean up in the library folder before building (used to remove files that cannot be excluded through pyinstaller) - default path is site-packages"
|
15
|
-
}
|
16
|
-
}
|
17
|
-
},
|
18
|
-
"name": {
|
19
|
-
"type": "string",
|
20
|
-
"description": "Application name"
|
21
|
-
},
|
22
|
-
"main_script": {
|
23
|
-
"type": "string",
|
24
|
-
"description": "Path to the main Python script"
|
25
|
-
},
|
26
|
-
"datas": {
|
27
|
-
"type": "array",
|
28
|
-
"items": {
|
29
|
-
"type": "array",
|
30
|
-
"minItems": 2,
|
31
|
-
"maxItems": 2,
|
32
|
-
"items": [
|
33
|
-
{ "type": "string" },
|
34
|
-
{ "type": "string" }
|
35
|
-
]
|
36
|
-
},
|
37
|
-
"description": "List of data files to include [source path, destination path]"
|
38
|
-
},
|
39
|
-
"excludes": {
|
40
|
-
"type": "array",
|
41
|
-
"items": {
|
42
|
-
"type": "string"
|
43
|
-
},
|
44
|
-
"description": "List of modules to exclude during build with pyinstaller"
|
45
|
-
},
|
46
|
-
"icon": {
|
47
|
-
"type": "string",
|
48
|
-
"description": "Path to the application icon file"
|
49
|
-
},
|
50
|
-
"bundle": {
|
51
|
-
"type": "object",
|
52
|
-
"properties": {
|
53
|
-
"windows": {
|
54
|
-
"type": "string",
|
55
|
-
"enum": ["onefile", "directory"],
|
56
|
-
"description": "Windows build type"
|
57
|
-
},
|
58
|
-
"macos": {
|
59
|
-
"type": "string",
|
60
|
-
"enum": ["app"],
|
61
|
-
"description": "macOS build type"
|
62
|
-
},
|
63
|
-
"linux": {
|
64
|
-
"type": "string",
|
65
|
-
"enum": ["onefile", "directory"],
|
66
|
-
"description": "Linux build type"
|
67
|
-
}
|
68
|
-
},
|
69
|
-
"required": ["windows", "macos", "linux"],
|
70
|
-
"description": "Build settings for each OS"
|
71
|
-
}
|
72
|
-
}
|
73
|
-
}
|
pyloid/builder/spec.py
DELETED
@@ -1,266 +0,0 @@
|
|
1
|
-
from pyloid.utils import get_platform
|
2
|
-
import json
|
3
|
-
from pathlib import Path
|
4
|
-
|
5
|
-
|
6
|
-
def create_spec_from_json(json_path):
|
7
|
-
with open(json_path, "r", encoding="utf-8") as f:
|
8
|
-
config = json.load(f)
|
9
|
-
|
10
|
-
os_type = get_platform()
|
11
|
-
|
12
|
-
if os_type == "macos":
|
13
|
-
spec_content = _create_macos_spec(config)
|
14
|
-
elif os_type == "linux":
|
15
|
-
spec_content = _create_linux_spec(config)
|
16
|
-
else: # windows
|
17
|
-
spec_content = _create_windows_spec(config)
|
18
|
-
|
19
|
-
spec_path = Path(f"build-{os_type}.spec")
|
20
|
-
spec_path.write_text(spec_content, encoding="utf-8")
|
21
|
-
|
22
|
-
return str(spec_path)
|
23
|
-
|
24
|
-
|
25
|
-
def _create_windows_spec(config):
|
26
|
-
bundle_type = config.get("bundle", {}).get("windows", "directory")
|
27
|
-
console = config.get("console", False)
|
28
|
-
|
29
|
-
base_spec = f"""# -*- mode: python ; coding: utf-8 -*-
|
30
|
-
|
31
|
-
block_cipher = None
|
32
|
-
|
33
|
-
a = Analysis(
|
34
|
-
['{config['main_script']}'],
|
35
|
-
pathex={config.get('pathex', [])},
|
36
|
-
binaries={config.get('binaries', [])},
|
37
|
-
datas={config.get('datas', [])},
|
38
|
-
hiddenimports={config.get('hiddenimports', [])},
|
39
|
-
hookspath={config.get('hookspath', [])},
|
40
|
-
hooksconfig={config.get('hooksconfig', {})},
|
41
|
-
runtime_hooks={config.get('runtime_hooks', [])},
|
42
|
-
excludes={config.get('excludes', [])},
|
43
|
-
win_no_prefer_redirects=False,
|
44
|
-
win_private_assemblies=False,
|
45
|
-
cipher=block_cipher,
|
46
|
-
noarchive=False
|
47
|
-
)
|
48
|
-
|
49
|
-
pyz = PYZ(a.pure, a.zipped_data,
|
50
|
-
cipher=block_cipher)
|
51
|
-
"""
|
52
|
-
|
53
|
-
if bundle_type == "onefile":
|
54
|
-
return (
|
55
|
-
base_spec
|
56
|
-
+ f"""
|
57
|
-
exe = EXE(
|
58
|
-
pyz,
|
59
|
-
a.scripts,
|
60
|
-
a.binaries,
|
61
|
-
a.zipfiles,
|
62
|
-
a.datas,
|
63
|
-
[],
|
64
|
-
name='{config.get("name", "pyloid-app")}',
|
65
|
-
debug=False,
|
66
|
-
bootloader_ignore_signals=False,
|
67
|
-
strip=False,
|
68
|
-
upx=True,
|
69
|
-
upx_exclude=[],
|
70
|
-
runtime_tmpdir=None,
|
71
|
-
console={console},
|
72
|
-
disable_windowed_traceback=False,
|
73
|
-
argv_emulation=False,
|
74
|
-
target_arch=None,
|
75
|
-
codesign_identity=None,
|
76
|
-
entitlements_file=None,
|
77
|
-
icon='{config.get('icon', 'src-pyloid/icons/icon.ico')}'
|
78
|
-
)
|
79
|
-
"""
|
80
|
-
)
|
81
|
-
else:
|
82
|
-
return (
|
83
|
-
base_spec
|
84
|
-
+ f"""
|
85
|
-
exe = EXE(
|
86
|
-
pyz,
|
87
|
-
a.scripts,
|
88
|
-
[],
|
89
|
-
exclude_binaries=True,
|
90
|
-
name='{config.get("name", "pyloid-app")}',
|
91
|
-
debug=False,
|
92
|
-
bootloader_ignore_signals=False,
|
93
|
-
strip=False,
|
94
|
-
upx=True,
|
95
|
-
console={console},
|
96
|
-
disable_windowed_traceback=False,
|
97
|
-
argv_emulation=False,
|
98
|
-
target_arch=None,
|
99
|
-
codesign_identity=None,
|
100
|
-
entitlements_file=None,
|
101
|
-
icon='{config.get('icon', 'src-pyloid/icons/icon.ico')}'
|
102
|
-
)
|
103
|
-
|
104
|
-
coll = COLLECT(
|
105
|
-
exe,
|
106
|
-
a.binaries,
|
107
|
-
a.zipfiles,
|
108
|
-
a.datas,
|
109
|
-
strip=False,
|
110
|
-
upx=True,
|
111
|
-
upx_exclude=[],
|
112
|
-
name='{config.get("name", "pyloid-app")}'
|
113
|
-
)
|
114
|
-
"""
|
115
|
-
)
|
116
|
-
|
117
|
-
|
118
|
-
def _create_macos_spec(config):
|
119
|
-
console = config.get("console", False)
|
120
|
-
return f"""# -*- mode: python ; coding: utf-8 -*-
|
121
|
-
|
122
|
-
a = Analysis(
|
123
|
-
['{config['main_script']}'],
|
124
|
-
pathex={config.get('pathex', [])},
|
125
|
-
binaries={config.get('binaries', [])},
|
126
|
-
datas={config.get('datas', [])},
|
127
|
-
hiddenimports={config.get('hiddenimports', [])},
|
128
|
-
hookspath={config.get('hookspath', [])},
|
129
|
-
hooksconfig={config.get('hooksconfig', {})},
|
130
|
-
runtime_hooks={config.get('runtime_hooks', [])},
|
131
|
-
excludes={config.get('excludes', [])},
|
132
|
-
noarchive=False,
|
133
|
-
optimize=0
|
134
|
-
)
|
135
|
-
|
136
|
-
pyz = PYZ(a.pure)
|
137
|
-
|
138
|
-
exe = EXE(
|
139
|
-
pyz,
|
140
|
-
a.scripts,
|
141
|
-
[],
|
142
|
-
exclude_binaries=True,
|
143
|
-
name='{config.get("name", "pyloid-app")}',
|
144
|
-
debug=False,
|
145
|
-
bootloader_ignore_signals=False,
|
146
|
-
strip=False,
|
147
|
-
upx=True,
|
148
|
-
console={console},
|
149
|
-
disable_windowed_traceback=False,
|
150
|
-
argv_emulation=False,
|
151
|
-
target_arch=None,
|
152
|
-
codesign_identity=None,
|
153
|
-
entitlements_file=None,
|
154
|
-
icon='{config.get('icon', 'src-pyloid/icons/icon.ico')}'
|
155
|
-
)
|
156
|
-
|
157
|
-
coll = COLLECT(
|
158
|
-
exe,
|
159
|
-
a.binaries,
|
160
|
-
a.datas,
|
161
|
-
strip=False,
|
162
|
-
upx=True,
|
163
|
-
upx_exclude=[],
|
164
|
-
name='{config.get("name", "pyloid-app")}'
|
165
|
-
)
|
166
|
-
|
167
|
-
app = BUNDLE(
|
168
|
-
coll,
|
169
|
-
name='{config.get("name", "pyloid-app")}.app',
|
170
|
-
icon='{config.get('icon', 'src-pyloid/icons/icon.icns')}',
|
171
|
-
bundle_identifier=None
|
172
|
-
)
|
173
|
-
"""
|
174
|
-
|
175
|
-
|
176
|
-
def _create_linux_spec(config):
|
177
|
-
bundle_type = config.get("bundle", {}).get("linux", "directory")
|
178
|
-
console = config.get("console", False)
|
179
|
-
|
180
|
-
base_spec = f"""# -*- mode: python ; coding: utf-8 -*-
|
181
|
-
|
182
|
-
block_cipher = None
|
183
|
-
|
184
|
-
a = Analysis(
|
185
|
-
['{config['main_script']}'],
|
186
|
-
pathex={config.get('pathex', [])},
|
187
|
-
binaries={config.get('binaries', [])},
|
188
|
-
datas={config.get('datas', [])},
|
189
|
-
hiddenimports={config.get('hiddenimports', [])},
|
190
|
-
hookspath={config.get('hookspath', [])},
|
191
|
-
hooksconfig={config.get('hooksconfig', {})},
|
192
|
-
runtime_hooks={config.get('runtime_hooks', [])},
|
193
|
-
excludes={config.get('excludes', [])},
|
194
|
-
win_no_prefer_redirects=False,
|
195
|
-
win_private_assemblies=False,
|
196
|
-
cipher=block_cipher,
|
197
|
-
noarchive=False
|
198
|
-
)
|
199
|
-
|
200
|
-
pyz = PYZ(a.pure, a.zipped_data,
|
201
|
-
cipher=block_cipher)
|
202
|
-
"""
|
203
|
-
|
204
|
-
if bundle_type == "onefile":
|
205
|
-
return (
|
206
|
-
base_spec
|
207
|
-
+ f"""
|
208
|
-
exe = EXE(
|
209
|
-
pyz,
|
210
|
-
a.scripts,
|
211
|
-
a.binaries,
|
212
|
-
a.zipfiles,
|
213
|
-
a.datas,
|
214
|
-
[],
|
215
|
-
name='{config.get("name", "pyloid-app")}',
|
216
|
-
debug=False,
|
217
|
-
bootloader_ignore_signals=False,
|
218
|
-
strip=False,
|
219
|
-
upx=True,
|
220
|
-
upx_exclude=[],
|
221
|
-
runtime_tmpdir=None,
|
222
|
-
console={console},
|
223
|
-
disable_windowed_traceback=False,
|
224
|
-
argv_emulation=False,
|
225
|
-
target_arch=None,
|
226
|
-
codesign_identity=None,
|
227
|
-
entitlements_file=None,
|
228
|
-
icon='{config.get('icon', 'src-pyloid/icons/icon.png')}'
|
229
|
-
)
|
230
|
-
"""
|
231
|
-
)
|
232
|
-
else:
|
233
|
-
return (
|
234
|
-
base_spec
|
235
|
-
+ f"""
|
236
|
-
exe = EXE(
|
237
|
-
pyz,
|
238
|
-
a.scripts,
|
239
|
-
[],
|
240
|
-
exclude_binaries=True,
|
241
|
-
name='{config.get("name", "pyloid-app")}',
|
242
|
-
debug=False,
|
243
|
-
bootloader_ignore_signals=False,
|
244
|
-
strip=False,
|
245
|
-
upx=True,
|
246
|
-
console={console},
|
247
|
-
disable_windowed_traceback=False,
|
248
|
-
argv_emulation=False,
|
249
|
-
target_arch=None,
|
250
|
-
codesign_identity=None,
|
251
|
-
entitlements_file=None,
|
252
|
-
icon='{config.get('icon', 'src-pyloid/icons/icon.png')}'
|
253
|
-
)
|
254
|
-
|
255
|
-
coll = COLLECT(
|
256
|
-
exe,
|
257
|
-
a.binaries,
|
258
|
-
a.zipfiles,
|
259
|
-
a.datas,
|
260
|
-
strip=False,
|
261
|
-
upx=True,
|
262
|
-
upx_exclude=[],
|
263
|
-
name='{config.get("name", "pyloid-app")}'
|
264
|
-
)
|
265
|
-
"""
|
266
|
-
)
|
@@ -1,21 +0,0 @@
|
|
1
|
-
pyloid/__init__.py,sha256=t1_67LkSfP4F1TYq4-62z5Cc3Gx1jyWI1yXux7Ojaug,484
|
2
|
-
pyloid/api.py,sha256=A61Kmddh8BlpT3LfA6NbPQNzFmD95vQ4WKX53oKsGYU,2419
|
3
|
-
pyloid/autostart.py,sha256=K7DQYl4LHItvPp0bt1V9WwaaZmVSTeGvadkcwG-KKrI,3899
|
4
|
-
pyloid/browser_window.py,sha256=d9_h7URbECbNgRxqEjFAkbiZfso0oQ0v3RZXnzYTqN4,64228
|
5
|
-
pyloid/builder/__init__.py,sha256=nw0r2RXqZ6eEbSbVF44sHD7NXovMShujxpTwygXXlrY,2889
|
6
|
-
pyloid/builder/build_config.schema.json,sha256=Wj4_RCxXrQE9lq9Qxen1oy1Q0lhi2ojDkln8YX_LntM,2213
|
7
|
-
pyloid/builder/spec.py,sha256=KuAnqO5CdJyzNbU5dmEGoq_dpHA9HW2U2Cj77Cd6uKI,6421
|
8
|
-
pyloid/custom/titlebar.py,sha256=itzK9pJbZMQ7BKca9kdbuHMffurrw15UijR6OU03Xsk,3894
|
9
|
-
pyloid/filewatcher.py,sha256=3M5zWVUf1OhlkWJcDFC8ZA9agO4Q-U8WdgGpy6kaVz0,4601
|
10
|
-
pyloid/js_api/event_api.py,sha256=_52yyBonqecmMvJpFW7OMNi_jX8Nrteqw_kI6r-DGG0,951
|
11
|
-
pyloid/js_api/window_api.py,sha256=BsAO4VBkqfUPib4f7AHxaMRXvN3FvzMXDBsqSUAay3c,8489
|
12
|
-
pyloid/monitor.py,sha256=1mXvHm5deohnNlTLcRx4sT4x-stnOIb0dUQnnxN50Uo,28295
|
13
|
-
pyloid/pyloid.py,sha256=YKE2a5yZFbBZrtMND2X5I7CVnFRK40NFzDp3kYN-oQg,44091
|
14
|
-
pyloid/thread_pool.py,sha256=fKOBb8jMfZn_7crA_fJCno8dObBRZE31EIWaNQ759aw,14616
|
15
|
-
pyloid/timer.py,sha256=RqMsChFUd93cxMVgkHWiIKrci0QDTBgJSTULnAtYT8M,8712
|
16
|
-
pyloid/tray.py,sha256=D12opVEc2wc2T4tK9epaN1oOdeziScsIVNM2uCN7C-A,1710
|
17
|
-
pyloid/utils.py,sha256=mAjuppRXlZAocggf8La00Ae0Qzi4IRL_ovG87x4wagI,3300
|
18
|
-
pyloid-0.20.2.dev2.dist-info/LICENSE,sha256=MTYF-6xpRekyTUglRweWtbfbwBL1I_3Bgfbm_SNOuI8,11525
|
19
|
-
pyloid-0.20.2.dev2.dist-info/METADATA,sha256=-lr051f4xBiCAAe5U_AYoIlz3Hx4SM0KZlJ-h7FS6n4,3112
|
20
|
-
pyloid-0.20.2.dev2.dist-info/WHEEL,sha256=IYZQI976HJqqOpQU6PHkJ8fb3tMNBFjg-Cn-pwAbaFM,88
|
21
|
-
pyloid-0.20.2.dev2.dist-info/RECORD,,
|
File without changes
|