Stop struggling with Python on Windows – Python For Engineers
Structured Errors in Plumber APIs
If you’ve used the Plumber package to make R models
or other code accessible to others via an API, sooner or later you will need to
decide how to handle and report errors.
By default, Plumber will catch R-level errors (like calls to stop()) and
report them to users of your API as a JSON-encoded error message with HTTP
status code 500 – also known as Internal Server Error. This might look
something like the following from the command line:
$ curl -v localhost:8000/
> GET /status HTTP/1.1
> Host: localhost:8000
> User-Agent: curl/7.64.0
> Accept: */*
>
< HTTP/1.1 500 Internal Server Error
< Date: Sun, 24 Mar 2019 22:56:27 GMT
< Content-Type: application/json
< Date: Sun, 24 Mar 2019 10:56:27 PM GMT
< Connection: close
< Content-Length: 97
<
* Closing connection 0
{"error":["500 - Internal server error"],"message":["Error: Missing required 'id' parameter.\n"]}
There are two problems with this approach: first, it gives you almost zero
control over how errors are reported to real users, and second, it’s badly
behaved at the protocol level – HTTP status codes provide for much more
granular and semantically meaningful error reporting.
In my view, the key to overcoming these problems is treating errors as more than
simply a message and adding additional context when they are emitted. This is
sometimes called structured error handling, and although it has not been
used much historically in R, this may be changing.
As you’ll see, we can take advantage of R’s powerful condition system to
implement rich error handling and reporting for Plumber APIs with relative ease.
Functions Similar to VLOOKUP in Excel • lookup
Simple functions to lookup items in key-value pairs. See Mehta (2021) .
Plumber and the Slack API - RStudio :: Solutions
Using Plumber to create APIs for R programs
Learn how to use the open-source tool Plumber to create RESTful APIs for R programs.
REST API with R - Ger Inberg
Learn how to create a REST API in R using the plumber package.
Isochrone - OpenStreetMap Wiki
Database Testing Complete Guide (Why, What, and How to Test Data)
What is CORS (Cross-Origin Resource Sharing)?
CORS allows your web apps to use assets from other domains. Today, we explore CORS and learn to implement it in our own front-end projects.
What are Materialized Views? A 5 Minute Introduction
A materialized view is a type of database object that contains any results derived from a query. Read on for a quick introduction.
Microservices Architecture Tutorial: all you need to get started
Microservice architecture is one of the hottest software architecture trends these days, and it has forever changed the way we build enterprise applications. Here's all you need to know to get started!
Kubernetes Tutorial: Getting Started with Container Orchestration
In this Kubernetes Tutorial, you'll learn how to create a cluster, deploy, scale, and update your application.
Getting started with Docker and Kubernetes: a beginners guide
Docker and Kubernetes have revolutionized the way we develop and deploy applications at scale. It's best to get started with them now.
Docker Compose Tutorial: advanced Docker made simple
Docker Compose is an advanced Docker tool that simplifies your workflow. In this article, we will show you how to get started with Docker Compose and its popular commands.
Where to place DB connections within plumber APIs? - R Admins / RStudio Connect - RStudio Community
index.utf8
Five Steps to Getting a Project Done | LiquidPlanner
Having a good plan is the most important strategy for getting a project done. five steps to help you organize your work so you can sail through the project.
Best practices for API packages
mischelper/misc.R at master · jimsforks/mischelper
Plumber + Shiny + Docker
How to dockerize a Shiny app that calls a Plumber API
GPG | helpful.wiki
Encryption using the GNU privacy guard
Google Cloud Logging driver
Describes how to use the Google Cloud Logging driver.
The Best Resources for Learning Shiny App Development
The Hosting Data Apps website is dedicated to help you learn about your hosting options. As outlined in the opening post, data app development related content is kept to a minimum. In this post we list resources that provide accessible introduction to Shiny app development.
Automatically Searching Github Repos by Topic - Chemometrics & Spectroscopy using R
Organisation of a collaborative project for PROPRE publication - Rtask
The R task Force - R experts for all your needs
Using Kubernetes and the Future Package to Easily Parallelize R in the Cloud – R-Craft
This is a guest post by Chris Paciorek, Department of Statistics, University of California at Berkeley. In this post, I’ll demonstrate that you can easily use the future package in R on a cluster of machines running in the cloud, specifically ...
Impressions from New Zealand’s R Exchange | RStudio Blog
In March of 2021, Epi-Interactive hosted one of the first in-person R events in Wellington, New Zealand. Here are some takeaways from their experience.
Using Kubernetes and the Future Package to Easily Parallelize R in the Cloud
This is a guest post by Chris Paciorek, Department of Statistics, University of California at Berkeley. In this post, I’ll demonstrate that you can easily use the future package in R on a cluster of machines running in the cloud, specifically on a Kubernetes cluster. This allows you to easily doing parallel computing in R in the cloud. One advantage of doing this in the cloud is the ability to easily scale the number and type of (virtual) machines across which you run your parallel computation.
Plumber Logging · R Views
Routing & Input • plumber
plumber