# Kuddle v1.1.1 - Table of Contents

> Kuddle is a KDL Decoder, Encoder and utility library for Elixir.

## Modules

- [Kuddle](Kuddle.md): Kuddle is a KDL (https://github.com/kdl-org/kdl) encoder and decoder.
- [Kuddle.Node](Kuddle.Node.md): The equivalent of a KDL Node, every node has a name, some optional annotations, attributes
and children.
- [Kuddle.Path](Kuddle.Path.md): Utility module for looking up nodes in a document.
- [Kuddle.Tokens](Kuddle.Tokens.md): Tokens emitted by the Tokenizers.

- [Kuddle.Utils](Kuddle.Utils.md): Common utility module for kuddle

- [Kuddle.V1](Kuddle.V1.md): Kuddle is a KDL (https://github.com/kdl-org/kdl) encoder and decoder.
- [Kuddle.V1.Decoder](Kuddle.V1.Decoder.md): Tokenizes and parses KDL documents into kuddle documents.

- [Kuddle.V1.Encoder](Kuddle.V1.Encoder.md): Encodes a Kuddle document into a KDL blob

- [Kuddle.V1.Tokenizer](Kuddle.V1.Tokenizer.md): Intermediate process of converting a KDL1 document into some basic tokens that can be parsed.

- [Kuddle.V1.Utils](Kuddle.V1.Utils.md)
- [Kuddle.V2](Kuddle.V2.md): This is the V2 interface which handles KDL2 documents, if you need the older encoder and encoder,
see the V1 module instead.

- [Kuddle.V2.Decoder](Kuddle.V2.Decoder.md): Tokenizes and parses KDL2 documents into kuddle documents.

- [Kuddle.V2.Encoder](Kuddle.V2.Encoder.md): Encodes a Kuddle document into a KDL blob

- [Kuddle.V2.Tokenizer](Kuddle.V2.Tokenizer.md): Intermediate process of converting a KDL2 document into some basic tokens that can be parsed.

- [Kuddle.V2.Utils](Kuddle.V2.Utils.md)
- [Kuddle.Value](Kuddle.Value.md): Used to represent a value for attributes.

- Exceptions
  - [Kuddle.DecodeError](Kuddle.DecodeError.md)
  - [Kuddle.EncodeError](Kuddle.EncodeError.md)

