Skip to main content

Repeatedly synchronize local workspace with a (slow) remote machine

Project description

LiveSync

Repeatedly synchronize local workspace with a (slow) remote machine.

Use Case

VS Code Remote Development and similar tools are great as long as your remote machine is powerfull enough. But if your target is a Raspberry Pi, Jetson Nano/Xavier/Orin, Beagle Board or similar it feels like coding in yelly. Especcially if you run powerful extensions like Pylance. LiveSync solves this by watching your code and just copying the changed files to the slow remote machine. It works best if you have some kind of relaoding meachism in place on the target. We obviously recommend NiceGUI.

Install

python3 -m pip install livesync

Usage

cd <my_foder_with_vscode_workspace>
livesync <username>@<host>

LiveSync uses rsync (ssh) to copy the files so the <username>@<host> must be accessable via ssh (ideally by key not password or passphrase, because it will be called over and over).

Press CTRL-C to abort the sync.

Notes

  • We suggest you have some auto-reloading in place on the (slow) target machine. Like NiceGUI.
  • Only one user can run LiveSync at a time on a target host.
  • By default .git/ folders are not synced.
  • All files and dirs from the .gitignore of any source directory are also excluded from sync.
  • You can create a .synignore file in any source directory to skip additional files and dirs from syncing.

Development

git clone git@github.com:zauberzeug/livesync.git
cd livesync
python3 -m pip uninstall livesync # remove previous installed version
python3 -m pip install -e .

Now you can change the code and still use the livesync command from your $PATH variable.

Releases

Just create and push a new tag with the new version name.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

LiveSync-0.1.2.tar.gz (4.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

LiveSync-0.1.2-py3-none-any.whl (5.3 kB view details)

Uploaded Python 3

File details

Details for the file LiveSync-0.1.2.tar.gz.

File metadata

  • Download URL: LiveSync-0.1.2.tar.gz
  • Upload date:
  • Size: 4.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for LiveSync-0.1.2.tar.gz
Algorithm Hash digest
SHA256 03fc2e20cdc06b6ad249b77a076a63a5277b75def474b9228ef42372f5c052ce
MD5 5b494048a183418b9851af46a17a499f
BLAKE2b-256 cf9b1df66c2303292cb2c58bd77922a167389b2160e525f9fb69a71715e56fca

See more details on using hashes here.

File details

Details for the file LiveSync-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: LiveSync-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 5.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for LiveSync-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 cdfee67ade3822dd706d932bbdc85d566bbccd99cfbfd8fd8292ea3f0aba4573
MD5 12699466e89ffc0d9f29598f53befb25
BLAKE2b-256 a54a12ca5905a869d82f7bdc7f36d71e184935e0fc11f5d9032e982cade354d9

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page