YAML implementation for Nim https://nimyaml.org
Go to file
flyx 89e18cebfa
fix #105
fixed an off-by-one error when presenting folded scalars
2022-01-22 01:18:11 +01:00
.github up Readme, +funding, v0.16.0 2021-10-22 18:36:29 +02:00
bench Fixed a GC problem; improved bench & tojson 2016-09-30 19:35:43 +02:00
doc fixes #93 2021-05-18 00:31:47 +02:00
server server output fix 2021-05-17 20:33:05 +02:00
test updated tests, fixed problems 2021-10-22 17:42:48 +02:00
tools Added testSuiteEvents tool 2017-01-09 19:09:07 +01:00
yaml fix #105 2022-01-22 01:18:11 +01:00
.gitignore make tests green again; final fix for 0.17.0 2017-07-10 20:31:40 +02:00
.gitmodules updated yaml-test-suite 2021-10-21 17:37:51 +02:00
CHANGELOG.md up Readme, +funding, v0.16.0 2021-10-22 18:36:29 +02:00
README.md up Readme, +funding, v0.16.0 2021-10-22 18:36:29 +02:00
config.nims Fixes #80 2020-03-22 11:57:00 +01:00
copying.txt Added copyright 2015-12-28 22:22:51 +01:00
nimdoc.cfg made docs compile again 2021-05-18 01:01:30 +02:00
yaml.nim disable DOM API when using ARC (ref #85) 2021-05-18 00:42:58 +02:00
yaml.nimble up Readme, +funding, v0.16.0 2021-10-22 18:36:29 +02:00

README.md

NimYAML - YAML implementation for Nim

Test Status

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

Status

The library is fairly stable, I only maintain it and will not add any features due to lack of time and interest. NimYAML passes all tests of the current YAML test suite which makes it 100% conformant with YAML 1.2.

PRs for bugs are welcome. If you want to add a feature, you are free to; but be aware that I will not maintain it and am unlikely to review it in depth, so if I accept it, you will be co-maintainer.

Features that have been planned, but will not be implemented by myself

  • Serialization:
    • Support for more standard library types
    • Support for polymorphism
    • Support for generic objects

Developers

nim test # runs all tests
nim lexerTests # run lexer tests
nim parserTests # run parser tests (git-clones yaml-dev-kit)
nim serializationTests # runs serialization tests
nim quickstartTests # run tests for quickstart snippets from documentation
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

NimYAML supports Nim 1.4.0 and later. Previous versions are untested. NimYAML v0.9.1 is the last release to support Nim 0.15.x and 0.16.0.

When debugging crashes in this library, use the d:debug compile flag to enable printing of the internal stack traces for calls to internalError and yAssert.

License

MIT

Support this Project

If you like this project and want to give something back, you can check out GitHub's Sponsor button to the right. This is just an option I provide, not something I request you to do, and I will never nag about it.