Packages

Maglev consistent hashing: a lookup table that spreads keys almost perfectly evenly across backends and stays stable when the backend set changes.

Current section

Files

Jump to
maglev mix.exs
Raw

mix.exs

defmodule Maglev.MixProject do
use Mix.Project
@version "0.1.0"
@source_url "https://github.com/thatsme/maglev_ex"
def project do
[
app: :maglev,
version: @version,
elixir: "~> 1.14",
start_permanent: Mix.env() == :prod,
deps: deps(),
description: description(),
package: package(),
docs: docs(),
name: "Maglev",
source_url: @source_url,
dialyzer: [
plt_add_apps: [:mix],
flags: [:error_handling, :extra_return, :missing_return, :unmatched_returns]
]
]
end
def application do
[
extra_applications: [:crypto]
]
end
defp deps do
[
{:stream_data, "~> 1.1", only: [:dev, :test]},
{:benchee, "~> 1.3", only: [:dev, :test]},
{:ex_doc, "~> 0.34", only: :dev, runtime: false},
{:dialyxir, "~> 1.4", only: [:dev, :test], runtime: false}
]
end
defp description do
"Maglev consistent hashing: a lookup table that spreads keys almost perfectly " <>
"evenly across backends and stays stable when the backend set changes."
end
defp package do
[
licenses: ["Apache-2.0"],
links: %{"GitHub" => @source_url},
files: ~w(lib mix.exs README.md LICENSE CHANGELOG.md .formatter.exs)
]
end
defp docs do
[
main: "readme",
source_ref: "v#{@version}",
extras: ["README.md", "CHANGELOG.md", "LICENSE"]
]
end
end