#json #jsonnet #configuration #bindings #data #org #libjsonnet

jsonnet-rs

Bindings to libjsonnet (https://jsonnet.org/), a domain specific configuration language that helps you define JSON data

3 releases (breaking)

0.17.0 Feb 1, 2021
0.6.0 May 5, 2018
0.5.0 Jan 3, 2017

#380 in Configuration

Download history 591/week @ 2023-12-15 409/week @ 2023-12-22 120/week @ 2023-12-29 236/week @ 2024-01-05 193/week @ 2024-01-12 205/week @ 2024-01-19 150/week @ 2024-01-26 138/week @ 2024-02-02 66/week @ 2024-02-09 246/week @ 2024-02-16 181/week @ 2024-02-23 208/week @ 2024-03-01 172/week @ 2024-03-08 108/week @ 2024-03-15 159/week @ 2024-03-22 188/week @ 2024-03-29

646 downloads per month
Used in 4 crates (2 directly)

Apache-2.0

2MB
33K SLoC

Jsonnet 18K SLoC // 0.2% comments C++ 10K SLoC // 0.1% comments Python 1.5K SLoC // 0.2% comments Rust 1K SLoC // 0.0% comments C 680 SLoC // 0.1% comments JavaScript 591 SLoC // 0.1% comments Shell 510 SLoC // 0.3% comments Visual Studio Project 327 SLoC Bazel 269 SLoC // 0.1% comments Java 139 SLoC // 0.4% comments Visual Studio Solution 40 SLoC Bitbake 32 SLoC

rust-jsonnet

crates.io Version Badge docs.rs Doc Badge Build Status Badge

libjsonnet bindings for Rust

[dependencies]
jsonnet-rs = "0.6"

Building rust-jsonnet

Building jsonnet-sys requires gcc (via the cc Rust crate). libjsonnet is not typically available as an existing shared library, so jsonnet-sys builds and statically links its own copy.

$ git clone https://github.com/anguslees/rust-jsonnet
$ cd rust-jsonnet
$ cargo build

See also examples/jsonnet.rs for an almost-but-not-quite drop-in replacement for the official jsonnet executable implemented using this library.

License

rust-jsonnet is distributed under the terms of the Apache License (Version 2.0), the same as libjsonnet itself.

See LICENSE for details.

Dependencies