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 powerful enough. But if your target is a Raspberry Pi, Jetson Nano/Xavier/Orin, Beagle Board or similar, it feels like coding in yelly. Especially 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 reloading mechanism in place on the target. We obviously recommend NiceGUI.

Install

python3 -m pip install livesync

Usage

cd <my_folder_with_vscode_workspace>
livesync <username>@<host>

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

Press CTRL-C to abort the synchronization.

Notes

  • We suggest you have some auto-reloading in place on the (slow) target machine, like NiceGUI.
  • Only one user per target host can run LiveSync at a time.
  • By default .git/ folders are not synchronized.
  • All files and directories from the .gitignore of any source directory are also excluded from synchronization.
  • You can create a .syncignore file in any source directory to skip additional files and directories 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.2.1.tar.gz (5.1 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.2.1-py3-none-any.whl (6.4 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for LiveSync-0.2.1.tar.gz
Algorithm Hash digest
SHA256 bf517e88fc3231ffef3bdcc28113f4d676b660d7c3614e6fbdb8f22ce26c327b
MD5 65d96bac13ab7a914c591c9d6ef669de
BLAKE2b-256 c210fb060cd87c171704b9288dfa341ed1091205893ca7c098aa9cbaa86bf4f3

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for LiveSync-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 e7c2858ce493b96f2cd297e565cf6ceb06a020a1f20cbdea22408ab189bdd385
MD5 e9196f92cde0ae523c2e8cf2f034c5c4
BLAKE2b-256 6dbc48176748418f31ca6d54f31b9e4f0824aab1e5e981283339838102aeb4c2

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