https://github.com/yoshoku/hnswlib-node

hnswlib-node provides Node.js bindings for Hnswlib

https://github.com/yoshoku/hnswlib-node

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
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (10.0%) to scientific vocabulary

Keywords

approximate-nearest-neighbor-search javascript machine-learning nearest-neighbor-search nodejs npm typescript

Keywords from Contributors

projection interactive serializer measurement cycles packaging charts network-simulation archival shellcodes
Last synced: 6 months ago · JSON representation

Repository

hnswlib-node provides Node.js bindings for Hnswlib

Basic Info
Statistics
  • Stars: 117
  • Watchers: 3
  • Forks: 11
  • Open Issues: 14
  • Releases: 0
Topics
approximate-nearest-neighbor-search javascript machine-learning nearest-neighbor-search nodejs npm typescript
Created almost 4 years ago · Last pushed 6 months ago
Metadata Files
Readme Changelog License

README.md

hnswlib-node

npm version Build Status License Documentation

hnswlib-node provides Node.js bindings for Hnswlib that implements approximate nearest-neighbor search based on hierarchical navigable small world graphs.

Installation

sh $ npm install hnswlib-node

Documentation

Usage

Generating search index:

```typescript import { HierarchicalNSW } from 'hnswlib-node';

const numDimensions = 8; // the length of data point vector that will be indexed. const maxElements = 10; // the maximum number of data points.

// declaring and intializing index. const index = new HierarchicalNSW('l2', numDimensions); index.initIndex(maxElements);

// inserting data points to index. for (let i = 0; i < maxElements; i++) { const point = new Array(numDimensions); for (let j = 0; j < numDimensions; j++) point[j] = Math.random(); index.addPoint(point, i); }

// saving index. index.writeIndexSync('foo.dat'); ```

Searching nearest neighbors:

```typescript import { HierarchicalNSW } from 'hnswlib-node';

// loading index. const index = new HierarchicalNSW('l2', 3); index.readIndexSync('foo.dat');

// preparing query data points. const numDimensions = 8; const query = new Array(numDimensions); for (let j = 0; j < numDimensions; j++) query[j] = Math.random();

// searching k-nearest neighbor data points. const numNeighbors = 3; const result = index.searchKnn(query, numNeighbors);

console.table(result); ```

License

hnswlib-node is available as open source under the terms of the Apache-2.0 License.

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/yoshoku/hnswlib-node. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the Contributor Covenant code of conduct.

Owner

  • Name: Atsushi Tatsuma
  • Login: yoshoku
  • Kind: user
  • Location: Japan

I love NINJA GAIDEN on NES/FAMICOM.

GitHub Events

Total
  • Watch event: 16
  • Delete event: 50
  • Issue comment event: 50
  • Push event: 49
  • Pull request review event: 15
  • Pull request event: 110
  • Fork event: 4
  • Create event: 55
Last Year
  • Watch event: 16
  • Delete event: 50
  • Issue comment event: 50
  • Push event: 49
  • Pull request review event: 15
  • Pull request event: 110
  • Fork event: 4
  • Create event: 55

Committers

Last synced: 9 months ago

All Time
  • Total Commits: 241
  • Total Committers: 3
  • Avg Commits per committer: 80.333
  • Development Distribution Score (DDS): 0.461
Past Year
  • Commits: 22
  • Committers: 2
  • Avg Commits per committer: 11.0
  • Development Distribution Score (DDS): 0.273
Top Committers
Name Email Commits
yoshoku y****u@o****m 130
dependabot[bot] 4****] 110
Alex Hu a****m@g****m 1

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 16
  • Total pull requests: 360
  • Average time to close issues: about 1 month
  • Average time to close pull requests: 14 days
  • Total issue authors: 16
  • Total pull request authors: 3
  • Average comments per issue: 3.06
  • Average comments per pull request: 0.61
  • Merged pull requests: 132
  • Bot issues: 0
  • Bot pull requests: 358
Past Year
  • Issues: 0
  • Pull requests: 115
  • Average time to close issues: N/A
  • Average time to close pull requests: 18 days
  • Issue authors: 0
  • Pull request authors: 2
  • Average comments per issue: 0
  • Average comments per pull request: 0.64
  • Merged pull requests: 17
  • Bot issues: 0
  • Bot pull requests: 114
Top Authors
Issue Authors
  • clemenspeters (1)
  • varvelac (1)
  • kac487 (1)
  • zammitjames (1)
  • ShravanSunder (1)
  • Lioness100 (1)
  • jcoc611 (1)
  • Storkki (1)
  • joaotextor (1)
  • anthonyattard (1)
  • gaurav-cointab (1)
  • blozixdextr (1)
  • iliane5 (1)
  • lucky-9 (1)
  • nrathi (1)
Pull Request Authors
  • dependabot[bot] (358)
  • skinnyworm (1)
  • HackbrettXXX (1)
Top Labels
Issue Labels
Pull Request Labels
dependencies (358) javascript (255) github_actions (5)

Packages

  • Total packages: 1
  • Total downloads:
    • npm 176,287 last-month
  • Total docker downloads: 948
  • Total dependent packages: 40
  • Total dependent repositories: 424
  • Total versions: 14
  • Total maintainers: 1
npmjs.org: hnswlib-node

Node.js bindings for Hnswlib

  • Versions: 14
  • Dependent Packages: 40
  • Dependent Repositories: 424
  • Downloads: 176,287 Last month
  • Docker Downloads: 948
Rankings
Dependent packages count: 0.7%
Dependent repos count: 0.8%
Downloads: 0.9%
Docker downloads count: 1.5%
Average: 2.7%
Stargazers count: 5.4%
Forks count: 7.1%
Maintainers (1)
Last synced: 6 months ago

Dependencies

package.json npm
  • @commitlint/cli ^16.2.1 development
  • @commitlint/config-conventional ^16.2.1 development
  • eslint ^8.10.0 development
  • eslint-plugin-jest ^26.1.1 development
  • eslint-plugin-node ^11.1.0 development
  • husky ^7.0.4 development
  • jest ^27.5.1 development
  • node-gyp ^8.4.1 development
  • typedoc ^0.22.13 development
  • yarn-release ^1.10.3 development
  • bindings ^1.5.0
  • node-addon-api ^4.3.0
yarn.lock npm
  • 593 dependencies