remotedesktop 0.0.1__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.
@@ -0,0 +1,3 @@
1
+ """Remote desktop client/server for Windows computers on the same LAN."""
2
+
3
+ __version__ = "0.0.1"
@@ -0,0 +1,27 @@
1
+ """Client GUI application: discovers servers on the LAN, connects to one,
2
+ and shows its desktop in a viewer widget."""
3
+
4
+ import sys
5
+
6
+ from PySide6.QtWidgets import QApplication, QMainWindow
7
+
8
+ from remotedesktop.viewer import ViewerWidget
9
+
10
+
11
+ class ClientWindow(QMainWindow):
12
+ def __init__(self) -> None:
13
+ super().__init__()
14
+ self.setWindowTitle("Remote Desktop Client")
15
+ self.viewer = ViewerWidget(self)
16
+ self.setCentralWidget(self.viewer)
17
+
18
+
19
+ def main() -> None:
20
+ app = QApplication(sys.argv)
21
+ window = ClientWindow()
22
+ window.show()
23
+ raise SystemExit(app.exec())
24
+
25
+
26
+ if __name__ == "__main__":
27
+ main()
@@ -0,0 +1,27 @@
1
+ """Server GUI application: shares this computer's desktop with permitted
2
+ clients and prompts the user to approve first-time connections."""
3
+
4
+ import sys
5
+
6
+ from PySide6.QtCore import Qt
7
+ from PySide6.QtWidgets import QApplication, QLabel, QMainWindow
8
+
9
+
10
+ class ServerWindow(QMainWindow):
11
+ def __init__(self) -> None:
12
+ super().__init__()
13
+ self.setWindowTitle("Remote Desktop Server")
14
+ self.setCentralWidget(
15
+ QLabel("Not sharing", alignment=Qt.AlignmentFlag.AlignCenter)
16
+ )
17
+
18
+
19
+ def main() -> None:
20
+ app = QApplication(sys.argv)
21
+ window = ServerWindow()
22
+ window.show()
23
+ raise SystemExit(app.exec())
24
+
25
+
26
+ if __name__ == "__main__":
27
+ main()
@@ -0,0 +1,15 @@
1
+ """Viewer widget that displays the remote desktop inside the client GUI."""
2
+
3
+ from PySide6.QtCore import Qt
4
+ from PySide6.QtWidgets import QLabel, QVBoxLayout, QWidget
5
+
6
+
7
+ class ViewerWidget(QWidget):
8
+ """Displays the remote desktop screen and will forward keyboard, mouse,
9
+ and clipboard events to the connected server."""
10
+
11
+ def __init__(self, parent: QWidget | None = None) -> None:
12
+ super().__init__(parent)
13
+ self._placeholder = QLabel("Not connected", alignment=Qt.AlignmentFlag.AlignCenter)
14
+ layout = QVBoxLayout(self)
15
+ layout.addWidget(self._placeholder)
@@ -0,0 +1,35 @@
1
+ Metadata-Version: 2.4
2
+ Name: remotedesktop
3
+ Version: 0.0.1
4
+ Summary: Remote desktop client/server for Windows computers on the same LAN, with autodiscovery. Provides screen, keyboard, mouse, and clipboard sharing without RDP or Microsoft authentication.
5
+ Author-email: James Abel <j@abel.co>
6
+ License-Expression: MIT
7
+ License-File: LICENSE
8
+ Classifier: Development Status :: 2 - Pre-Alpha
9
+ Classifier: Environment :: Win32 (MS Windows)
10
+ Classifier: Intended Audience :: End Users/Desktop
11
+ Classifier: Operating System :: Microsoft :: Windows
12
+ Classifier: Programming Language :: Python :: 3
13
+ Classifier: Topic :: System :: Networking
14
+ Requires-Python: >=3.14
15
+ Requires-Dist: pyside6>=6.11.1
16
+ Description-Content-Type: text/markdown
17
+
18
+ # Remote Desktop
19
+
20
+ This is a Python client/server application that provide remote desktop
21
+ for Windows computers on the same LAN. It offers autodiscovery and
22
+ connection.
23
+
24
+ Connections to the desktop screen, keyboard, mouse, and clipboard are made.
25
+ Other connections are not provide, such as shared drives, devices, nor
26
+ multimedia (e.g., audio)
27
+
28
+ The client and server apps are both run on their respective computers.
29
+ The client requests connection to the server and for the initial connection
30
+ the user on the server side must permit the connection. After that,
31
+ the client can connect to the server whenever the server is running
32
+ without the server having to provide permission.
33
+
34
+ This does not use Windows RDP nor rely on any Microsoft based authentication.
35
+
@@ -0,0 +1,9 @@
1
+ remotedesktop/__init__.py,sha256=o8NcHkRwHRLC2m9Nwu2mfuUTeIjgLyk6OpFHGAZm9I0,97
2
+ remotedesktop/client.py,sha256=3VCRV6F6VHQvRFjUhftPkykKYcBXhKB6SFq8XVGD2vg,640
3
+ remotedesktop/server.py,sha256=w-CcGyIGUL6aJqdoXV8Q56qhf_jCs2zvvJ7p0BvTFOM,683
4
+ remotedesktop/viewer.py,sha256=Og7HBF2_2rtBPcM4I2HtslCS_iggDhT5tdDnun1OFy0,594
5
+ remotedesktop-0.0.1.dist-info/METADATA,sha256=S5Onvc-7qYel1HgSFkSqYOxvfzPkKoHvx82CWYuaAb4,1476
6
+ remotedesktop-0.0.1.dist-info/WHEEL,sha256=lCkmxWfQsSc9CfIClYeavTdQeEX2toPqufh9gI35EQA,87
7
+ remotedesktop-0.0.1.dist-info/entry_points.txt,sha256=MmHDIIsykHkOwLf_IbGweGDFA2BuITI8_lUXsMpihcg,112
8
+ remotedesktop-0.0.1.dist-info/licenses/LICENSE,sha256=6rWgMfDohGLDuJ0UFOyLphM28Nn0fuN26MczIQldMkc,1067
9
+ remotedesktop-0.0.1.dist-info/RECORD,,
@@ -0,0 +1,4 @@
1
+ Wheel-Version: 1.0
2
+ Generator: hatchling 1.31.0
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
@@ -0,0 +1,3 @@
1
+ [gui_scripts]
2
+ remotedesktop-client = remotedesktop.client:main
3
+ remotedesktop-server = remotedesktop.server:main
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 James Abel
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.