YAML implementation for Nim https://nimyaml.org
Go to file
Felix Krause 09824f931b Refactoring of assertions, improved exceptions
* Replaced all assert statements with yAssert, which prints an error message
   and quits on failure, but does nothing when compiling with -d:release.
 * Implemented and used internalError for better discovery of internal bugs.
   Fixes #8.
 * Made RawYamlStream able to raise YamlStreamError, which might primarily be
   useful for user-defined serialization
 * Properly encapsulate RangeError coming from int/uint serialization on 64bit
   machines in YamlStreamError.
 * Some minor style improvements
2016-08-09 20:47:22 +02:00
bench Added benchmark for processing YAML input 2016-03-20 10:32:14 +01:00
doc Fixed and properly implemented variant objects 2016-06-08 19:15:50 +02:00
private Refactoring of assertions, improved exceptions 2016-08-09 20:47:22 +02:00
server Made server output syntax-highlighted YAML 2016-05-12 15:35:29 +02:00
test Fixed and properly implemented variant objects 2016-06-08 19:15:50 +02:00
.gitignore Added benchmark for processing YAML input 2016-03-20 10:32:14 +01:00
CHANGELOG.md Version 0.6.3 2016-07-08 12:08:04 +02:00
README.md NimYAML 0.6.0 2016-06-08 21:28:07 +02:00
config.nims Switched to indentation of 2 spaces 2016-04-02 17:48:22 +02:00
copying.txt Added copyright 2015-12-28 22:22:51 +01:00
nimdoc.cfg Fixed link in generated documentation 2016-02-25 22:34:23 +01:00
yaml.nim Refactoring of assertions, improved exceptions 2016-08-09 20:47:22 +02:00
yaml.nimble Version 0.6.3 2016-07-08 12:08:04 +02:00

README.md

NimYAML - YAML implementation for Nim

NimYAML is a pure Nim YAML implementation without any dependencies other than Nim's standard library. It enables you to serialize Nim objects to a YAML stream and back. It also provides a low-level event-based API, and a document object model which you do not want to use because serializing to native types is much more awesome.

Documentation, examples and an online demo are available here. Releases are available as tags in this repository and can be fetched via nimble:

nimble install yaml

Features that may come in the future

  • Serialization:
    • Support for more standard library types
    • Support for polymorphism
    • Support for generic objects
    • Support for transient fields (i.e. object fields that will not be (de-)serialized

Developers

nim tests # runs unit tests (serialization, dom, json)
          # for parser tests, see yamlTestSuite
nim serializationTests # runs serialization tests
nim documentation # builds documentation to folder docout
nim server # builds the REST server used for the testing ground
nim bench # runs benchmarks, requires libyaml
nim clean # guess
nim build # build a library
nim yamlTestSuite # execute YAML test suite (git-clones yaml-dev-kit)

NimYAML needs at least Nim 0.14.0 in order to compile.

License

MIT