cubething_psync 0.1.0.dev3__tar.gz → 0.1.0.dev4__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.
- cubething_psync-0.1.0.dev4/PKG-INFO +36 -0
- cubething_psync-0.1.0.dev4/README.md +19 -0
- {cubething_psync-0.1.0.dev3 → cubething_psync-0.1.0.dev4}/pyproject.toml +3 -3
- cubething_psync-0.1.0.dev4/src/cubething_psync.egg-info/PKG-INFO +36 -0
- cubething_psync-0.1.0.dev4/src/cubething_psync.egg-info/entry_points.txt +3 -0
- cubething_psync-0.1.0.dev3/PKG-INFO +0 -83
- cubething_psync-0.1.0.dev3/README.md +0 -66
- cubething_psync-0.1.0.dev3/src/cubething_psync.egg-info/PKG-INFO +0 -83
- cubething_psync-0.1.0.dev3/src/cubething_psync.egg-info/entry_points.txt +0 -3
- {cubething_psync-0.1.0.dev3 → cubething_psync-0.1.0.dev4}/LICENSE +0 -0
- {cubething_psync-0.1.0.dev3 → cubething_psync-0.1.0.dev4}/setup.cfg +0 -0
- {cubething_psync-0.1.0.dev3 → cubething_psync-0.1.0.dev4}/src/client/__init__.py +0 -0
- {cubething_psync-0.1.0.dev3 → cubething_psync-0.1.0.dev4}/src/client/__main__.py +0 -0
- {cubething_psync-0.1.0.dev3 → cubething_psync-0.1.0.dev4}/src/client/args.py +0 -0
- {cubething_psync-0.1.0.dev3 → cubething_psync-0.1.0.dev4}/src/client/main.py +0 -0
- {cubething_psync-0.1.0.dev3 → cubething_psync-0.1.0.dev4}/src/common/__init__.py +0 -0
- {cubething_psync-0.1.0.dev3 → cubething_psync-0.1.0.dev4}/src/common/data.py +0 -0
- {cubething_psync-0.1.0.dev3 → cubething_psync-0.1.0.dev4}/src/common/log.py +0 -0
- {cubething_psync-0.1.0.dev3 → cubething_psync-0.1.0.dev4}/src/cubething_psync.egg-info/SOURCES.txt +0 -0
- {cubething_psync-0.1.0.dev3 → cubething_psync-0.1.0.dev4}/src/cubething_psync.egg-info/dependency_links.txt +0 -0
- {cubething_psync-0.1.0.dev3 → cubething_psync-0.1.0.dev4}/src/cubething_psync.egg-info/requires.txt +0 -0
- {cubething_psync-0.1.0.dev3 → cubething_psync-0.1.0.dev4}/src/cubething_psync.egg-info/top_level.txt +0 -0
- {cubething_psync-0.1.0.dev3 → cubething_psync-0.1.0.dev4}/src/server/__init__.py +0 -0
- {cubething_psync-0.1.0.dev3 → cubething_psync-0.1.0.dev4}/src/server/__main__.py +0 -0
- {cubething_psync-0.1.0.dev3 → cubething_psync-0.1.0.dev4}/src/server/main.py +0 -0
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: cubething_psync
|
|
3
|
+
Version: 0.1.0.dev4
|
|
4
|
+
Summary: Simple project synchronization tool.
|
|
5
|
+
Author-email: ada mandala <ada@cubething.dev>
|
|
6
|
+
License-Expression: MIT
|
|
7
|
+
Classifier: Programming Language :: Python :: 3
|
|
8
|
+
Classifier: Operating System :: Unix
|
|
9
|
+
Requires-Python: >=3.13
|
|
10
|
+
Description-Content-Type: text/markdown
|
|
11
|
+
License-File: LICENSE
|
|
12
|
+
Requires-Dist: build>=1.3.0
|
|
13
|
+
Requires-Dist: loguru>=0.7.3
|
|
14
|
+
Requires-Dist: setuptools>=80.9.0
|
|
15
|
+
Requires-Dist: websockets>=15.0.1
|
|
16
|
+
Dynamic: license-file
|
|
17
|
+
|
|
18
|
+
<div align="center">
|
|
19
|
+
<img src="./docs/static/logo.png" height=250 />
|
|
20
|
+
</div>
|
|
21
|
+
|
|
22
|
+
[](https://psync.readthedocs.io/en/latest)
|
|
23
|
+
|
|
24
|
+
**psync** is a simple tool to sync your project over SSH. It consists of a
|
|
25
|
+
client and server.
|
|
26
|
+
|
|
27
|
+
## Features
|
|
28
|
+
|
|
29
|
+
- Project syncing with rsync (requires ssh)
|
|
30
|
+
- Execute project binary on daemon host
|
|
31
|
+
- Real-time logging based on websockets
|
|
32
|
+
- Natural Ctrl-C / SIGINT handling on client and server
|
|
33
|
+
- SSL authentication
|
|
34
|
+
- Containerized for easy deployment
|
|
35
|
+
|
|
36
|
+
For usage tips, please [read the docs.](https://psync.readthedocs.io/en/latest/)
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
<div align="center">
|
|
2
|
+
<img src="./docs/static/logo.png" height=250 />
|
|
3
|
+
</div>
|
|
4
|
+
|
|
5
|
+
[](https://psync.readthedocs.io/en/latest)
|
|
6
|
+
|
|
7
|
+
**psync** is a simple tool to sync your project over SSH. It consists of a
|
|
8
|
+
client and server.
|
|
9
|
+
|
|
10
|
+
## Features
|
|
11
|
+
|
|
12
|
+
- Project syncing with rsync (requires ssh)
|
|
13
|
+
- Execute project binary on daemon host
|
|
14
|
+
- Real-time logging based on websockets
|
|
15
|
+
- Natural Ctrl-C / SIGINT handling on client and server
|
|
16
|
+
- SSL authentication
|
|
17
|
+
- Containerized for easy deployment
|
|
18
|
+
|
|
19
|
+
For usage tips, please [read the docs.](https://psync.readthedocs.io/en/latest/)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "cubething_psync"
|
|
3
|
-
version = "0.1.0.
|
|
3
|
+
version = "0.1.0.dev4"
|
|
4
4
|
description = "Simple project synchronization tool."
|
|
5
5
|
authors = [{name = "ada mandala", email="ada@cubething.dev"}]
|
|
6
6
|
readme = "README.md"
|
|
@@ -27,5 +27,5 @@ build-backend = "setuptools.build_meta"
|
|
|
27
27
|
where= ["src"]
|
|
28
28
|
|
|
29
29
|
[project.scripts]
|
|
30
|
-
|
|
31
|
-
|
|
30
|
+
psync-server = "server.main:main"
|
|
31
|
+
psync-client = "client.main:main"
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: cubething_psync
|
|
3
|
+
Version: 0.1.0.dev4
|
|
4
|
+
Summary: Simple project synchronization tool.
|
|
5
|
+
Author-email: ada mandala <ada@cubething.dev>
|
|
6
|
+
License-Expression: MIT
|
|
7
|
+
Classifier: Programming Language :: Python :: 3
|
|
8
|
+
Classifier: Operating System :: Unix
|
|
9
|
+
Requires-Python: >=3.13
|
|
10
|
+
Description-Content-Type: text/markdown
|
|
11
|
+
License-File: LICENSE
|
|
12
|
+
Requires-Dist: build>=1.3.0
|
|
13
|
+
Requires-Dist: loguru>=0.7.3
|
|
14
|
+
Requires-Dist: setuptools>=80.9.0
|
|
15
|
+
Requires-Dist: websockets>=15.0.1
|
|
16
|
+
Dynamic: license-file
|
|
17
|
+
|
|
18
|
+
<div align="center">
|
|
19
|
+
<img src="./docs/static/logo.png" height=250 />
|
|
20
|
+
</div>
|
|
21
|
+
|
|
22
|
+
[](https://psync.readthedocs.io/en/latest)
|
|
23
|
+
|
|
24
|
+
**psync** is a simple tool to sync your project over SSH. It consists of a
|
|
25
|
+
client and server.
|
|
26
|
+
|
|
27
|
+
## Features
|
|
28
|
+
|
|
29
|
+
- Project syncing with rsync (requires ssh)
|
|
30
|
+
- Execute project binary on daemon host
|
|
31
|
+
- Real-time logging based on websockets
|
|
32
|
+
- Natural Ctrl-C / SIGINT handling on client and server
|
|
33
|
+
- SSL authentication
|
|
34
|
+
- Containerized for easy deployment
|
|
35
|
+
|
|
36
|
+
For usage tips, please [read the docs.](https://psync.readthedocs.io/en/latest/)
|
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
Metadata-Version: 2.4
|
|
2
|
-
Name: cubething_psync
|
|
3
|
-
Version: 0.1.0.dev3
|
|
4
|
-
Summary: Simple project synchronization tool.
|
|
5
|
-
Author-email: ada mandala <ada@cubething.dev>
|
|
6
|
-
License-Expression: MIT
|
|
7
|
-
Classifier: Programming Language :: Python :: 3
|
|
8
|
-
Classifier: Operating System :: Unix
|
|
9
|
-
Requires-Python: >=3.13
|
|
10
|
-
Description-Content-Type: text/markdown
|
|
11
|
-
License-File: LICENSE
|
|
12
|
-
Requires-Dist: build>=1.3.0
|
|
13
|
-
Requires-Dist: loguru>=0.7.3
|
|
14
|
-
Requires-Dist: setuptools>=80.9.0
|
|
15
|
-
Requires-Dist: websockets>=15.0.1
|
|
16
|
-
Dynamic: license-file
|
|
17
|
-
|
|
18
|
-
<div align="center">
|
|
19
|
-
<img src="./docs/static/logo.png" height=250 />
|
|
20
|
-
</div>
|
|
21
|
-
|
|
22
|
-
**psync** is a simple tool to sync your project over SSH. It consists of a
|
|
23
|
-
client and server.
|
|
24
|
-
|
|
25
|
-
## Features
|
|
26
|
-
|
|
27
|
-
- Project syncing with rsync (requires ssh)
|
|
28
|
-
- Execute project binary on daemon host
|
|
29
|
-
- Real-time logging based on websockets
|
|
30
|
-
- Natural Ctrl-C / SIGINT handling on client and server
|
|
31
|
-
- SSL authentication
|
|
32
|
-
- Containerized for easy deployment
|
|
33
|
-
|
|
34
|
-
## Example usecase
|
|
35
|
-
|
|
36
|
-
I am working on a [game
|
|
37
|
-
project](https://cubething.dev/qproj/general-introduction). Compiling a game
|
|
38
|
-
written in Rust requires a lot of CPU power, but I want to be able to build from
|
|
39
|
-
my low-end laptop. I already have my machines hooked up to SSH into each other.
|
|
40
|
-
So, I set up the client on my laptop, use my editor to SSH into my desktop
|
|
41
|
-
server, and sync the build assets from the desktop to the laptop using psync.
|
|
42
|
-
**Note that while the desktop is the server _for the editor_, it is the client
|
|
43
|
-
for psync.** Similar for the laptop.
|
|
44
|
-
|
|
45
|
-
## Usage
|
|
46
|
-
|
|
47
|
-
When you want to run the project, you must build it and then execute the psync
|
|
48
|
-
client. The client will sync the files and send a start message to the server.
|
|
49
|
-
This starts up the synced executable on the server machine. The server will send
|
|
50
|
-
logs and listen for events, e.g. shutdown messages (sent with SIGINT).
|
|
51
|
-
|
|
52
|
-
### Server
|
|
53
|
-
|
|
54
|
-
The server should be set up on the machine which is to _recieve_
|
|
55
|
-
the files. This corresponds to the laptop in the example usecase.
|
|
56
|
-
|
|
57
|
-
Ideally you should run the server as a daemon, for example using the systemd
|
|
58
|
-
config included in this repository.
|
|
59
|
-
|
|
60
|
-
### Client
|
|
61
|
-
|
|
62
|
-
The client should be invoked on the machine which is to _send_ the files. This
|
|
63
|
-
corresponds to the desktop in the example usecase. After every build, the client
|
|
64
|
-
should be run. The client will then sync the files. Once this is done, recieve
|
|
65
|
-
logs from the server.
|
|
66
|
-
|
|
67
|
-
## Security
|
|
68
|
-
|
|
69
|
-
Please generate an SSL certificate. You can use the following one-line if you'd
|
|
70
|
-
like.
|
|
71
|
-
|
|
72
|
-
```sh
|
|
73
|
-
openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -sha256 -days 3650 -nodes \
|
|
74
|
-
-subj "/C=XX/ST=StateName/L=CityName/O=CompanyName/OU=CompanySectionName/CN=localhost" \
|
|
75
|
-
-addext "subjectAltName=DNS:localhost,DNS:psync-server,IP:127.0.0.1"
|
|
76
|
-
```
|
|
77
|
-
|
|
78
|
-
Note that this sets an alternate name as psync-server. This will be useful when
|
|
79
|
-
deploying to docker.
|
|
80
|
-
|
|
81
|
-
I recommend that you _do not expose this over the wire._ I am only using it over
|
|
82
|
-
my local network. If you intend on serving this over the WAN, you should use
|
|
83
|
-
something like [ZeroTier](https://www.zerotier.com) to secure your connection.
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
<div align="center">
|
|
2
|
-
<img src="./docs/static/logo.png" height=250 />
|
|
3
|
-
</div>
|
|
4
|
-
|
|
5
|
-
**psync** is a simple tool to sync your project over SSH. It consists of a
|
|
6
|
-
client and server.
|
|
7
|
-
|
|
8
|
-
## Features
|
|
9
|
-
|
|
10
|
-
- Project syncing with rsync (requires ssh)
|
|
11
|
-
- Execute project binary on daemon host
|
|
12
|
-
- Real-time logging based on websockets
|
|
13
|
-
- Natural Ctrl-C / SIGINT handling on client and server
|
|
14
|
-
- SSL authentication
|
|
15
|
-
- Containerized for easy deployment
|
|
16
|
-
|
|
17
|
-
## Example usecase
|
|
18
|
-
|
|
19
|
-
I am working on a [game
|
|
20
|
-
project](https://cubething.dev/qproj/general-introduction). Compiling a game
|
|
21
|
-
written in Rust requires a lot of CPU power, but I want to be able to build from
|
|
22
|
-
my low-end laptop. I already have my machines hooked up to SSH into each other.
|
|
23
|
-
So, I set up the client on my laptop, use my editor to SSH into my desktop
|
|
24
|
-
server, and sync the build assets from the desktop to the laptop using psync.
|
|
25
|
-
**Note that while the desktop is the server _for the editor_, it is the client
|
|
26
|
-
for psync.** Similar for the laptop.
|
|
27
|
-
|
|
28
|
-
## Usage
|
|
29
|
-
|
|
30
|
-
When you want to run the project, you must build it and then execute the psync
|
|
31
|
-
client. The client will sync the files and send a start message to the server.
|
|
32
|
-
This starts up the synced executable on the server machine. The server will send
|
|
33
|
-
logs and listen for events, e.g. shutdown messages (sent with SIGINT).
|
|
34
|
-
|
|
35
|
-
### Server
|
|
36
|
-
|
|
37
|
-
The server should be set up on the machine which is to _recieve_
|
|
38
|
-
the files. This corresponds to the laptop in the example usecase.
|
|
39
|
-
|
|
40
|
-
Ideally you should run the server as a daemon, for example using the systemd
|
|
41
|
-
config included in this repository.
|
|
42
|
-
|
|
43
|
-
### Client
|
|
44
|
-
|
|
45
|
-
The client should be invoked on the machine which is to _send_ the files. This
|
|
46
|
-
corresponds to the desktop in the example usecase. After every build, the client
|
|
47
|
-
should be run. The client will then sync the files. Once this is done, recieve
|
|
48
|
-
logs from the server.
|
|
49
|
-
|
|
50
|
-
## Security
|
|
51
|
-
|
|
52
|
-
Please generate an SSL certificate. You can use the following one-line if you'd
|
|
53
|
-
like.
|
|
54
|
-
|
|
55
|
-
```sh
|
|
56
|
-
openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -sha256 -days 3650 -nodes \
|
|
57
|
-
-subj "/C=XX/ST=StateName/L=CityName/O=CompanyName/OU=CompanySectionName/CN=localhost" \
|
|
58
|
-
-addext "subjectAltName=DNS:localhost,DNS:psync-server,IP:127.0.0.1"
|
|
59
|
-
```
|
|
60
|
-
|
|
61
|
-
Note that this sets an alternate name as psync-server. This will be useful when
|
|
62
|
-
deploying to docker.
|
|
63
|
-
|
|
64
|
-
I recommend that you _do not expose this over the wire._ I am only using it over
|
|
65
|
-
my local network. If you intend on serving this over the WAN, you should use
|
|
66
|
-
something like [ZeroTier](https://www.zerotier.com) to secure your connection.
|
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
Metadata-Version: 2.4
|
|
2
|
-
Name: cubething_psync
|
|
3
|
-
Version: 0.1.0.dev3
|
|
4
|
-
Summary: Simple project synchronization tool.
|
|
5
|
-
Author-email: ada mandala <ada@cubething.dev>
|
|
6
|
-
License-Expression: MIT
|
|
7
|
-
Classifier: Programming Language :: Python :: 3
|
|
8
|
-
Classifier: Operating System :: Unix
|
|
9
|
-
Requires-Python: >=3.13
|
|
10
|
-
Description-Content-Type: text/markdown
|
|
11
|
-
License-File: LICENSE
|
|
12
|
-
Requires-Dist: build>=1.3.0
|
|
13
|
-
Requires-Dist: loguru>=0.7.3
|
|
14
|
-
Requires-Dist: setuptools>=80.9.0
|
|
15
|
-
Requires-Dist: websockets>=15.0.1
|
|
16
|
-
Dynamic: license-file
|
|
17
|
-
|
|
18
|
-
<div align="center">
|
|
19
|
-
<img src="./docs/static/logo.png" height=250 />
|
|
20
|
-
</div>
|
|
21
|
-
|
|
22
|
-
**psync** is a simple tool to sync your project over SSH. It consists of a
|
|
23
|
-
client and server.
|
|
24
|
-
|
|
25
|
-
## Features
|
|
26
|
-
|
|
27
|
-
- Project syncing with rsync (requires ssh)
|
|
28
|
-
- Execute project binary on daemon host
|
|
29
|
-
- Real-time logging based on websockets
|
|
30
|
-
- Natural Ctrl-C / SIGINT handling on client and server
|
|
31
|
-
- SSL authentication
|
|
32
|
-
- Containerized for easy deployment
|
|
33
|
-
|
|
34
|
-
## Example usecase
|
|
35
|
-
|
|
36
|
-
I am working on a [game
|
|
37
|
-
project](https://cubething.dev/qproj/general-introduction). Compiling a game
|
|
38
|
-
written in Rust requires a lot of CPU power, but I want to be able to build from
|
|
39
|
-
my low-end laptop. I already have my machines hooked up to SSH into each other.
|
|
40
|
-
So, I set up the client on my laptop, use my editor to SSH into my desktop
|
|
41
|
-
server, and sync the build assets from the desktop to the laptop using psync.
|
|
42
|
-
**Note that while the desktop is the server _for the editor_, it is the client
|
|
43
|
-
for psync.** Similar for the laptop.
|
|
44
|
-
|
|
45
|
-
## Usage
|
|
46
|
-
|
|
47
|
-
When you want to run the project, you must build it and then execute the psync
|
|
48
|
-
client. The client will sync the files and send a start message to the server.
|
|
49
|
-
This starts up the synced executable on the server machine. The server will send
|
|
50
|
-
logs and listen for events, e.g. shutdown messages (sent with SIGINT).
|
|
51
|
-
|
|
52
|
-
### Server
|
|
53
|
-
|
|
54
|
-
The server should be set up on the machine which is to _recieve_
|
|
55
|
-
the files. This corresponds to the laptop in the example usecase.
|
|
56
|
-
|
|
57
|
-
Ideally you should run the server as a daemon, for example using the systemd
|
|
58
|
-
config included in this repository.
|
|
59
|
-
|
|
60
|
-
### Client
|
|
61
|
-
|
|
62
|
-
The client should be invoked on the machine which is to _send_ the files. This
|
|
63
|
-
corresponds to the desktop in the example usecase. After every build, the client
|
|
64
|
-
should be run. The client will then sync the files. Once this is done, recieve
|
|
65
|
-
logs from the server.
|
|
66
|
-
|
|
67
|
-
## Security
|
|
68
|
-
|
|
69
|
-
Please generate an SSL certificate. You can use the following one-line if you'd
|
|
70
|
-
like.
|
|
71
|
-
|
|
72
|
-
```sh
|
|
73
|
-
openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -sha256 -days 3650 -nodes \
|
|
74
|
-
-subj "/C=XX/ST=StateName/L=CityName/O=CompanyName/OU=CompanySectionName/CN=localhost" \
|
|
75
|
-
-addext "subjectAltName=DNS:localhost,DNS:psync-server,IP:127.0.0.1"
|
|
76
|
-
```
|
|
77
|
-
|
|
78
|
-
Note that this sets an alternate name as psync-server. This will be useful when
|
|
79
|
-
deploying to docker.
|
|
80
|
-
|
|
81
|
-
I recommend that you _do not expose this over the wire._ I am only using it over
|
|
82
|
-
my local network. If you intend on serving this over the WAN, you should use
|
|
83
|
-
something like [ZeroTier](https://www.zerotier.com) to secure your connection.
|
|
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
|
{cubething_psync-0.1.0.dev3 → cubething_psync-0.1.0.dev4}/src/cubething_psync.egg-info/SOURCES.txt
RENAMED
|
File without changes
|
|
File without changes
|
{cubething_psync-0.1.0.dev3 → cubething_psync-0.1.0.dev4}/src/cubething_psync.egg-info/requires.txt
RENAMED
|
File without changes
|
{cubething_psync-0.1.0.dev3 → cubething_psync-0.1.0.dev4}/src/cubething_psync.egg-info/top_level.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|