#erlang #term #atom #format #cursor

eetf

Library for encoding/decoding Erlang External Term Format

16 releases (9 breaking)

0.10.0 Mar 16, 2025
0.9.0 Sep 23, 2023
0.8.0 Apr 3, 2022
0.7.0 Mar 23, 2022
0.3.3 Jun 3, 2016

#460 in Encoding

Download history 67/week @ 2024-12-25 200/week @ 2025-01-01 181/week @ 2025-01-08 308/week @ 2025-01-15 618/week @ 2025-01-22 728/week @ 2025-01-29 433/week @ 2025-02-05 528/week @ 2025-02-12 449/week @ 2025-02-19 385/week @ 2025-02-26 694/week @ 2025-03-05 1088/week @ 2025-03-12 1019/week @ 2025-03-19 699/week @ 2025-03-26 744/week @ 2025-04-02 405/week @ 2025-04-09

3,064 downloads per month
Used in 7 crates (4 directly)

MIT license

85KB
2.5K SLoC

Library for encoding/decoding Erlang External Term Format.

Examples

Decodes an atom:

use std::io::Cursor;
use eetf::{Term, Atom};

let bytes = vec![131, 100, 0, 3, 102, 111, 111];
let term = Term::decode(Cursor::new(&bytes)).unwrap();
assert_eq!(term, Term::from(Atom::from("foo")));

Encodes an atom:

use eetf::{Term, Atom};

let mut buf = Vec::new();
let term = Term::from(Atom::from("foo"));
term.encode(&mut buf).unwrap();
assert_eq!(vec![131, 100, 0, 3, 102, 111, 111], buf);

Reference


eetf

eetf Documentation Actions Status License: MIT

A Rust implementation of Erlang External Term Format.

Documentation

See RustDoc Documentation.

The documentation includes some examples.

Dependencies

~3.5MB
~52K SLoC