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.1.3.tar.gz (4.8 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.3-py3-none-any.whl (6.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: LiveSync-0.1.3.tar.gz
  • Upload date:
  • Size: 4.8 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.3.tar.gz
Algorithm Hash digest
SHA256 826c0c6d3f66a2e2ffff7733f3ad2957658d038daba7c73b6037185cdf499303
MD5 5eb02c8c3c90ab1593a15db0efe4b2ab
BLAKE2b-256 0ed5ca4524902e24c5204297cf6dd78405fd4f759e376c320acb0ebfeda3b4d8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: LiveSync-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 6.1 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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 7102213ce6d8b33ed727f4e3f54d8e39f682d2733e0359c988a5f4ff15ba03bb
MD5 46616c6ff6e389a1872790412251fbd7
BLAKE2b-256 9013c2bf92c72e9d4da5395486ea04ffbb6980108ef006da511d8b6f3319a2d0

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