Skip to content

Orbweaver is an R package that optimizes the processing of graph data structures.

License

Unknown and 2 other licenses found

Licenses found

Unknown
LICENSE
MIT
LICENSE.md
Unknown
LICENSE.note
Notifications You must be signed in to change notification settings

ixpantia/orbweaver-r

Repository files navigation

orbweaver

CRAN status R-CMD-check

Overview

A fast R library for working with Nodes in a graph.

Features

  • Find shortest paths between nodes in a graph
  • Find the common parents between selected nodes
  • Directed Graph
  • Directed Acyclic Graph
  • It is quite fast

Why not igraph?

igraph is an amazing network analysis package. igraph is much more mature and orbweaver focuses on extreme performance and low latency operations. If you need super high performance and do not require weighted graphs, orbweaver may be for you.

igraph vs orbweaver benchmark

We may add weighted graph in the future but for not it is not in the short-term road map.

Installation

Rust Toolchain

Before installing this package, you will need to install the Rust toolchain. If you are on Mac or Linux, you can do this by running the following command in your terminal:

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

Windows

If you are on Windows, you can download the installer from here.

In order to compile this package manually, you will need the GNU ABI used by the GCC toolchain. This is not the default on Windows, so you will need to install the toolchain manually. You can do this by running the following command in your terminal:

rustup toolchain install stable-gnu

If you are on Windows you may need to install Rtools as well. You can download the installer from here.

R Package

Once you have the Rust toolchain installed, you can install this package from Git using whatever method you prefer.

With remotes:

remotes::install_github("ixpantia/orbweaver")

With devtools:

devtools::install_github("ixpantia/orbweaver")

With renv:

renv::install("ixpantia/orbweaver")

With pak:

pak::pak("ixpantia/orbweaver")