#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

#415 in Configuration

Download history 68/week @ 2023-11-28 436/week @ 2023-12-05 688/week @ 2023-12-12 628/week @ 2023-12-19 180/week @ 2023-12-26 211/week @ 2024-01-02 236/week @ 2024-01-09 170/week @ 2024-01-16 150/week @ 2024-01-23 185/week @ 2024-01-30 73/week @ 2024-02-06 183/week @ 2024-02-13 188/week @ 2024-02-20 202/week @ 2024-02-27 199/week @ 2024-03-05 105/week @ 2024-03-12

727 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