15 个版本
0.5.0-pre95 | 2023年8月13日 |
---|---|
0.5.0-pre94 | 2023年7月26日 |
0.5.0-pre9 | 2023年5月15日 |
0.5.0-pre8 | 2023年4月18日 |
0.3.6 | 2021年4月30日 |
#171 in 内存管理
4,315 每月下载
用于 16 个crate (3 直接使用)
15KB
432 行
jrsonnet
++++
++++// Github sucks: I can't center those images the normal way: https://github.com/github/markup/issues/984 // [.text-center] // // // [.text-center] // -- // // // // --
它是做什么的
Jsonnet 是一种数据模板语言
此Rustcrate实现了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
为什么?
这个标准已经以不同语言实现了多个实现
- C++;
- Go;
- Scala.
- [NEW] 另一个Rust实现出现.
此实现显示的性能优于所有现有实现。更多信息请参阅链接:./docs/benchmarks.md[基准测试]
此外,我还想尝试新的语法特性,而jrsonnet实现了一些。更多信息请参阅链接:./docs/features.adoc[features]
最终,用Rust实现东西总是很有趣。
绑定 [[bindings]]
Rust
Jrsonnet是用Rust编写的,所以只需将其作为依赖项添加即可
Python
绑定由@messense创建和维护
C/C++
Jrsonnet提供了一个标准的libjsonnet.so
共享库,应该可以作为其直接替代品
其他
WASM绑定也可用,Java绑定(JNI和编译为.class
的WASM)正在进行中
更多信息请参阅链接:./bindings/[bindings]
依赖项
~2MB
~29K SLoC