YAMLStar
A YAML framework for all programming languages
What Is YAMLStar: Description: Pure YAML 1.2 loader with cross-language consistency Version: 0.1.2 Languages: - Clojure - C# - Fortran - Go - Java - Node.js - Perl - Python - Rust Features: Spec Compliant: true # 100% YAML 1.2 specification Pure Clojure: true # No SnakeYAML dependencies Lightweight: true # Minimal dependencies Extensible: true # Plugin system (Phase 3) Quick Start: Python: | # pip install yamlstar from yamlstar import YAMLStar ys = YAMLStar() data = ys.load('key: value') # {'key': 'value'} ys.close() Node.js: | // npm install yamlstar const YAMLStar = require('yamlstar'); const ys = new YAMLStar(); const data = ys.load('key: value'); // { key: 'value' } ys.close(); Clojure: | ; lein/deps.edn: org.yamlstar/yamlstar "0.1.2" (require '[yamlstar.core :as yaml]) (yaml/load "key: value") ;=> {"key" "value"} Go: | // go get github.com/yaml/yamlstar-go import "github.com/yaml/yamlstar-go" ys := yamlstar.New() data := ys.Load("key: value") // map[string]interface{}{"key": "value"} ys.Close() Architecture: Pipeline: - Parser: Pure Clojure YAML 1.2 parser - Composer: Event stream to node tree - Resolver: Type inference (!!str, !!int, !!bool, etc.) - Constructor: Nodes to native data structures Dependencies: 0 # Zero external dependencies Resources: GitHub: https://github.com/yaml/yamlstar Documentation: https://yamlstar.org/getting-started License: MIT Author: Ingy döt Net # Inventor of YAML