orbweaver

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

https://github.com/ixpantia/orbweaver-r

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (16.4%) to scientific vocabulary

Keywords

graph-algorithms orbweaver r rextendr rust
Last synced: 6 months ago · JSON representation

Repository

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

Basic Info
Statistics
  • Stars: 20
  • Watchers: 2
  • Forks: 10
  • Open Issues: 1
  • Releases: 5
Topics
graph-algorithms orbweaver r rextendr rust
Created over 2 years ago · Last pushed 10 months ago
Metadata Files
Readme Changelog Contributing License

README.Rmd

---
output: github_document
---



```{r, include = FALSE}
knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>",
  fig.path = "man/figures/README-",
  out.width = "100%"
)
```

# orbweaver 


[![CRAN status](https://www.r-pkg.org/badges/version/orbweaver)](https://cran.r-project.org/package=orbweaver)
[![R-CMD-check](https://github.com/ixpantia/orbweaver-r/actions/workflows/R-CMD-check.yaml/badge.svg)](https://github.com/ixpantia/orbweaver-r/actions/workflows/R-CMD-check.yaml)


## 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](https://igraph.org/) 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](man/figures/benchmark.png)

> 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. 

#### Mac or Linux

If you are on Mac or Linux, you can do this
by running the following command in your terminal:

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

#### Windows

If you are on Windows, you can download the installer from
[here](https://www.rust-lang.org/tools/install).

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:

```bash
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](https://cran.r-project.org/bin/windows/Rtools/).

### R Package

You can install orbweaver from CRAN with:

```R
install.packages("orbweaver")
```

You can install orbweaver from GitHub with:

```R
# install.packages("remotes")
remotes::install_github("ixpantia/orbweaver-r")
```

## Example

```{r}
library(orbweaver)

edges <- data.frame(
  parent = c("A", "B", "C", "C", "F"),
  child = c("B", "C", "D", "E", "D")
)

graph <- graph_builder() |>
  populate_edges(edges, "parent", "child") |>
  build_directed()

graph

graph |> find_all_paths(from = "A", to = "D")
```

Owner

  • Name: ixpantia
  • Login: ixpantia
  • Kind: organization
  • Location: Costa Rica

GitHub Events

Total
  • Issues event: 38
  • Watch event: 7
  • Delete event: 1
  • Issue comment event: 15
  • Push event: 47
  • Pull request review comment event: 7
  • Pull request review event: 13
  • Pull request event: 49
  • Fork event: 2
  • Create event: 5
Last Year
  • Issues event: 38
  • Watch event: 7
  • Delete event: 1
  • Issue comment event: 15
  • Push event: 47
  • Pull request review comment event: 7
  • Pull request review event: 13
  • Pull request event: 49
  • Fork event: 2
  • Create event: 5

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 31
  • Total pull requests: 64
  • Average time to close issues: 19 days
  • Average time to close pull requests: 2 days
  • Total issue authors: 7
  • Total pull request authors: 7
  • Average comments per issue: 0.39
  • Average comments per pull request: 0.05
  • Merged pull requests: 57
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 20
  • Pull requests: 49
  • Average time to close issues: 10 days
  • Average time to close pull requests: 3 days
  • Issue authors: 4
  • Pull request authors: 3
  • Average comments per issue: 0.5
  • Average comments per pull request: 0.04
  • Merged pull requests: 42
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • andyquinterom (16)
  • maurolepore (7)
  • mauro-ixpantia (3)
  • andres-ixpantia (2)
  • FvD (1)
  • dpastoor (1)
Pull Request Authors
  • andyquinterom (37)
  • maurolepore (23)
  • mauro-ixpantia (7)
  • CGMossa (2)
  • pieri93 (1)
  • andreavargasmon (1)
Top Labels
Issue Labels
bug (1) question (1)
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • cran 521 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 3
  • Total maintainers: 1
cran.r-project.org: orbweaver

Fast and Efficient Graph Data Structures

  • Versions: 3
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 521 Last month
Rankings
Forks count: 17.0%
Stargazers count: 27.8%
Dependent packages count: 28.7%
Dependent repos count: 36.8%
Average: 39.3%
Downloads: 86.1%
Maintainers (1)
Last synced: 6 months ago

Dependencies

.github/workflows/pkgdown.yaml actions
  • JamesIves/github-pages-deploy-action v4.4.1 composite
  • actions/checkout v3 composite
  • r-lib/actions/setup-pandoc v2 composite
  • r-lib/actions/setup-r v2 composite
  • r-lib/actions/setup-r-dependencies v2 composite
src/rust/Cargo.lock cargo
  • either 1.9.0
  • extendr-api 0.6.0
  • extendr-macros 0.6.0
  • itertools 0.11.0
  • libR-sys 0.6.0
  • once_cell 1.18.0
  • paste 1.0.14
  • proc-macro2 1.0.69
  • quote 1.0.33
  • syn 2.0.39
  • unicode-ident 1.0.12
src/rust/Cargo.toml cargo
DESCRIPTION cran
.github/workflows/check-full.yaml actions
  • actions/checkout v4 composite
  • dtolnay/rust-toolchain master composite
  • r-lib/actions/check-r-package v2 composite
  • r-lib/actions/setup-pandoc v2 composite
  • r-lib/actions/setup-r v2 composite
  • r-lib/actions/setup-r-dependencies v2 composite