Skip to content

v0.0.18

Compare
Choose a tag to compare
@carolineechen carolineechen released this 15 Feb 15:02
· 1046 commits to main since this release
169cff2

Highlights

Runhouse Local Mode and rh.here

Previously, the Runhouse server was strictly designed to allow you to deploy apps to it remotely with my_module.to(my_cluster). Now, you can now start the Runhouse server daemon directly to be able to deploy it locally like a traditional web server. Access the local daemon's Cluster object in Python with rh.here. rh.here always refers to the locally running daemon, so you can use within an existing Runhouse cluster as well.

Start your local Runhouse server:

$ runhouse restart
$ runhouse status

To send a module:

def concat(a, b):
    return a+b

import runhouse as rh
rh.function(concat).to(rh.here)

To try out your service:

curl -X "GET" 'http://localhost:32300/concat/call?a=run&b=house'

>>> {"data":"\"runhouse\"","error":null,"traceback":null,"output_type":"result_serialized","serialization":"json"}

This is also particularly useful for debugging. You can ssh onto your cluster, start a Python shell, and run methods like rh.here.call("my_module", "my_method") to test or analyze your deployed module's behavior or contents quickly.

Replace nginx with Caddy

Use Caddy as a reverse proxy for the Runhouse server launched on clusters, as well as automatically generating and auto-renewing self-signed certificates, making it easy to secure your cluster with HTTPS right out of the box.

Improvements

  • Improved logging to reduce log clutter, and differentiate local and cluster(#436, #475)
  • Support packages using setup.cfg (#456)
  • Runhouse status updates (#462, #469)

Build

  • Remove Sky dependency for SSH command runner

Bug Fixes

  • Fix name to properly be updated in cluster when saved (#451, #477)
  • Fix bug in sagemaker cluster factory (#459)
  • Fix Cluster.from_name to properly load existing config in Den (#468)
  • Fix CLI runhouse status for on-demand cluster (#478)

BC-Breaking

  • reqs and setup_cmds removed from function .to (#373)
  • Generator module now returns generator rather than streamed results (#373)

Other

  • Refactor and new methods for obj store (#373)
  • Replace nginx with Caddy (#406)
  • Set unique SSH control path