defmodule Scholar.MixProject do use Mix.Project @source_url "https://github.com/elixir-nx/scholar" @version "0.2.0" def project do [ app: :scholar, name: "Scholar", version: @version, elixir: "~> 1.14", elixirc_paths: elixirc_paths(Mix.env()), start_permanent: Mix.env() == :prod, deps: deps(), docs: docs(), package: package() ] end defp elixirc_paths(:test), do: ["lib", "test/support"] defp elixirc_paths(_), do: ["lib"] def application do [ extra_applications: [:logger] ] end defp deps do [ {:ex_doc, "~> 0.30", only: :docs}, {:nx, "~> 0.6"}, {:nimble_options, "~> 0.5.2 or ~> 1.0"}, {:exla, "~> 0.6"}, {:polaris, "~> 0.1"} ] end defp package do [ maintainers: ["Mateusz Słuszniak"], description: "Traditional machine learning on top of Nx", licenses: ["Apache-2.0"], links: %{"GitHub" => @source_url} ] end defp docs do [ main: "Scholar", source_url: @source_url, logo: "images/scholar_simplified.png", extra_section: "Guides", extras: [ "notebooks/linear_regression.livemd", "notebooks/k_means.livemd", "notebooks/k_nearest_neighbors.livemd" ], groups_for_modules: [ Models: [ Scholar.Cluster.AffinityPropagation, Scholar.Cluster.DBSCAN, Scholar.Cluster.GaussianMixture, Scholar.Cluster.KMeans, Scholar.Decomposition.PCA, Scholar.Integrate, Scholar.Interpolation.BezierSpline, Scholar.Interpolation.CubicSpline, Scholar.Interpolation.Linear, Scholar.Linear.LinearRegression, Scholar.Linear.LogisticRegression, Scholar.Linear.PolynomialRegression, Scholar.Linear.RidgeRegression, Scholar.Manifold.TSNE, Scholar.NaiveBayes.Complement, Scholar.NaiveBayes.Gaussian, Scholar.NaiveBayes.Multinomial, Scholar.Neighbors.KNearestNeighbors, Scholar.Neighbors.RadiusNearestNeighbors ], Utilities: [ Scholar.Covariance, Scholar.Impute.SimpleImputer, Scholar.Metrics.Classification, Scholar.Metrics.Clustering, Scholar.Metrics.Distance, Scholar.Metrics.Regression, Scholar.Metrics.Similarity, Scholar.ModelSelection, Scholar.Preprocessing, Scholar.Stats ] ], before_closing_body_tag: &before_closing_body_tag/1 ] end defp before_closing_body_tag(:html) do """ """ end defp before_closing_body_tag(_), do: "" end