Skip to content

Rust implementation of Jsonnet language

License

Notifications You must be signed in to change notification settings

pawelbeza/jrsonnet

 
 

Repository files navigation

jrsonnet

release license opencollective

What is it

Jsonnet is a data templating language

This Rust crate implements both jsonnet library and an alternative jsonnet executable based on it. For more information see bindings.

Install

NixOS

jrsonnet is packaged in nixpkgs and maintained by @CertainLach

nix-env -iA nixpkgs.jrsonnet

MacOS

jrsonnet is packaged to brew and maintained by @messense

brew install jrsonnet

Windows/other linux distributions

You can get latest build of jrsonnet in releases

Build from sources

jrsonnet should build on latest stable Rust version (probally on olders, but there is no MSRV policy provided)

Debug build will work too, but it is much slower than release

cargo build --release

Why?

There already are multiple implementations of this standard implemented in different languages: C++, Go, Scala.

This implementation shows performance better than all existing implementations. For more information see benchmarks.

Also, I wanted to experiment on new syntax features, and jrsonnet implements some of them. For more information see features

In the end, it's always fun to implement something in Rust.

Bindings

Rust

crates.io docs.rs

Jrsonnet is written in rust itself, so just add it as dependency

Python

crates.io

Bindings are created and maintained by @messense

C/C++

Jrsonnet provides a standard libjsonnet.so shared library and should work as drop-in replacement for it

Other

WASM bingings are also available, Java bindings (Both JNI and WASM compiled to .class) are in progress

See bindings for more information.

About

Rust implementation of Jsonnet language

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Rust 88.9%
  • Jsonnet 3.7%
  • Nix 3.4%
  • C 2.9%
  • Other 1.1%