Packages
simplify_baml
0.1.0
Structured LLM output generation for Elixir using BAML (Basically A Markup Language). Provides type-safe schema definitions, automatic prompt generation, and streaming support with integration to ReqLLM for calling multiple LLM providers.
Current section
Files
Jump to
Current section
Files
simplify_baml
mix.exs
mix.exs
defmodule SimplifyBaml.MixProject do
use Mix.Project
@version "0.1.0"
@source_url "https://github.com/catethos/simplify_baml_ex"
def project do
[
app: :simplify_baml,
version: @version,
elixir: "~> 1.14",
start_permanent: Mix.env() == :prod,
compilers: Mix.compilers(),
rustler_crates: rustler_crates(),
deps: deps(),
description: description(),
package: package(),
docs: docs(),
name: "SimplifyBaml",
source_url: @source_url
]
end
def application do
[
extra_applications: [:logger]
]
end
defp rustler_crates do
[
simplify_baml_nif: [
path: "native/simplify_baml_nif",
mode: rustler_mode(Mix.env())
]
]
end
defp rustler_mode(:prod), do: :release
defp rustler_mode(_), do: :debug
defp deps do
[
# Core dependencies
{:rustler, "~> 0.34.0"},
{:req_llm, "~> 1.0.0-rc.6"},
{:nimble_options, "~> 1.0"},
{:jason, "~> 1.4"},
# Dev/test dependencies
{:ex_doc, "~> 0.31", only: :dev, runtime: false},
{:dialyxir, "~> 1.4", only: [:dev, :test], runtime: false},
{:credo, "~> 1.7", only: [:dev, :test], runtime: false}
]
end
defp description do
"""
Structured LLM output generation for Elixir using BAML (Basically A Markup Language).
Provides type-safe schema definitions, automatic prompt generation, and streaming support
with integration to ReqLLM for calling multiple LLM providers.
"""
end
defp package do
[
name: "simplify_baml",
files:
~w(lib native/simplify_baml_nif/src native/simplify_baml_nif/Cargo.* .formatter.exs mix.exs README.md LICENSE),
licenses: ["MIT"],
links: %{
"GitHub" => @source_url,
"Rust BAML" => "https://github.com/BoundaryML/baml"
}
]
end
defp docs do
[
main: "SimplifyBaml",
source_url: @source_url,
source_ref: "v#{@version}",
extras: ["README.md"]
]
end
end