defmodule ExEmbed.MixProject do use Mix.Project @version "0.3.0" def project do [ app: :ex_embed, version: @version, elixir: "~> 1.16", start_permanent: Mix.env() == :prod, aliases: aliases(), deps: deps(), description: "Elixir-native text embeddings via Ortex + Tokenizers with FastEmbed-compatible model registry", package: package(), docs: docs() ] end def application do [ extra_applications: [:logger], mod: {ExEmbed.Application, []} ] end defp deps do [ {:ortex, "~> 0.1"}, {:tokenizers, "~> 0.4"}, {:nx, "~> 0.7"}, {:req, "~> 0.5"}, {:jason, "~> 1.4"}, {:nimble_options, "~> 1.0"}, {:exla, "~> 0.7", optional: true}, # dev/test {:ex_doc, "~> 0.34", only: :dev, runtime: false}, {:dialyxir, "~> 1.4", only: [:dev, :test], runtime: false}, {:git_ops, "~> 2.6", only: :dev, runtime: false} ] end defp aliases do [ "version.bump": ["git_ops.release"] ] end defp package do [ licenses: ["Apache-2.0"], links: %{ "GitHub" => "https://github.com/dmcbane/ex_embed", "Changelog" => "https://github.com/dmcbane/ex_embed/blob/main/CHANGELOG.md" }, files: ~w(lib priv/registry .formatter.exs mix.exs README.md LICENSE CHANGELOG.md) ] end defp docs do [ main: "ExEmbed", source_url: "https://github.com/dmcbane/ex_embed", homepage_url: "https://github.com/dmcbane/ex_embed", extras: ["README.md", "CHANGELOG.md"], groups_for_modules: [ "Public API": [ExEmbed], Pipeline: [ExEmbed.Pipeline, ExEmbed.Serving], Infrastructure: [ExEmbed.Cache, ExEmbed.Registry, ExEmbed.Downloader, ExEmbed.HFClient] ] ] end end