Skip to content

Elixir SDK

The Elixir library provides a full Twilic v2 implementation with dynamic, schema-aware, batch, and stateful encoding.

Requirements

  • Elixir 1.19 or later
  • OTP 27 or later

Install

elixir
def deps do
[
{:twilic, git: "https://github.com/twilic/twilic-elixir.git"}
]
end

Quick Start

elixir
value =
Twilic.new_map([
Twilic.entry("id", Twilic.new_u64(1001)),
Twilic.entry("name", Twilic.new_string("alice")),
Twilic.entry("score", Twilic.new_f64(98.6)),
])

encoded = Twilic.encode(value)
decoded = Twilic.decode(encoded)

API Reference

Dynamic Encoding

elixir
Twilic.encode(value)  # binary
Twilic.decode(bytes) # value tree

Schema-Aware Encoding

elixir
Twilic.encode_with_schema(value, schema)

Batch Encoding

elixir
Twilic.encode_batch(records)

Project Layout

text
twilic-elixir/
lib/twilic/ # wire, model, codec, session, protocol, v2
test/
scripts/ # Rust interop fixtures and smoke checks
docs/

Source

github.com/twilic/twilic-elixir

Released under the CC-BY-4.0 License.