Skip to main content

remux allows you to run your local project on multiple remote machines in parallel

Project description

rmux

rmux allows you to run your local project on multiple remote machines in parallel.

The command names comes from remote-tmux as it allows multiplexing commands on multiple remote machines, synchronized.

The original purpose was to allow testing local changes to a project on other platforms, like running tox on another distribution.

Usage

# run df locally
rmux df

# close tmux session
exit

# run df on two remote hosts, syncronized windows
HOSTS="node1 node2" rmux df

# run a script downloaded from the web (installs pip)
rmux -w https://bootstrap.pypa.io/get-pip.py

If you fail to define the HOSTS variable the tool will default to localhost but it will still use its logic of doing a rsync and running commands using tmux and ssh.

How it works

rmux will detect current project by looking for the .git folder it in current directory or its parents. If it fails to find any .git folder, it will skip the rsync part.

The script will not rsync .gitignored files but it will sync untracked files.

The destination folder on remote machines is ~/.cache/.rmux/<projectname> which will also become default directory.

The remote user is based on host names or your ssh configuration.

Installation

pip install rmux

While rmux is currently only a pure bash script, I used pip wheel as a way to distribute it as it cross platform and easy to use. In addition, it allows me to easily upgrade it.

If you prefer you can just download the shell script and add it to your path.

See also

  • tmux - terminal multiplexer
  • tmux-xpanes - auto-window layout for tmux, a current requirement for rmux. Still, it should be possible to avoid using it if you have only one remote host, just make a feature request and I can implement it.
  • direnv - define environment variables specific to current directory. This can be very handy if you want to have different set of HOSTS for each project and avoid mentioning them on the command line.
  • rtox which allows running tox on remote machines this being the original project. With rmux you will no longer need rtox as you can just do rmux tox instead of rtox, the big difference being that the session is not closed automatically and that you can now run on multiple remote hosts instead of just one.

Links

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

rmux-1.0.1.dev1.tar.gz (375.9 kB view details)

Uploaded Source

Built Distribution

rmux-1.0.1.dev1-py2-none-any.whl (10.8 kB view details)

Uploaded Python 2

File details

Details for the file rmux-1.0.1.dev1.tar.gz.

File metadata

  • Download URL: rmux-1.0.1.dev1.tar.gz
  • Upload date:
  • Size: 375.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.21.0 setuptools/40.6.3 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/2.7.15

File hashes

Hashes for rmux-1.0.1.dev1.tar.gz
Algorithm Hash digest
SHA256 edab3c565560ef95b82d9ee3fa5f2a94573b6f74f5e92a8c0e5b114e68f7ba35
MD5 73d88e87e661b553cca429553fa439ce
BLAKE2b-256 2513871b091b0c2bc6ef37c2247e4449dec4f0dbd8f6816221218307b09c38fd

See more details on using hashes here.

File details

Details for the file rmux-1.0.1.dev1-py2-none-any.whl.

File metadata

  • Download URL: rmux-1.0.1.dev1-py2-none-any.whl
  • Upload date:
  • Size: 10.8 kB
  • Tags: Python 2
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.21.0 setuptools/40.6.3 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/2.7.15

File hashes

Hashes for rmux-1.0.1.dev1-py2-none-any.whl
Algorithm Hash digest
SHA256 92bb8ad31e766e208a3dc60452014242f315c2a3d54f225710e013eca585a49f
MD5 9bd9c15814d6e53c886bb4fcab876595
BLAKE2b-256 34e1ed9343a17a6ef1b2ba1ff8d6c7d61d36402974bdda3136ec620dc997c59d

See more details on using hashes here.

Supported by

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