#yaml #serialization #serde-yaml #deserializatin

yanked serde_yaml_incomplete

YAML support for rust-serde

Uses old Rust 2015

0.0.0 Oct 22, 2016

#11 in #serde-yaml

MIT license

150KB
1.5K SLoC

YAML serialization and deserialization. It follows the YAML Spec 1.2.

Current State: Help Wanted !

Build Status Latest Version

Even though I started the project, I currently feel unable to finish it. Therefore, if you would like to get into Rust, serde and YAML, this project could be for you. Just let me know, and we will figure something out 😀.

The project is in early development and cannot be used at all !.

Test-Driven Development

All development is backed by at least one unit- or integration-test. To keep the source files as light and small as possible, unit-tests are put in place where integration tests would usually be. Taken that into consideration, we might end up not differentiating between these types too much after all.

When testing serialization, we will use syntex to generate the serialization code needed for our test-data structures. The desired output is generated by a python program which uses an existing pure-python implementation of YAML for reference.

All dependencies between generated files are help within our top-level Makefile. It is made so that the default target will print a help text with all available targets.

To run tests and assure all generated files are up-to-date, please run make test.

Prerequisites

To run tests using the provided infrastructure, you will need the following:

  • make
    • The make program deals with inter-file dependencies and runs the correct processes
  • wget
    • is used to install the python virtual environment

Please note that the build system is not expected to work on Windows.

Running Tests

As the repository contains all required files (even the generated ones), you are able to run tests without any prerequisites and on Windows using cargo test.

Development Screencasts

All development is recorded and made available on YouTube. No cutting, no script, just my plain day, every day, coding with narration.

What is YAML

TODO

Limitations

This paragraph contains the differences of the implementation compared to the requirements of the underlying yaml specification.

  • NO SERIALZATION SUPPORT
  • NO DESERIALIZTION SUPPORT

Deviations from the Spec

This is an exhaustive list items showing where this implementation deviates from the recommendations of the SPEC.

  • TODO ...

Dependencies

~0.9–1.2MB
~26K SLoC