Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/nx10/httpgd
Asynchronous http server graphics device for R.
https://github.com/nx10/httpgd
Last synced: 18 days ago
JSON representation
Asynchronous http server graphics device for R.
- Host: GitHub
- URL: https://github.com/nx10/httpgd
- Owner: nx10
- License: gpl-2.0
- Created: 2020-05-18T17:54:42.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2024-06-24T08:26:07.000Z (5 months ago)
- Last Synced: 2024-09-22T16:18:05.610Z (about 2 months ago)
- Language: C++
- Homepage: https://nx10.github.io/httpgd
- Size: 6.82 MB
- Stars: 379
- Watchers: 6
- Forks: 19
- Open Issues: 35
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- jimsghstars - nx10/httpgd - Asynchronous http server graphics device for R. (C++)
README
# `httpgd`
[![R-CMD-check](https://github.com/nx10/httpgd/actions/workflows/R-CMD-check.yaml/badge.svg)](https://github.com/nx10/httpgd/actions/workflows/R-CMD-check.yaml)
[![CRAN](https://www.r-pkg.org/badges/version/httpgd)](https://CRAN.R-project.org/package=httpgd)
![downloads](https://cranlogs.r-pkg.org/badges/grand-total/httpgd)
[![Codecov test coverage](https://codecov.io/gh/nx10/httpgd/branch/master/graph/badge.svg)](https://app.codecov.io/gh/nx10/httpgd?branch=master)A graphics device for R that is accessible via network protocols.
This package was created to make it easier to embed live R graphics in
integrated development environments and other applications.
The included HTML/JavaScript client (plot viewer) aims to provide a better overall user experience when dealing with R graphics.
The device asynchronously serves graphics via HTTP and WebSockets.## Features
* Fast plotting
* Interactive plot viewer (client)
* Supports multiple clients concurrently
* Plot resizing and history
* Export various image formats (SVG, PNG, PDF, EPS, ...)
* Powered by [`unigd`](https://github.com/nx10/unigd)
* For developers:
* Stateless asynchronous HTTP/WebSocket API
* HTML/JavaScript client (TypeScript module)## Demo
![](https://user-images.githubusercontent.com/33600480/113182768-92eeda80-9253-11eb-9505-79de107024f7.gif)
## Installation
Install `httpgd` from CRAN:
```R
install.packages("httpgd")
```Or get the latest development version from GitHub:
```R
remotes::install_github("nx10/httpgd")
```See [system requirements](https://nx10.github.io/httpgd/articles/a00_installation.html#system-requirements) for troubleshooting.
### Documentation
- For users:
- [How to get started](https://nx10.github.io/httpgd/articles/a01_how-to-get-started.html)
- [Plotting in `unigd`](https://nx10.github.io/unigd/articles/b00_guide.html)
- [Function reference](https://nx10.github.io/httpgd/reference/index.html)
- IDEs & evironments:
- [VS Code](https://nx10.github.io/httpgd/articles/b01_vscode.html)
- [RStudio](https://nx10.github.io/httpgd/articles/b02_rstudio.html)
- [Docker](https://nx10.github.io/httpgd/articles/b03_docker.html)
- For package developers:
- [httpgd API](https://nx10.github.io/httpgd/articles/c01_httpgd-api.html)
## Contributions welcome!
The various components of `httpgd` are written in C++, R and TypeScript. We welcome contributions of any kind.
Other areas in need of improvement are testing and documentation.
## Links & Articles
- [Using httpgd in VSCode: A web-based SVG graphics device](https://renkun.me/2020/06/16/using-httpgd-in-vscode-a-web-based-svg-graphics-device/)
## About & License
Depends on `cpp11`.
Webserver based on [`CrowCpp/Crow`]().
This project is licensed GPL v2.0.The HTML client includes [Material Design icons by Google](https://github.com/google/material-design-icons) which are licensed under the [Apache License Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt).
Full copies of the license agreements used by these components are included in [`./inst/licenses`](https://github.com/nx10/httpgd/tree/master/inst/licenses).