1= jrsonnet23image:https://img.shields.io/github/v/tag/CertainLach/jrsonnet?color=%23fb4934&label=latest%20release&style=for-the-badge[alt=release, link=https://github.com/CertainLach/jrsonnet/releases]4image:https://img.shields.io/github/license/CertainLach/jrsonnet?color=%2383a598&label=license&style=for-the-badge[alt=license, ./LICENSE]5image:https://img.shields.io/opencollective/all/jrsonnet?color=%238ec07c&style=for-the-badge[alt=opencollective, link=https://opencollective.com/jrsonnet]67== What is it89https://jsonnet.org/[Jsonnet] is a data templating language1011This Rust crate implements both jsonnet library and an alternative `jsonnet` executable based on it.12For more information see [bindings](#Bindings).1314== Install1516=== NixOS1718jrsonnet is packaged in nixpkgs and maintained by @CertainLach1920[source,sh]21----22nix-env -iA nixpkgs.jrsonnet23----2425=== MacOS2627jrsonnet is packaged to brew and maintained by @messense2829[source,sh]30----31brew install jrsonnet32----3334=== Windows/other linux distributions3536You can get latest build of jrsonnet in https://github.com/CertainLach/jrsonnet/releases[releases].3738=== Build from sources3940jrsonnet should build on latest stable Rust version (probably on the oldest, but there is no MSRV policy provided)4142Debug build will work too, but it is much slower than release4344[source]45----46cargo build --release47----4849== Why?5051There already are multiple implementations of this standard implemented in different languages:5253* https://github.com/google/jsonnet[C++];54* https://github.com/google/go-jsonnet/[Go];55* https://github.com/databricks/sjsonnet[Scala].5657This implementation shows performance better than all existing implementations.58For more information see link:./docs/benchmarks.md[benchmarks]5960Also, I wanted to experiment on new syntax features, and jrsonnet implements some of them.61For more information see link:./docs/features.adoc[features]6263In the end, it's always fun to implement something in Rust.6465== Bindings6667=== Rust6869image:https://img.shields.io/crates/v/jrsonnet-evaluator[alt=crates.io, link=https://crates.io/crates/jrsonnet-evaluator]70image:https://docs.rs/jrsonnet-evaluator/badge.svg[alt=docs.rs, link=https://docs.rs/jrsonnet-evaluator]7172Jrsonnet is written in rust itself, so just add it as dependency7374=== Python7576image:https://img.shields.io/pypi/v/rjsonnet[alt=crates.io, link=https://pypi.org/project/rjsonnet/]7778Bindings are created and maintained by @messense7980=== C/C++8182Jrsonnet provides a standard `libjsonnet.so` shared library and should work as drop-in replacement for it8384=== Other8586WASM bingings are also available, Java bindings (Both JNI and WASM compiled to `.class`) are in progress8788See link:./bindings/[bindings] for more information.