Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (
Help us improve Python packaging - Donate today!

Edit files over SSH.

Project Description

The rmate program enables editing files on a remote computer with TextMate 2 via an SSH connection. This is a port of the official Ruby version and was made for system that cannot (or just preferably do not) have Ruby installed. This version (very intentionally) has no dependencies beyond the Python standard library and has been tested with Python versions 2.4 - 3.5.

This port is probably compatible with Sublime Text, Atom, or other editors that use the rmate protocol, but it is not officially tested.



rmate is a single file script, so you can simply download it to a location in your PATH. For example, assuming /usr/local/bin is in the PATH

chmod +x ./rmate
mv ./rmate /usr/local/bin/rmate


You can also install rmate with pip

pip install rmate

SSH Connection Settings

For rmate to be able to connect back to TextMate, a port must be tunneled through the ssh connection. By default, rmate uses port 52698, and the port can be tunneled for an individual connection on the command line

ssh -R 52698:localhost:52698

or for all connections by adding a rule to your ~/.ssh/config

Host *
RemoteForward 52698 localhost:52698


You can use rmate --help to see the usage

usage: rmate [OPTION]... FILE...

      --host HOST  Connect to HOST. Use 'auto' to detect the host from
                   SSH. Defaults to localhost
  -p, --port PORT  Port number to use for connection. Defaults to 52698
  -w, --[no-]wait  Wait for file to be closed by TextMate
  -l, --line LINE  Place carat on line LINE after loading the file.
                   TextMate selection strings can be used
  -m, --name NAME  The display name shown in TextMate
  -t, --type TYPE  Treat file as having TYPE
  -f, --force      Open even if the file is not writable
  -v, --verbose    Verbose logging messages
  -h, --help       Show this help and exit
      --version    Show version and exit

When FILE is -, read standard input.

More information can be found in this blog post

Release History

This version
History Node


History Node


Download Files

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

Filename, Size & Hash SHA256 Hash Help File Type Python Version Upload Date
(6.1 kB) Copy SHA256 Hash SHA256
Source None Nov 3, 2016

Supported By

Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Google Google Cloud Servers