{"id":15063655,"url":"https://github.com/timdeputter/rendezvous","last_synced_at":"2025-12-12T00:11:22.039Z","repository":{"id":30567279,"uuid":"34122194","full_name":"timdeputter/Rendezvous","owner":"timdeputter","description":"Implementation of the Rendezvous or Highest Random Weight (HRW) hashing algorithm in the Elixir Programming Language","archived":false,"fork":false,"pushed_at":"2018-01-05T07:44:28.000Z","size":20,"stargazers_count":9,"open_issues_count":0,"forks_count":3,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-24T10:12:05.496Z","etag":null,"topics":["distributed-systems","elixir","elixir-lang","elixir-programming-language","hashing-algorithm"],"latest_commit_sha":null,"homepage":null,"language":"Elixir","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/timdeputter.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-04-17T14:48:42.000Z","updated_at":"2023-06-08T04:04:59.000Z","dependencies_parsed_at":"2022-08-17T19:10:34.363Z","dependency_job_id":null,"html_url":"https://github.com/timdeputter/Rendezvous","commit_stats":null,"previous_names":["puddah/rendezvous"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/timdeputter%2FRendezvous","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/timdeputter%2FRendezvous/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/timdeputter%2FRendezvous/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/timdeputter%2FRendezvous/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/timdeputter","download_url":"https://codeload.github.com/timdeputter/Rendezvous/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248208620,"owners_count":21065203,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["distributed-systems","elixir","elixir-lang","elixir-programming-language","hashing-algorithm"],"created_at":"2024-09-25T00:05:27.195Z","updated_at":"2025-12-12T00:11:21.995Z","avatar_url":"https://github.com/timdeputter.png","language":"Elixir","readme":"Rendezvous [![Build Status](https://travis-ci.org/timdeputter/Rendezvous.svg?branch=master)](https://travis-ci.org/timdeputter/Rendezvous) [![Hex.pm package version](https://img.shields.io/hexpm/v/Rendezvous.svg?style=flat)](https://hex.pm/packages/Rendezvous) [![Coverage Status](https://coveralls.io/repos/Puddah/Rendezvous/badge.svg?branch=master)](https://coveralls.io/r/Puddah/Rendezvous?branch=master) [![License](http://img.shields.io/hexpm/l/Rendezvous.svg?style=flat)](https://github.com/Puddah/Rendezvous/blob/master/LICENSE)\n==========\n\nImplementation of the [Rendezvous or Highest Random Weight (HRW) hashing algorithm](https://en.wikipedia.org/wiki/Rendezvous_hashing) in the Elixir Programming Language ([elixir-lang.org](http://elixir-lang.org))\n\n\n\n## Installation\n\nAdd rendezvous as a dependency in your mix.exs file:\n\n```elixir\n  defp deps do\n    [\n      rendezvous: \"~\u003e 0.0.1\"\n    ]\n  end\n```\n\nand run `mix deps.get`.\n\n## Usage\n\nUse Rendezvous.get to obtain for an object the corresponding bucket from a list of buckets. The first parameter defines the hashing algorithm to use.\n\n```elixir\nobject = \"Some object to put in bucket\"\nbuckets = [\"bucket A\", \"bucket B\", \"bucket C\"]\nRendezvous.get(:sha, object, buckets)\n```\n\nor use Rendezvous.get_node to obtain a nodename from the nodes in an elixir cluster:\n\n```elixir\n Rendezvous.get_node object # returns name of elixir node\n```\n\n## License\n\nCheck [LICENSE](LICENSE) file for more information.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftimdeputter%2Frendezvous","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftimdeputter%2Frendezvous","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftimdeputter%2Frendezvous/lists"}