Skip to main content

mix.exs

defmodule Statwise.MixProject do
  use Mix.Project

  def project do
    [
      app: :statwise,
      version: "0.1.0",
      elixir: "~> 1.19",
      elixirc_paths: elixirc_paths(Mix.env()),
      name: "Statwise",
      description: description(),
      source_url: "https://github.com/catethos/statwise",
      homepage_url: "https://github.com/catethos/statwise",
      start_permanent: Mix.env() == :prod,
      package: package(),
      docs: docs(),
      deps: deps()
    ]
  end

  defp elixirc_paths(:test), do: ["lib", "test/support"]
  defp elixirc_paths(_env), do: ["lib"]

  # Run "mix help compile.app" to learn about applications.
  def application do
    [
      extra_applications: [:logger]
    ]
  end

  # Run "mix help deps" to learn about dependencies.
  defp deps do
    [
      {:nx, "~> 0.12"},
      {:jason, "~> 1.4", only: :test},
      {:stream_data, "~> 1.1", only: :test},
      {:ex_doc, "~> 0.38", only: :dev, runtime: false}
    ]
  end

  defp description do
    "One-dimensional statistical helpers and tests for Elixir/Nx with Python-reference fixtures."
  end

  defp package do
    [
      licenses: ["MIT"],
      links: %{
        "GitHub" => "https://github.com/catethos/statwise"
      },
      files: ~w(lib mix.exs README.md LICENSE CHANGELOG.md docs)
    ]
  end

  defp docs do
    [
      main: "readme",
      extras: [
        "README.md",
        "CHANGELOG.md",
        "docs/compatibility.md",
        "docs/statistical_tests_gallery.livemd",
        "docs/visualization.md",
        "docs/visualization_gallery.livemd",
        "docs/visualization_roadmap.md",
        "docs/performance.md",
        "docs/release_checklist.md"
      ],
      groups_for_extras: [
        Guides: ~r/docs\/.*/
      ]
    ]
  end
end