Skip to main content
Join the official 2019 Python Developers SurveyStart the survey!

Serve R more on Serverless.

Project description

ServeRmore

To help make R more accessible on Serverless Cloud Hosting, starting with AWS Lambda. Python Package Index Releases: https://pypi.org/project/serveRmore/

Requirements

Please refer to our LAPTOP.md Guide for necessary manual configurations.

Please refer to your cloud platform for additional information:

To install the latest package:

python3 -m pip install serveRmore

Quickstart

  1. Initiate your config file by typing "srm" or "srm help". These commands are available for awareness.
srm help
srm version
srm status
  1. Update your config file in your home directory. At minimum, you'll need:
  • Your own Lambda Execution Role 'arn' value.
  • An S3 bucket and an S3 bucket key (folder).
  • Lambda function name
  1. Create a new lambda.R script and create a "handler" method in R. Insert "hello world" or custom code inside your handler method.

  2. Create a new package.R script that will zip up your lambda.R and place on your AWS S3 bucket and key.

  3. To deploy your zip file directly to Lambda, try out our new workflow here.

srm lambda init
srm lambda create
srm lambda update
srm lambda invoke
srm lambda destroy

NOTE: 'init' will establish your R Runtime ARN value in your config. 'create' will establish a brand new Lambda function if it does not exist, and publish your zip file. 'update' will republish your zip file, if your lambda function already exists.

Custom R Runtime Layers

To use additional R custom runtime layers that are prebuilt, or to help you build your own, refer to this guide: R Runtime Custom Layers

We have an older way of deploying on Lambda that we still support for the time being. You can learn more here: R Environment in Python Runtime

Roadmap

v0.1.0

  • Create more automation on custom layer building
    • Revise ServeRmore.yaml config file for new configurations
    • Launch a temporary EC2 VM
    • Pull down the github repo from bakdata
    • Introduce custom layer settings from config file
    • Build & publish new layer
    • Save the ARN of the new layer to config
    • Terminate the VM
  • Remove old EC2 Virtual Machine on Python runtime workflow

Changelog

v0.0.2 - Introduces running R directly on Lambda via AWS' new custom layers feature, big thanks to @bakdata.

  • Several new commands for initiating the R runtime version, creating new functions, updating them, and destroying them.
  • New documentation for how to build a custom R layer.

v0.0.1 - Initial Release

  • Automated a genomics analysis guide that used Lambda with R. Introduces an automated build process that creates a temporary AWS EC2 Virtual Machine, installs an R environment with CRAN and custom R packages, wraps them into a Lambda Package. Also requires manual development of a Handler.py file that calls the R environment and R methods through r2py.
  • Provides an easy way to iterate and repackage after handler.py changes.

Contributing

Please refer to our guide for more information. CONTRIBUTING.md

Project details


Download files

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

Files for serveRmore, version 0.0.2
Filename, size File type Python version Upload date Hashes
Filename, size serveRmore-0.0.2-py3-none-any.whl (14.8 kB) File type Wheel Python version py3 Upload date Hashes View hashes
Filename, size serveRmore-0.0.2.tar.gz (8.0 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page