[package]
edition = "2021"
name = "frink-models"
version = "0.49.0"
build = false
exclude = [
"tests/fixtures/**",
"tests/data/**",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Model loaders and decoder stacks for the Frink inference engine"
homepage = "https://github.com/antonellof/frink"
readme = "README.md"
keywords = [
"llm",
"inference",
"gguf",
"transformer",
"frink",
]
categories = [
"science",
"algorithms",
]
license = "Apache-2.0"
repository = "https://github.com/antonellof/frink"
[features]
cuda = [
"frink-moe/cuda",
"frink-cuda/cuda",
]
default = []
hub = ["dep:ureq"]
metal = [
"frink-moe/metal",
"frink-metal/metal",
]
[lib]
name = "frink_models"
path = "src/lib.rs"
[[example]]
name = "gemma3_chat_sim"
path = "examples/gemma3_chat_sim.rs"
[[example]]
name = "gemma3_logits"
path = "examples/gemma3_logits.rs"
[[example]]
name = "gemma3_tok"
path = "examples/gemma3_tok.rs"
[[test]]
name = "alibi_graphs"
path = "tests/alibi_graphs.rs"
[[test]]
name = "attn_bias"
path = "tests/attn_bias.rs"
[[test]]
name = "attn_temperature_graphs"
path = "tests/attn_temperature_graphs.rs"
[[test]]
name = "bert_family_graphs"
path = "tests/bert_family_graphs.rs"
[[test]]
name = "bert_llama_cpp_parity"
path = "tests/bert_llama_cpp_parity.rs"
[[test]]
name = "biased_layer_norm_graphs"
path = "tests/biased_layer_norm_graphs.rs"
[[test]]
name = "bos_policy"
path = "tests/bos_policy.rs"
[[test]]
name = "chat_template_real_gguf"
path = "tests/chat_template_real_gguf.rs"
[[test]]
name = "checkpoint_receipts"
path = "tests/checkpoint_receipts.rs"
[[test]]
name = "clamped_swiglu_graphs"
path = "tests/clamped_swiglu_graphs.rs"
[[test]]
name = "cohere2_graphs"
path = "tests/cohere2_graphs.rs"
[[test]]
name = "cohere2moe_graphs"
path = "tests/cohere2moe_graphs.rs"
[[test]]
name = "command_r_graphs"
path = "tests/command_r_graphs.rs"
[[test]]
name = "cpu_pool_token_parity"
path = "tests/cpu_pool_token_parity.rs"
[[test]]
name = "dbrx_graphs"
path = "tests/dbrx_graphs.rs"
[[test]]
name = "deepseek2_graphs"
path = "tests/deepseek2_graphs.rs"
[[test]]
name = "deepseek2_hparams"
path = "tests/deepseek2_hparams.rs"
[[test]]
name = "documented_counts"
path = "tests/documented_counts.rs"
[[test]]
name = "falcon_graphs"
path = "tests/falcon_graphs.rs"
[[test]]
name = "falcon_h1_graphs"
path = "tests/falcon_h1_graphs.rs"
[[test]]
name = "fixture_away_graphs"
path = "tests/fixture_away_graphs.rs"
[[test]]
name = "forward_enters_the_pool_once"
path = "tests/forward_enters_the_pool_once.rs"
[[test]]
name = "gated_attention_graphs"
path = "tests/gated_attention_graphs.rs"
[[test]]
name = "gemma2_metal_quality_gate"
path = "tests/gemma2_metal_quality_gate.rs"
[[test]]
name = "gemma4_real_contract"
path = "tests/gemma4_real_contract.rs"
[[test]]
name = "gemma4_tok_smoke"
path = "tests/gemma4_tok_smoke.rs"
[[test]]
name = "gguf_roundtrip"
path = "tests/gguf_roundtrip.rs"
[[test]]
name = "glm4_graphs"
path = "tests/glm4_graphs.rs"
[[test]]
name = "glm4moe_graphs"
path = "tests/glm4moe_graphs.rs"
[[test]]
name = "gptoss_graph"
path = "tests/gptoss_graph.rs"
[[test]]
name = "granite_family_graphs"
path = "tests/granite_family_graphs.rs"
[[test]]
name = "granite_hybrid_graphs"
path = "tests/granite_hybrid_graphs.rs"
[[test]]
name = "granite_swa_graphs"
path = "tests/granite_swa_graphs.rs"
[[test]]
name = "grok_graphs"
path = "tests/grok_graphs.rs"
[[test]]
name = "hrm_text_graphs"
path = "tests/hrm_text_graphs.rs"
[[test]]
name = "kimi_real_data"
path = "tests/kimi_real_data.rs"
[[test]]
name = "kv_window_eviction"
path = "tests/kv_window_eviction.rs"
[[test]]
name = "kv_window_real_checkpoint"
path = "tests/kv_window_real_checkpoint.rs"
[[test]]
name = "layer_loop_graphs"
path = "tests/layer_loop_graphs.rs"
[[test]]
name = "lfm2_graphs"
path = "tests/lfm2_graphs.rs"
[[test]]
name = "llama4_graphs"
path = "tests/llama4_graphs.rs"
[[test]]
name = "lora_graphs"
path = "tests/lora_graphs.rs"
[[test]]
name = "lora_real_checkpoint"
path = "tests/lora_real_checkpoint.rs"
[[test]]
name = "mamba_graphs"
path = "tests/mamba_graphs.rs"
[[test]]
name = "minicpm_graphs"
path = "tests/minicpm_graphs.rs"
[[test]]
name = "minimax_01_graphs"
path = "tests/minimax_01_graphs.rs"
[[test]]
name = "minimax_m2_graphs"
path = "tests/minimax_m2_graphs.rs"
[[test]]
name = "minimax_refusal"
path = "tests/minimax_refusal.rs"
[[test]]
name = "model_swap_isolation"
path = "tests/model_swap_isolation.rs"
[[test]]
name = "moe_routing_bias"
path = "tests/moe_routing_bias.rs"
[[test]]
name = "muse_glimmer_graphs"
path = "tests/muse_glimmer_graphs.rs"
[[test]]
name = "nemotron_h_graphs"
path = "tests/nemotron_h_graphs.rs"
[[test]]
name = "no_rope_layer_graphs"
path = "tests/no_rope_layer_graphs.rs"
[[test]]
name = "olmo_graphs"
path = "tests/olmo_graphs.rs"
[[test]]
name = "one_match_arm_graphs"
path = "tests/one_match_arm_graphs.rs"
[[test]]
name = "paged_metal_parity"
path = "tests/paged_metal_parity.rs"
[[test]]
name = "pangu_embedded_graphs"
path = "tests/pangu_embedded_graphs.rs"
[[test]]
name = "parallel_dense_ffn_graphs"
path = "tests/parallel_dense_ffn_graphs.rs"
[[test]]
name = "parallel_residual_graphs"
path = "tests/parallel_residual_graphs.rs"
[[test]]
name = "per_layer_activation_graphs"
path = "tests/per_layer_activation_graphs.rs"
[[test]]
name = "per_layer_shape_graphs"
path = "tests/per_layer_shape_graphs.rs"
[[test]]
name = "phi2_graphs"
path = "tests/phi2_graphs.rs"
[[test]]
name = "phimoe_graphs"
path = "tests/phimoe_graphs.rs"
[[test]]
name = "plamo2_graphs"
path = "tests/plamo2_graphs.rs"
[[test]]
name = "plm_graphs"
path = "tests/plm_graphs.rs"
[[test]]
name = "position_embd_graphs"
path = "tests/position_embd_graphs.rs"
[[test]]
name = "post_norm_only_graphs"
path = "tests/post_norm_only_graphs.rs"
[[test]]
name = "proj_bias_graphs"
path = "tests/proj_bias_graphs.rs"
[[test]]
name = "qwen2moe_paris"
path = "tests/qwen2moe_paris.rs"
[[test]]
name = "qwen35_graphs"
path = "tests/qwen35_graphs.rs"
[[test]]
name = "qwen3moe_graph"
path = "tests/qwen3moe_graph.rs"
[[test]]
name = "qwen_moe_metal_prefill"
path = "tests/qwen_moe_metal_prefill.rs"
[[test]]
name = "qwen_moe_packed_kinds"
path = "tests/qwen_moe_packed_kinds.rs"
[[test]]
name = "qwen_moe_packed_stride"
path = "tests/qwen_moe_packed_stride.rs"
[[test]]
name = "rerank_cross_encoder_ordering"
path = "tests/rerank_cross_encoder_ordering.rs"
[[test]]
name = "rerank_pooler_present"
path = "tests/rerank_pooler_present.rs"
[[test]]
name = "rerank_pooler_splice"
path = "tests/rerank_pooler_splice.rs"
[[test]]
name = "rope_layout"
path = "tests/rope_layout.rs"
[[test]]
name = "router_input_graphs"
path = "tests/router_input_graphs.rs"
[[test]]
name = "skip_stream_graphs"
path = "tests/skip_stream_graphs.rs"
[[test]]
name = "smollm2_metal_paris"
path = "tests/smollm2_metal_paris.rs"
[[test]]
name = "split_kv_head_dim_graphs"
path = "tests/split_kv_head_dim_graphs.rs"
[[test]]
name = "stablelm_graphs"
path = "tests/stablelm_graphs.rs"
[[test]]
name = "streaming_bytes"
path = "tests/streaming_bytes.rs"
[[test]]
name = "sub_norm_graphs"
path = "tests/sub_norm_graphs.rs"
[[test]]
name = "swa_pattern"
path = "tests/swa_pattern.rs"
[[test]]
name = "unaudited_triage"
path = "tests/unaudited_triage.rs"
[[test]]
name = "ungated_ffn_graphs"
path = "tests/ungated_ffn_graphs.rs"
[[test]]
name = "window_array_graphs"
path = "tests/window_array_graphs.rs"
[[test]]
name = "wordpiece_llama_cpp_parity"
path = "tests/wordpiece_llama_cpp_parity.rs"
[dependencies.anyhow]
version = "1"
[dependencies.base64]
version = "0.23.0"
[dependencies.fancy-regex]
version = "0.18.0"
[dependencies.frink-core]
version = "0.49.0"
[dependencies.frink-cuda]
version = "0.49.0"
[dependencies.frink-gguf]
version = "0.49.0"
[dependencies.frink-metal]
version = "0.49.0"
[dependencies.frink-moe]
version = "0.49.0"
[dependencies.frink-quant]
version = "0.49.0"
[dependencies.frink-safetensors]
version = "0.49.0"
[dependencies.half]
version = "2"
[dependencies.minijinja]
version = "2.21"
features = [
"loop_controls",
"json",
]
[dependencies.rayon]
version = "1"
[dependencies.regex]
version = "1.13.1"
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.serde_json]
version = "1"
[dependencies.thiserror]
version = "1"
[dependencies.ureq]
version = "2.12"
features = ["tls"]
optional = true
default-features = false
[dev-dependencies.byteorder]
version = "1"