pyloid 0.23.15__tar.gz → 0.23.16__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.
- pyloid-0.23.16/PKG-INFO +75 -0
- pyloid-0.23.16/README.md +55 -0
- {pyloid-0.23.15 → pyloid-0.23.16}/pyproject.toml +1 -1
- {pyloid-0.23.15 → pyloid-0.23.16}/src/pyloid/pyloid.py +19 -0
- pyloid-0.23.15/PKG-INFO +0 -97
- pyloid-0.23.15/README.md +0 -77
- {pyloid-0.23.15 → pyloid-0.23.16}/LICENSE +0 -0
- {pyloid-0.23.15 → pyloid-0.23.16}/src/pyloid/__init__.py +0 -0
- {pyloid-0.23.15 → pyloid-0.23.16}/src/pyloid/api.py +0 -0
- {pyloid-0.23.15 → pyloid-0.23.16}/src/pyloid/autostart.py +0 -0
- {pyloid-0.23.15 → pyloid-0.23.16}/src/pyloid/browser_window.py +0 -0
- {pyloid-0.23.15 → pyloid-0.23.16}/src/pyloid/custom/titlebar.py +0 -0
- {pyloid-0.23.15 → pyloid-0.23.16}/src/pyloid/filewatcher.py +0 -0
- {pyloid-0.23.15 → pyloid-0.23.16}/src/pyloid/js_api/base.py +0 -0
- {pyloid-0.23.15 → pyloid-0.23.16}/src/pyloid/js_api/event_api.py +0 -0
- {pyloid-0.23.15 → pyloid-0.23.16}/src/pyloid/js_api/window_api.py +0 -0
- {pyloid-0.23.15 → pyloid-0.23.16}/src/pyloid/monitor.py +0 -0
- {pyloid-0.23.15 → pyloid-0.23.16}/src/pyloid/rpc.py +0 -0
- {pyloid-0.23.15 → pyloid-0.23.16}/src/pyloid/serve.py +0 -0
- {pyloid-0.23.15 → pyloid-0.23.16}/src/pyloid/store.py +0 -0
- {pyloid-0.23.15 → pyloid-0.23.16}/src/pyloid/thread_pool.py +0 -0
- {pyloid-0.23.15 → pyloid-0.23.16}/src/pyloid/timer.py +0 -0
- {pyloid-0.23.15 → pyloid-0.23.16}/src/pyloid/tray.py +0 -0
- {pyloid-0.23.15 → pyloid-0.23.16}/src/pyloid/url_interceptor.py +0 -0
- {pyloid-0.23.15 → pyloid-0.23.16}/src/pyloid/utils.py +0 -0
pyloid-0.23.16/PKG-INFO
ADDED
@@ -0,0 +1,75 @@
|
|
1
|
+
Metadata-Version: 2.3
|
2
|
+
Name: pyloid
|
3
|
+
Version: 0.23.16
|
4
|
+
Summary:
|
5
|
+
Author: aesthetics-of-record
|
6
|
+
Author-email: 111675679+aesthetics-of-record@users.noreply.github.com
|
7
|
+
Requires-Python: >=3.9,<3.14
|
8
|
+
Classifier: Programming Language :: Python :: 3
|
9
|
+
Classifier: Programming Language :: Python :: 3.9
|
10
|
+
Classifier: Programming Language :: Python :: 3.10
|
11
|
+
Classifier: Programming Language :: Python :: 3.11
|
12
|
+
Classifier: Programming Language :: Python :: 3.12
|
13
|
+
Classifier: Programming Language :: Python :: 3.13
|
14
|
+
Requires-Dist: aiohttp-cors (>=0.8.1,<0.9.0)
|
15
|
+
Requires-Dist: pickledb (>=1.3.2,<2.0.0)
|
16
|
+
Requires-Dist: platformdirs (>=4.3.7,<5.0.0)
|
17
|
+
Requires-Dist: pyside6 (>=6.8.2.1,<7.0.0.0)
|
18
|
+
Description-Content-Type: text/markdown
|
19
|
+
|
20
|
+
<h1 style="text-align: center; font-size: 200px; font-weight: 500;">
|
21
|
+
<i>Pyloid</i>
|
22
|
+
</h1>
|
23
|
+
|
24
|
+

