2015-12-29 17:38:22 +00:00
|
|
|
# NimYAML - YAML implementation for Nim
|
|
|
|
|
2016-09-20 16:33:52 +00:00
|
|
|
[![Build Status](https://travis-ci.org/flyx/NimYAML.svg?branch=devel)](https://travis-ci.org/flyx/NimYAML)
|
|
|
|
|
2016-06-08 19:28:07 +00:00
|
|
|
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.
|
2015-12-29 17:38:22 +00:00
|
|
|
|
2016-06-08 19:28:07 +00:00
|
|
|
Documentation, examples and an online demo are available [here][1]. Releases are
|
|
|
|
available as tags in this repository and can be fetched via nimble:
|
|
|
|
|
|
|
|
nimble install yaml
|
|
|
|
|
|
|
|
## Features that may come in the future
|
2015-12-29 17:38:22 +00:00
|
|
|
|
|
|
|
* Serialization:
|
|
|
|
- Support for more standard library types
|
2016-06-08 19:28:07 +00:00
|
|
|
- Support for polymorphism
|
|
|
|
- Support for generic objects
|
|
|
|
- Support for transient fields (i.e. object fields that will not be
|
|
|
|
(de-)serialized
|
2015-12-29 17:38:22 +00:00
|
|
|
|
2016-02-16 10:05:36 +00:00
|
|
|
## Developers
|
|
|
|
|
|
|
|
```bash
|
2016-03-14 17:10:34 +00:00
|
|
|
nim tests # runs unit tests (serialization, dom, json)
|
|
|
|
# for parser tests, see yamlTestSuite
|
2016-02-16 10:05:36 +00:00
|
|
|
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
|
2016-03-04 18:10:48 +00:00
|
|
|
nim yamlTestSuite # execute YAML test suite (git-clones yaml-dev-kit)
|
2016-02-16 10:05:36 +00:00
|
|
|
```
|
|
|
|
|
2016-10-01 12:55:44 +00:00
|
|
|
NimYAML needs at least Nim 0.15.0 in order to compile.
|
2016-02-16 10:05:36 +00:00
|
|
|
|
2015-12-29 17:38:22 +00:00
|
|
|
## License
|
|
|
|
|
2016-06-08 19:28:07 +00:00
|
|
|
[MIT][2]
|
|
|
|
|
|
|
|
[1]: http://flyx.github.io/NimYAML/
|
|
|
|
[2]: copying.txt
|