Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. R
  3. httpuv

httpuv

NOASSERTIONCv1.6.17

A low-level HTTP and WebSocket server library for R, built on libuv and http-parser.

Visit WebsiteGitHubGitHub
252 stars89 forks0 contributors

What is httpuv?

httpuv is an HTTP and WebSocket server library for R that provides low-level socket and protocol support for handling web requests directly within the R environment. It solves the problem of building performant, real-time web servers and applications in R by leveraging a multithreaded architecture and robust C libraries.

Target Audience

R developers and package authors who need to create custom web servers, real-time applications, or foundational layers for higher-level web frameworks in R.

Value Proposition

Developers choose httpuv for its reliable, low-level performance, multithreaded design that prevents blocking, and its role as the backbone for many popular R web frameworks, offering direct control over HTTP and WebSocket protocols.

Overview

HTTP and WebSocket server package for R

Use Cases

Best For

  • Building custom HTTP servers with R callbacks
  • Creating real-time applications using WebSockets in R
  • Developing foundational packages for R web frameworks
  • Serving static files efficiently from R applications
  • Handling low-level socket communication in R projects
  • Prototyping web services directly within the R environment

Not Ideal For

  • Projects needing a full-stack web framework with built-in UI components, templating, and data binding out of the box
  • Environments where avoiding compiled dependencies and system-level setup is critical for deployment simplicity
  • Teams looking for extensive community plugins, middleware, or tutorials for rapid application development without custom coding

Pros & Cons

Pros

Multithreaded Performance

Separates I/O handling from R callbacks using libuv, enabling non-blocking operations like static file serving without impacting R performance, as highlighted in the static paths section.

Robust Low-Level Foundation

Built on proven C libraries (libuv and http-parser) by Joyent, ensuring reliable HTTP and WebSocket protocol support for stable server operations.

Flexible Protocol Control

Provides direct access to HTTP requests and WebSocket events via customizable callbacks, allowing developers to implement custom server logic and real-time applications, as shown in the basic usage examples.

Efficient Static Serving

Serves files from disk in the I/O thread without blocking R, demonstrated through the staticPaths feature that handles file requests independently.

Cons

Steep Learning Curve

Requires manual handling of low-level HTTP details; no built-in routing, templating, or middleware, making it challenging for developers accustomed to higher-level frameworks.

Compilation and Dependency Hassles

Installation can be complex on systems without C toolchains or libuv packages, and building from source if libuv isn't found may fail on some platforms, as noted in the installing section.

Limited High-Level Features

Lacks conveniences like authentication, session management, or database integration, forcing users to build custom solutions for common web tasks, which increases development time.

Frequently Asked Questions

Quick Stats

Stars252
Forks89
Contributors0
Open Issues48
Last commit1 month ago
CreatedSince 2013

Tags

#websocket-server#http-server#r-package#low-level#r#http-parser#web-framework#multithreaded#libuv#real-time

Built With

l
libuv
h
http-parser
R
R
C
C++

Links & Resources

Website

Included in

R6.4k
Auto-fetched 1 day ago

Related Projects

shiny <img class="emoji" alt="heart" src="https://cdn.jsdelivr.net/gh/qinwf/awesome-R@3c66da6e291bcc0520b1649125b0bed750896a9a/heart.png" height="20" align="absmiddle" width="20">shiny <img class="emoji" alt="heart" src="https://cdn.jsdelivr.net/gh/qinwf/awesome-R@3c66da6e291bcc0520b1649125b0bed750896a9a/heart.png" height="20" align="absmiddle" width="20">

Easy interactive web applications with R

Stars5,703
Forks1,890
Last commit7 days ago
rvest <img class="emoji" alt="heart" src="https://cdn.jsdelivr.net/gh/qinwf/awesome-R@3c66da6e291bcc0520b1649125b0bed750896a9a/heart.png" height="20" align="absmiddle" width="20">rvest <img class="emoji" alt="heart" src="https://cdn.jsdelivr.net/gh/qinwf/awesome-R@3c66da6e291bcc0520b1649125b0bed750896a9a/heart.png" height="20" align="absmiddle" width="20">

Simple web scraping for R

Stars1,526
Forks349
Last commit14 days ago
plumberplumber

Turn your R code into a web API.

Stars1,440
Forks258
Last commit8 months ago
httr <img class="emoji" alt="heart" src="https://cdn.jsdelivr.net/gh/qinwf/awesome-R@3c66da6e291bcc0520b1649125b0bed750896a9a/heart.png" height="20" align="absmiddle" width="20">httr <img class="emoji" alt="heart" src="https://cdn.jsdelivr.net/gh/qinwf/awesome-R@3c66da6e291bcc0520b1649125b0bed750896a9a/heart.png" height="20" align="absmiddle" width="20">

httr: a friendly http package for R

Stars983
Forks1,954
Last commit1 month ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub