{"id":27205970,"url":"https://github.com/lexedia/eterl","last_synced_at":"2026-01-11T04:52:40.938Z","repository":{"id":65208521,"uuid":"587671944","full_name":"Lexedia/eterl","owner":"Lexedia","description":"Eterl is a fast packer and unpacker for the External Term Erlang Format (version 131).","archived":false,"fork":false,"pushed_at":"2024-05-28T14:06:19.000Z","size":41,"stargazers_count":5,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"mistress","last_synced_at":"2025-04-09T23:06:43.955Z","etag":null,"topics":["encoder-decoder","erlang"],"latest_commit_sha":null,"homepage":"","language":"Dart","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Lexedia.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-01-11T10:01:19.000Z","updated_at":"2024-09-16T12:03:29.000Z","dependencies_parsed_at":"2024-05-28T15:40:32.220Z","dependency_job_id":"57cce6ec-ceb0-4677-b7ea-61ffec28c3e3","html_url":"https://github.com/Lexedia/eterl","commit_stats":null,"previous_names":["lexedia/eterl"],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Lexedia%2Feterl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Lexedia%2Feterl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Lexedia%2Feterl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Lexedia%2Feterl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Lexedia","download_url":"https://codeload.github.com/Lexedia/eterl/tar.gz/refs/heads/mistress","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248125625,"owners_count":21051770,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["encoder-decoder","erlang"],"created_at":"2025-04-09T23:06:48.018Z","updated_at":"2026-01-11T04:52:40.907Z","avatar_url":"https://github.com/Lexedia.png","language":"Dart","readme":"# Eterl (External Term Erlang (format))\n\nEterl is a fast packer and unpacker for the External Term Erlang Format (version 131).\n\n## Example\n\n```dart\nimport 'package:eterl/eterl.dart';\n\nvoid main() {\n    final data = [{'hello': ['eterl', 1,2,3], 'l': [{'im': 'nested', 'i': {'also': 'supports unicode 💀🗿🥀 èè¨àà¨ü!ääüäöä£üüöäüéèéè\u003e\u003e\u003e\u003e\u003c\u003c\u003c\u003c\u003e\u003e~~~'}}]}];\n    final packed = eterl.pack(data);\n    final unpacked = eterl.unpack(packed);\n    print(unpacked);\n}\n```\n\n## Supported terms\n\n- `String`s\n- `Atom`s (only while decoding)\n- `bool`s\n- `double`s\n- `int`s\n- `BigInt`s\n- `Map`s\n- `List`s\n- `Tuple`s (only while decoding, tuples are converted into a `List`)\n\n## Benchmarks\n\n`dart run benchmark/eterl_benchmark.dart`\n\n```shell\n[210ms:142us] Encoder: hello world\n  mean: 0.15 ± 0.11 us, median: 0.13 ± 0.017 us\n  ▉▂▄▂__________  110  _____ sample size: 100 (averaged over 225 runs)\n\n[243ms:186us] Encoder: data\n  mean: 2.59 ± 0.76 us, median: 2.28 ± 0.24 us\n  ▆▉▄▂________________▁_______ sample size: 79 (averaged over 199 runs)\n\n[274ms:047us] Encoder: Complex data\n  mean: 49.75 ± 12.45 us, median: 42.58 ± 14.93 us\n  ▉▁▁▁_ sample size: 28 (averaged over 46 runs)\n\n[206ms:551us] Decoder: hello world\n  mean: 0.23 ± 0.12 us, median: 0.17 ± 0.10 us\n  ▉_▄▁_____________ sample size: 100 (averaged over 188 runs)\n\n[243ms:790us] Decoder: data\n  mean: 3.60 ± 1.17 us, median: 2.91 ± 1.46 us\n  ▉▆▁▁▃_ sample size: 75 (averaged over 165 runs)\n\n[266ms:378us] Decoder: Complex data\n  mean: 158.66 ± 312.078 us, median: 63.87 ± 12.28 us\n  ▉▅▁_▁____  149  _____ sample size: 27 (averaged over 28 runs)\n```\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flexedia%2Feterl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flexedia%2Feterl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flexedia%2Feterl/lists"}