#jsonnet #language #data #interpreter

app jrsonnet

Rust jsonnet 实现

7 个版本

1.0.0 2020 年 6 月 27 日
0.5.0-pre952023 年 8 月 13 日
0.5.0-pre942023 年 7 月 26 日
0.5.0-pre92023 年 5 月 15 日
0.5.0-pre62023 年 1 月 8 日

#181 in 文件系统

Download history 159/week @ 2024-03-13 118/week @ 2024-03-20 360/week @ 2024-03-27 403/week @ 2024-04-03 329/week @ 2024-04-10 127/week @ 2024-04-17 66/week @ 2024-04-24 204/week @ 2024-05-01 172/week @ 2024-05-08 271/week @ 2024-05-15 121/week @ 2024-05-22 123/week @ 2024-05-29 106/week @ 2024-06-05 219/week @ 2024-06-12 270/week @ 2024-06-19 99/week @ 2024-06-26

704 每月下载量

MIT 许可证

325KB
11K SLoC

jrsonnet

++++

jrsonnet logo

release license opencollective

++++

// Github 糟糕:我无法像平常那样居中那些图片: https://github.com/github/markup/issues/984 // [.text-center] // Interactive,470, alt=jrsonnet logo // // [.text-center] // -- // alt=release, link=https://github.com/CertainLach/jrsonnet/releases // alt=license, ./LICENSE // alt=opencollective, link=https://opencollective.com/jrsonnet // --

这是什么

Jsonnet 是一种数据模板语言

这个 Rust crate 实现了 jsonnet 库及其基于它的替代 jsonnet 可执行文件。更多信息请见 绑定,绑定

安装

NixOS

jrsonnet 已打包在 nixpkgs 中,并由 @CertainLach 维护

[来源,sh]

nix-env -iA nixpkgs.jrsonnet

MacOS

jrsonnet 已打包到 brew 中,并由 @messense 维护

[来源,sh]

brew install jrsonnet

Windows/其他 Linux 发行版

您可以在 版本 中获取 Jrsonnet 的最新构建版本。

从源代码构建

jrsonnet 应该能够在最新的稳定 Rust 版本上构建(可能是在最旧的版本上,但没有提供 MSRV 策略)

调试构建也可以工作,但比发布版本慢得多

[来源]

cargo build --release

为什么?

已经有多个用不同语言实现的该标准的实现

此实现表明性能优于所有现有实现。更多信息请见 [链接:./docs/benchmarks.md][benchmarks]

此外,我想尝试新的语法功能,jrsonnet 实现了一些。更多信息请见 [链接:./docs/features.adoc][features]

最后,在Rust中实现一些功能总是很有趣。

绑定 [[bindings]]

Rust

alt=crates.io, link=https://crates.io/crates/jrsonnet-evaluator alt=docs.rs, link=https://docs.rs/jrsonnet-evaluator

Jrsonnet是用Rust编写的,所以只需将其作为依赖项添加即可

Python

alt=crates.io, link=https://pypi.ac.cn/project/rjsonnet/

绑定由 @messense 创建和维护

C/C++

Jrsonnet提供了一个标准的 libjsonnet.so 共享库,应作为其直接替代品

其他

还提供了WASM绑定,Java绑定(JNI和WASM编译为 .class)正在进行中

更多信息请参见链接:./bindings/[bindings]。

依赖项

~7MB
~116K SLoC