Metadata-Version: 2.1
Name: run-rx
Version: 0.0.10
Summary: A tool to simplify remote execution
Home-page: https://www.run-rx.com
License: LICENSE.txt
Author: Kris Chodorow
Author-email: k.chodorow@gmail.com
Requires-Python: >=3.7,<4.0
Classifier: License :: Other/Proprietary License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Requires-Dist: PyJWT (>=2.6.0,<3.0.0)
Requires-Dist: absl-py (>=1.4.0,<2.0.0)
Requires-Dist: grpcio (>=1.54.0,<2.0.0)
Requires-Dist: protobuf (>=4.22.3,<5.0.0)
Requires-Dist: requests (>=2.30.0,<3.0.0)
Requires-Dist: sty (>=1.0.4,<2.0.0)
Requires-Dist: tqdm (>=4.65.0,<5.0.0)
Project-URL: Repository, https://github.com/run-rx/rx
Description-Content-Type: text/markdown

---
layout: home
title: Home
nav_order: 1
---

# Welcome to rx

rx is a command-line tool to make remote execution easy. It integrates with
whatever tools you're currently using and gives you a long-running VM in the
cloud that is kept in sync with your local machine.

## What rx does

When you run rx it takes care of a bunch of setup on your behalf:

* It creates a private hosted environment for your project in the cloud.
* It copies your source code into that environment.
* It installs any dependencies your project needs.

Then, every time you run a command, it automatically syncs local changes to
your cloud instance and syncs outputs back to your local machine. rx hosts
your environment on our own cloud instances, so you never have to worry about
setup or teardown.

Check out the [getting started](/getting-started) guide to start using rx in
less than five minutes.

*Note: the `rx` binary is a thin client and does not run commands on your local
machine: it sends them to your cloud instance and runs them there.*

Right now rx is free to use, so please give it a try and [let us know](mailto:eng@run-rx.com) what you think!

## Installation

Install via pip:

    pip install run-rx

rx also requires rsync to run, make sure you have it installed:

    which rsync

If not, check out [its website](https://rsync.samba.org/download.html) or your
favorite package manager to install.

## Usage

In the directory containing your project (often your git root), run:

    rx init

This will prompt you to log in (or create an account) and allocate a machine
in the cloud for you to use. Then it will copy your project from your local
machine to the cloud instance and install any packages that your project needs.

It may take several minutes to allocate a machine, copy your source code, and
install packages (depending on your project).

Once rx finishes initializing, you can run any command on your remote worker
by prefixing it with "rx":

    rx python my-script.py
    rx ps ax
    rx 'echo $PATH > my-path.txt'

Check out the [getting-started](/getting-started/) section for more examples.

## Feedback

Feel free to [file an issue](https://github.com/run-rx/rx/issues) if you have
any questions or problems!

