RcppAnnoy

Rcpp bindings for Annoy

https://github.com/eddelbuettel/rcppannoy

Science Score: 36.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
  • Committers with academic emails
    4 of 11 committers (36.4%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (14.8%) to scientific vocabulary

Keywords

annoy cran nearest nearest-neighbors r r-package

Keywords from Contributors

nearest-neighbor-search lua locality-sensitive-hashing approximate-nearest-neighbor-search rcpp r-packages c-plus-plus-20 c-plus-plus-17 c-plus-plus-14 c-plus-plus-11
Last synced: 6 months ago · JSON representation

Repository

Rcpp bindings for Annoy

Basic Info
  • Host: GitHub
  • Owner: eddelbuettel
  • License: gpl-2.0
  • Language: C++
  • Default Branch: master
  • Homepage:
  • Size: 1.15 MB
Statistics
  • Stars: 75
  • Watchers: 8
  • Forks: 24
  • Open Issues: 0
  • Releases: 0
Topics
annoy cran nearest nearest-neighbors r r-package
Created over 11 years ago · Last pushed 7 months ago
Metadata Files
Readme Changelog License

README.md

RcppAnnoy: Rcpp bindings for Annoy

CI License CRAN r-universe Dependencies Downloads Last Commit

What is Annoy?

Annoy is a small, fast and lightweight library for Approximate Nearest Neighbours with a particular focus on efficient memory use and the ability to load a pre-saved index.

Annoy is written by Erik Bernhardsson. See its page for more on features, its (Python) API, and the other language ports. Annoy is part of the esteemed let us find other music you may like algorithm by Spotify.

Why this package?

It provides a nice example for Rcpp Modules and use of templates: Annoy uses a clean C++ core with templated data type, as well as several distance measures. This package shows that it is easy to wrap both aspects from R giving us multi-lingual approaches to data discovery and machine learning.

Status

The package matches the behaviour of the original Python package in the original Python wrapper for the Annoy library. It also replicates all unit tests written for the Python frontend, including a test for efficiently mmap-ing a binary index file.

The package originally built on Linux and OS X, and thanks to a patch by Qiang Kou now also builds on Windows.

Installation

You can either install from source via this repo, or install the CRAN package the usual way from R.

Author

Dirk Eddelbuettel

License

GPL (>= 2)

Owner

  • Name: Dirk Eddelbuettel
  • Login: eddelbuettel
  • Kind: user
  • Location: Chicago, IL, USA

GitHub Events

Total
  • Issues event: 2
  • Watch event: 3
  • Issue comment event: 11
  • Push event: 11
  • Pull request event: 1
  • Pull request review event: 1
  • Pull request review comment event: 1
  • Fork event: 1
  • Create event: 1
Last Year
  • Issues event: 2
  • Watch event: 3
  • Issue comment event: 11
  • Push event: 11
  • Pull request event: 1
  • Pull request review event: 1
  • Pull request review comment event: 1
  • Fork event: 1
  • Create event: 1

Committers

Last synced: 9 months ago

All Time
  • Total Commits: 234
  • Total Committers: 11
  • Avg Commits per committer: 21.273
  • Development Distribution Score (DDS): 0.085
Past Year
  • Commits: 12
  • Committers: 2
  • Avg Commits per committer: 6.0
  • Development Distribution Score (DDS): 0.167
Top Committers
Name Email Commits
Dirk Eddelbuettel e****d@d****g 214
Aaron Lun a****n@c****k 6
LTLA i****s@g****m 4
Benjamin James b****s@m****u 2
Aaron Lun a****n@w****u 2
Peter Hickey p****y@g****m 1
Michael Phan-Ba m****l@m****m 1
James Melville j****e@g****m 1
Daniel C. Dillon d****n@g****m 1
Adam Spannbauer S****m@g****m 1
Qiang Kou q****u@u****u 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 35
  • Total pull requests: 44
  • Average time to close issues: 3 months
  • Average time to close pull requests: about 6 hours
  • Total issue authors: 21
  • Total pull request authors: 9
  • Average comments per issue: 6.46
  • Average comments per pull request: 1.77
  • Merged pull requests: 43
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 1
  • Pull requests: 1
  • Average time to close issues: about 1 month
  • Average time to close pull requests: about 12 hours
  • Issue authors: 1
  • Pull request authors: 1
  • Average comments per issue: 10.0
  • Average comments per pull request: 3.0
  • Merged pull requests: 1
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • eddelbuettel (6)
  • pommedeterresautee (5)
  • jlmelville (3)
  • SamGG (3)
  • mikepb (2)
  • tomermilo (1)
  • alikhuseynov (1)
  • yzizhen (1)
  • regiopires (1)
  • hs3180 (1)
  • gdkrmr (1)
  • NikTuzov (1)
  • tiffanyhuuu (1)
  • lcolladotor (1)
  • tshicelg (1)
Pull Request Authors
  • eddelbuettel (30)
  • LTLA (7)
  • benjamin-james (2)
  • AdamSpannbauer (1)
  • jlmelville (1)
  • thirdwing (1)
  • PeteHaitch (1)
  • mikepb (1)
  • dcdillon (1)
Top Labels
Issue Labels
help wanted (1) not reproducible (1)
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • cran 29,138 last-month
  • Total docker downloads: 174,289
  • Total dependent packages: 5
  • Total dependent repositories: 33
  • Total versions: 21
  • Total maintainers: 1
cran.r-project.org: RcppAnnoy

'Rcpp' Bindings for 'Annoy', a Library for Approximate Nearest Neighbors

  • Versions: 21
  • Dependent Packages: 5
  • Dependent Repositories: 33
  • Downloads: 29,138 Last month
  • Docker Downloads: 174,289
Rankings
Downloads: 1.8%
Forks count: 3.5%
Dependent repos count: 4.5%
Stargazers count: 5.2%
Average: 6.7%
Dependent packages count: 8.0%
Docker downloads count: 17.3%
Maintainers (1)
Last synced: 6 months ago