|
25
|
+
|
26
|
+
<h2 align="center" style="font-size: 28px;"><b>Pyloid: Thread-Safe Desktop Apps—Unified with Any Frontend and Python Technology</b></h2>
|
27
|
+
|
28
|
+
|
29
|
+
## 💡 Key Features
|
30
|
+
|
31
|
+
- **All Frontend Frameworks** are supported
|
32
|
+
- **All features necessary** for a desktop application are implemented
|
33
|
+
- Through thread-safe implementation, it seamlessly **integrates with any Python framework**
|
34
|
+
- **RPC** between Python and JavaScript
|
35
|
+
- Single Instance Application / Multi Instance Application Support
|
36
|
+
- Multi-Window Application Support
|
37
|
+
- Clean and Intuitive Code Structure
|
38
|
+
- **Cross-Platform Support**
|
39
|
+
- Window Customization
|
40
|
+
- **Detailed Numpy-style Docstrings**
|
41
|
+
|
42
|
+
|
43
|
+
|
44
|
+
## 🚀 Getting Started
|
45
|
+
|
46
|
+
### [Prerequisites](https://docs.pyloid.com/getting-started/prerequisites)
|
47
|
+
|
48
|
+
- Node.js
|
49
|
+
- Python
|
50
|
+
- uv
|
51
|
+
|
52
|
+
### [Create Project](https://docs.pyloid.com/getting-started/create-pyloid-app)
|
53
|
+
|
54
|
+
```bash
|
55
|
+
npm create pyloid-app@latest
|
56
|
+
```
|
57
|
+
|
58
|
+
## Documentation 📚
|
59
|
+
|
60
|
+
[Pyloid Documentation](https://docs.pyloid.com/)
|
61
|
+
|
62
|
+
## License
|
63
|
+
|
64
|
+
This project is licensed under the terms of the Apache License 2.0. See the [LICENSE](./LICENSE) file for details.
|
65
|
+
|
66
|
+
This project uses PySide6, which is licensed under the LGPL (Lesser General Public License).
|
67
|
+
|
68
|
+
## Contributing 🤝
|
69
|
+
|
70
|
+
⚙
|
71
|
+
|
72
|
+
## Issues
|
73
|
+
|
74
|
+
If you encounter any issues or have suggestions for improvements, please open an issue on the [GitHub repository](https://github.com/Pyloid/pyloid/issues).
|
75
|
+
|
pyloid-0.23.16/README.md
ADDED
@@ -0,0 +1,55 @@
|
|
1
|
+
<h1 style="text-align: center; font-size: 200px; font-weight: 500;">
|
2
|
+
<i>Pyloid</i>
|
3
|
+
</h1>
|
4
|
+
|
5
|
+

|
6
|
+
|
7
|
+
<h2 align="center" style="font-size: 28px;"><b>Pyloid: Thread-Safe Desktop Apps—Unified with Any Frontend and Python Technology</b></h2>
|
8
|
+
|
9
|
+
|
10
|
+
## 💡 Key Features
|
11
|
+
|
12
|
+
- **All Frontend Frameworks** are supported
|
13
|
+
- **All features necessary** for a desktop application are implemented
|
14
|
+
- Through thread-safe implementation, it seamlessly **integrates with any Python framework**
|
15
|
+
- **RPC** between Python and JavaScript
|
16
|
+
- Single Instance Application / Multi Instance Application Support
|
17
|
+
- Multi-Window Application Support
|
18
|
+
- Clean and Intuitive Code Structure
|
19
|
+
- **Cross-Platform Support**
|
20
|
+
- Window Customization
|
21
|
+
- **Detailed Numpy-style Docstrings**
|
22
|
+
|
23
|
+
|
24
|
+
|
25
|
+
## 🚀 Getting Started
|
26
|
+
|
27
|
+
### [Prerequisites](https://docs.pyloid.com/getting-started/prerequisites)
|
28
|
+
|
29
|
+
- Node.js
|
30
|
+
- Python
|
31
|
+
- uv
|
32
|
+
|
33
|
+
### [Create Project](https://docs.pyloid.com/getting-started/create-pyloid-app)
|
34
|
+
|
35
|
+
```bash
|
36
|
+
npm create pyloid-app@latest
|
37
|
+
```
|
38
|
+
|
39
|
+
## Documentation 📚
|
40
|
+
|
41
|
+
[Pyloid Documentation](https://docs.pyloid.com/)
|
42
|
+
|
43
|
+
## License
|
44
|
+
|
45
|
+
This project is licensed under the terms of the Apache License 2.0. See the [LICENSE](./LICENSE) file for details.
|
46
|
+
|
47
|
+
This project uses PySide6, which is licensed under the LGPL (Lesser General Public License).
|
48
|
+
|
49
|
+
## Contributing 🤝
|
50
|
+
|
51
|
+
⚙
|
52
|
+
|
53
|
+
## Issues
|
54
|
+
|
55
|
+
If you encounter any issues or have suggestions for improvements, please open an issue on the [GitHub repository](https://github.com/Pyloid/pyloid/issues).
|
@@ -36,13 +36,32 @@ from .store import Store
|
|
36
36
|
from .rpc import PyloidRPC
|
37
37
|
import threading
|
38
38
|
import asyncio
|
39
|
+
import signal
|
39
40
|
|
40
41
|
# software backend
|
41
42
|
os.environ["QT_QUICK_BACKEND"] = "software"
|
42
43
|
|
44
|
+
#########################################################################
|
43
45
|
# for linux debug
|
44
46
|
os.environ["QTWEBENGINE_DICTIONARIES_PATH"] = "/"
|
45
47
|
|
48
|
+
original_set_wakeup_fd = signal.set_wakeup_fd
|
49
|
+
original_signal = signal.signal
|
50
|
+
|
51
|
+
def safe_set_wakeup_fd(fd, *args, **kwargs):
|
52
|
+
if threading.current_thread() is threading.main_thread():
|
53
|
+
return original_set_wakeup_fd(fd, *args, **kwargs)
|
54
|
+
return -1 # 메인 스레드가 아닌 경우 아무것도 하지 않고 -1 반환
|
55
|
+
|
56
|
+
def safe_signal(signalnum, handler):
|
57
|
+
if threading.current_thread() is threading.main_thread():
|
58
|
+
return original_signal(signalnum, handler)
|
59
|
+
return None # 메인 스레드가 아닌 경우 아무것도 하지 않음
|
60
|
+
|
61
|
+
signal.set_wakeup_fd = safe_set_wakeup_fd
|
62
|
+
signal.signal = safe_signal
|
63
|
+
#########################################################################
|
64
|
+
|
46
65
|
# for macos debug
|
47
66
|
logging.getLogger("Qt").setLevel(logging.ERROR)
|
48
67
|
|
pyloid-0.23.15/PKG-INFO
DELETED
@@ -1,97 +0,0 @@
|
|
1
|
-
Metadata-Version: 2.3
|
2
|
-
Name: pyloid
|
3
|
-
Version: 0.23.15
|
4
|
-
Summary:
|
5
|
-
Author: aesthetics-of-record
|
6
|
-
Author-email: 111675679+aesthetics-of-record@users.noreply.github.com
|
7
|
-
Requires-Python: >=3.9,<3.14
|
8
|
-
Classifier: Programming Language :: Python :: 3
|
9
|
-
Classifier: Programming Language :: Python :: 3.9
|
10
|
-
Classifier: Programming Language :: Python :: 3.10
|
11
|
-
Classifier: Programming Language :: Python :: 3.11
|
12
|
-
Classifier: Programming Language :: Python :: 3.12
|
13
|
-
Classifier: Programming Language :: Python :: 3.13
|
14
|
-
Requires-Dist: aiohttp-cors (>=0.8.1,<0.9.0)
|
15
|
-
Requires-Dist: pickledb (>=1.3.2,<2.0.0)
|
16
|
-
Requires-Dist: platformdirs (>=4.3.7,<5.0.0)
|
17
|
-
Requires-Dist: pyside6 (>=6.8.2.1,<7.0.0.0)
|
18
|
-
Description-Content-Type: text/markdown
|
19
|
-
|
20
|
-
# Pyloid 👋
|
21
|
-
|
22
|
-
Pyloid is the Python backend version of Electron and Tauri, designed to simplify desktop application development. This open-source project, built on **QtWebEngine** and **PySide6**, provides seamless integration with various Python features, making it easy to build powerful applications effortlessly.
|
23
|
-
|
24
|
-

|
25
|
-
|
26
|
-
## Why Pyloid?
|
27
|
-
|
28
|
-
With Pyloid, you can leverage the full power of Python in your desktop applications. Its simplicity and flexibility make it the perfect choice for both beginners and experienced developers looking for a Python-focused alternative to Electron or Tauri. It is especially optimized for building AI-powered desktop applications.
|
29
|
-
|
30
|
-
### Key Features 🚀
|
31
|
-
|
32
|
-
- **Web-based GUI Generation**
|
33
|
-
- **System Tray Icon Support**
|
34
|
-
- **Multi-Window Management**
|
35
|
-
- **Bridge API between Python and JavaScript**
|
36
|
-
- **Single Instance Application / Multi Instance Application Support**
|
37
|
-
- **Comprehensive Desktop App Features**
|
38
|
-
- **Clean and Intuitive Code Structure**
|
39
|
-
- **Live UI Development Experience**
|
40
|
-
- **Cross-Platform Support**
|
41
|
-
- **Integration with Various Frontend Libraries**
|
42
|
-
- **Window Customization**
|
43
|
-
- **Direct Utilization of PySide6 Features**
|
44
|
-
- **Detailed Numpy-style Docstrings**
|
45
|
-
|
46
|
-
## Documentation 📚
|
47
|
-
|
48
|
-
[Pyloid Documentation](https://docs.pyloid.com/)
|
49
|
-
|
50
|
-
### Create Project 📦
|
51
|
-
|
52
|
-
#### Creating a HTML/CSS/JS + Pyloid Project 🌐
|
53
|
-
|
54
|
-
[https://github.com/pylonic/pyloid_html_boilerplate](https://github.com/Pyloid/pyloid_html_boilerplate)
|
55
|
-
|
56
|
-
#### Creating a React + Vite + Pyloid Project ⚛️
|
57
|
-
|
58
|
-
[https://github.com/pylonic/pyloid_react_boilerplate](https://github.com/Pyloid/pyloid_react_boilerplate)
|
59
|
-
|
60
|
-
### Custom Your Boilerplate 🔨
|
61
|
-
|
62
|
-
```bash
|
63
|
-
pip install pyloid
|
64
|
-
```
|
65
|
-
|
66
|
-
Package URL: [https://pypi.org/project/pyloid/](https://pypi.org/project/pyloid/)
|
67
|
-
|
68
|
-
## Usage 🛠️
|
69
|
-
|
70
|
-
### Creating a Basic Application
|
71
|
-
|
72
|
-
```python
|
73
|
-
from pyloid import Pyloid
|
74
|
-
|
75
|
-
app = Pyloid(app_name="Pyloid-App", single_instance=True)
|
76
|
-
|
77
|
-
win = app.create_window("pyloid-example")
|
78
|
-
win.load_url("https://www.example.com")
|
79
|
-
win.show_and_focus()
|
80
|
-
|
81
|
-
app.run()
|
82
|
-
```
|
83
|
-
|
84
|
-
## License 📄
|
85
|
-
|
86
|
-
This project is licensed under the terms of the Apache License 2.0. See the [LICENSE](./LICENSE) file for details.
|
87
|
-
|
88
|
-
This project uses PySide6, which is licensed under the LGPL (Lesser General Public License).
|
89
|
-
|
90
|
-
## Contributing 🤝
|
91
|
-
|
92
|
-
Not Yet
|
93
|
-
|
94
|
-
## Issues
|
95
|
-
|
96
|
-
If you encounter any issues or have suggestions for improvements, please open an issue on the [GitHub repository](https://github.com/Pyloid/pyloid/issues).
|
97
|
-
|
pyloid-0.23.15/README.md
DELETED
@@ -1,77 +0,0 @@
|
|
1
|
-
# Pyloid 👋
|
2
|
-
|
3
|
-
Pyloid is the Python backend version of Electron and Tauri, designed to simplify desktop application development. This open-source project, built on **QtWebEngine** and **PySide6**, provides seamless integration with various Python features, making it easy to build powerful applications effortlessly.
|
4
|
-
|
5
|
-

|
6
|
-
|
7
|
-
## Why Pyloid?
|
8
|
-
|
9
|
-
With Pyloid, you can leverage the full power of Python in your desktop applications. Its simplicity and flexibility make it the perfect choice for both beginners and experienced developers looking for a Python-focused alternative to Electron or Tauri. It is especially optimized for building AI-powered desktop applications.
|
10
|
-
|
11
|
-
### Key Features 🚀
|
12
|
-
|
13
|
-
- **Web-based GUI Generation**
|
14
|
-
- **System Tray Icon Support**
|
15
|
-
- **Multi-Window Management**
|
16
|
-
- **Bridge API between Python and JavaScript**
|
17
|
-
- **Single Instance Application / Multi Instance Application Support**
|
18
|
-
- **Comprehensive Desktop App Features**
|
19
|
-
- **Clean and Intuitive Code Structure**
|
20
|
-
- **Live UI Development Experience**
|
21
|
-
- **Cross-Platform Support**
|
22
|
-
- **Integration with Various Frontend Libraries**
|
23
|
-
- **Window Customization**
|
24
|
-
- **Direct Utilization of PySide6 Features**
|
25
|
-
- **Detailed Numpy-style Docstrings**
|
26
|
-
|
27
|
-
## Documentation 📚
|
28
|
-
|
29
|
-
[Pyloid Documentation](https://docs.pyloid.com/)
|
30
|
-
|
31
|
-
### Create Project 📦
|
32
|
-
|
33
|
-
#### Creating a HTML/CSS/JS + Pyloid Project 🌐
|
34
|
-
|
35
|
-
[https://github.com/pylonic/pyloid_html_boilerplate](https://github.com/Pyloid/pyloid_html_boilerplate)
|
36
|
-
|
37
|
-
#### Creating a React + Vite + Pyloid Project ⚛️
|
38
|
-
|
39
|
-
[https://github.com/pylonic/pyloid_react_boilerplate](https://github.com/Pyloid/pyloid_react_boilerplate)
|
40
|
-
|
41
|
-
### Custom Your Boilerplate 🔨
|
42
|
-
|
43
|
-
```bash
|
44
|
-
pip install pyloid
|
45
|
-
```
|
46
|
-
|
47
|
-
Package URL: [https://pypi.org/project/pyloid/](https://pypi.org/project/pyloid/)
|
48
|
-
|
49
|
-
## Usage 🛠️
|
50
|
-
|
51
|
-
### Creating a Basic Application
|
52
|
-
|
53
|
-
```python
|
54
|
-
from pyloid import Pyloid
|
55
|
-
|
56
|
-
app = Pyloid(app_name="Pyloid-App", single_instance=True)
|
57
|
-
|
58
|
-
win = app.create_window("pyloid-example")
|
59
|
-
win.load_url("https://www.example.com")
|
60
|
-
win.show_and_focus()
|
61
|
-
|
62
|
-
app.run()
|
63
|
-
```
|
64
|
-
|
65
|
-
## License 📄
|
66
|
-
|
67
|
-
This project is licensed under the terms of the Apache License 2.0. See the [LICENSE](./LICENSE) file for details.
|
68
|
-
|
69
|
-
This project uses PySide6, which is licensed under the LGPL (Lesser General Public License).
|
70
|
-
|
71
|
-
## Contributing 🤝
|
72
|
-
|
73
|
-
Not Yet
|
74
|
-
|
75
|
-
## Issues
|
76
|
-
|
77
|
-
If you encounter any issues or have suggestions for improvements, please open an issue on the [GitHub repository](https://github.com/Pyloid/pyloid/issues).
|
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
|