A pure Erlang application for parsing YAML 1.2 and JSON documents with no external dependencies.
yamerl is a YAML 1.2 and JSON parser written in pure Erlang. It allows developers to parse and construct data from YAML and JSON documents without any external dependencies, providing both simple and detailed output modes for flexible data handling.
Erlang and Elixir developers who need to parse YAML or JSON configuration files, data streams, or serialized documents within their applications.
Developers choose yamerl for its dependency-free, pure Erlang implementation that ensures portability and safety, along with support for both YAML and JSON parsing in a single library.
YAML 1.2 and JSON parser in pure Erlang
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Pure Erlang implementation with no NIFs or external dependencies, ensuring it runs on any Erlang/OTP platform without compatibility issues.
Parses both YAML 1.1/1.2 and JSON from strings, files, or streams, reducing library bloat in mixed-data environments.
Offers simple Erlang structures for quick integration and detailed records with metadata like line/column for debugging or precise error handling.
Provides a chunk-based API for incremental parsing, allowing handling of large files without loading entire documents into memory.
Pure Erlang implementation may be slower than parsers using native code (NIFs) for CPU-intensive parsing tasks, impacting high-volume scenarios.
Users must explicitly call application:start(yamerl) before use, an extra step that can lead to runtime errors if omitted, unlike some auto-starting libraries.
As a niche library, it lacks extensive community plugins, IDE support, or third-party tools compared to more mainstream parsers in other languages.