git.delta.rocks / jrsonnet / refs/commits / aeb50fc41570

difftreelog

doc: add logo

Yaroslav Bolyukin2023-11-18parent: #e7e620b.patch.diff
in: master

2 files changed

modifiedREADME.adocdiffbeforeafterboth
before · README.adoc

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](#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 (probably on the oldest, 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:

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.

after · README.adoc

jrsonnet logo

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 (probably on the oldest, 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:

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.

addeddocs/logowide.svgdiffbeforeafterboth
--- /dev/null
+++ b/docs/logowide.svg
@@ -0,0 +1,97 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 28.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 viewBox="0 0 2000 500" style="enable-background:new 0 0 2000 500;" xml:space="preserve">
+<path style="fill:#873A4A;stroke:#873A4A;stroke-width:0.25;stroke-miterlimit:10;" d="M1750,499.75H250
+	C112.637,499.75,0.25,387.363,0.25,250v0C0.25,112.637,112.637,0.25,250,0.25h1500c137.362,0,249.75,112.387,249.75,249.75v0
+	C1999.75,387.363,1887.363,499.75,1750,499.75z"/>
+<polygon style="fill:#E35E54;stroke:#E45E54;stroke-width:0.25;stroke-miterlimit:10;" points="548.275,352.303 605.237,319.416 
+	548.275,286.94 548.275,318.712 "/>
+<polygon style="fill:#CE444E;stroke:#CE444E;stroke-width:0.25;stroke-miterlimit:10;" points="434.351,352.303 434.351,417.667 
+	491.313,385.19 462.832,368.747 "/>
+<polygon style="fill:#F38066;stroke:#F48066;stroke-width:0.25;stroke-miterlimit:10;" points="516.195,370.824 491.313,385.19 
+	548.275,417.667 548.275,352.303 "/>
+<polygon style="fill:#E35E54;stroke:#E45E54;stroke-width:0.25;stroke-miterlimit:10;" points="377.389,254.053 377.389,221.576 
+	377.389,188.689 341.258,209.289 320.427,221.166 "/>
+<polygon style="fill:#863B4A;" points="548.275,352.303 491.313,385.19 516.195,370.824 "/>
+<path style="fill:#F8B197;stroke:#F9B299;stroke-width:0.25;stroke-miterlimit:10;" d="M317.929,302.591
+	c-9.86-5.693-22.585-2.283-28.277,7.577v0c-5.693,9.86-2.283,22.585,7.577,28.277l80.161,46.281v-47.805L317.929,302.591z"/>
+<path style="fill:#F8B197;stroke:#F9B299;stroke-width:0.25;stroke-miterlimit:10;" d="M363.956,115.373
+	c-9.86-5.693-22.584-2.283-28.277,7.577v0c-5.693,9.86-2.283,22.585,7.577,28.277l49.51,28.585l41.401-23.903L363.956,115.373z"/>
+<path style="fill:#F8B197;stroke:#F9B299;stroke-width:0.25;stroke-miterlimit:10;" d="M261.712,270.135l-11.951-6.9
+	c-9.86-5.693-22.584-2.283-28.277,7.577l0,0c-5.693,9.86-2.283,22.584,7.577,28.277l11.951,6.9
+	c9.86,5.693,22.584,2.283,28.277-7.577h0C274.981,288.552,271.572,275.827,261.712,270.135z"/>
+<path style="fill:#F8B197;stroke:#F9B299;stroke-width:0.25;stroke-miterlimit:10;" d="M290.546,120.945
+	c9.86,5.693,22.585,2.283,28.277-7.577v0c5.693-9.86,2.283-22.584-7.577-28.277l0,0c-9.86-5.693-22.584-2.283-28.277,7.577h0
+	C277.277,102.527,280.687,115.252,290.546,120.945z"/>
+<path style="fill:#F9B299;stroke:#F9B299;stroke-width:0.25;stroke-miterlimit:10;" d="M341.258,209.289l-131.597-75.978
+	c-9.86-5.693-22.585-2.283-28.277,7.577s-2.283,22.585,7.577,28.277l131.467,75.903v-23.903L341.258,209.289z"/>
+<path style="fill:#F8B197;stroke:#F9B299;stroke-width:0.25;stroke-miterlimit:10;" d="M582.908,175.797
+	c-0.085-0.051-0.161-0.11-0.247-0.16l-83.659-48.301c-9.86-5.693-22.584-2.283-28.277,7.577h0
+	c-5.693,9.86-2.283,22.585,7.577,28.277l28.588,16.505l41.386-23.894L582.908,175.797z"/>
+<polygon style="fill:#F48066;stroke:#F48066;stroke-width:0.25;stroke-miterlimit:10;" points="434.351,286.94 434.351,221.576 
+	377.389,188.689 377.389,221.576 377.389,254.053 320.427,221.166 320.427,245.068 320.427,286.529 377.389,319.416 
+	377.389,336.921 377.389,384.726 377.389,384.78 434.351,417.667 434.351,352.303 462.832,368.747 491.313,385.19 491.313,319.827 
+	"/>
+<polygon style="fill:#CE444E;stroke:#CE444E;stroke-width:0.25;stroke-miterlimit:10;" points="491.313,385.19 548.275,352.303 
+	548.275,318.712 548.275,286.94 491.313,319.827 "/>
+<polygon style="fill:#CE444E;stroke:#CE444E;stroke-width:0.25;stroke-miterlimit:10;" points="548.275,221.576 548.275,286.94 
+	605.237,254.053 605.237,188.689 "/>
+<polygon style="fill:#CE444E;stroke:#CE444E;stroke-width:0.25;stroke-miterlimit:10;" points="548.275,417.667 605.237,384.78 
+	605.237,319.416 548.275,352.303 "/>
+<polygon style="fill:#CE444E;stroke:#CE444E;stroke-width:0.25;stroke-miterlimit:10;" points="434.351,286.94 491.313,254.053 
+	491.313,188.689 434.351,221.576 "/>
+<polygon style="fill:#F38066;stroke:#F48066;stroke-width:0.25;stroke-miterlimit:10;" points="491.313,188.689 491.313,254.053 
+	548.275,286.94 548.275,221.576 "/>
+<polygon style="fill:#E35E54;stroke:#E45E54;stroke-width:0.25;stroke-miterlimit:10;" points="434.351,286.94 491.313,319.827 
+	548.275,286.94 491.313,254.053 "/>
+<polygon style="fill:#E45E54;stroke:#E45E54;stroke-width:0.25;stroke-miterlimit:10;" points="548.275,155.802 506.89,179.696 
+	491.313,188.689 548.275,221.576 605.237,188.689 582.908,175.797 "/>
+<polygon style="fill:#E35E54;stroke:#E45E54;stroke-width:0.25;stroke-miterlimit:10;" points="491.313,188.689 434.351,155.802 
+	434.166,155.909 392.766,179.812 377.389,188.689 434.351,221.576 "/>
+<g>
+	<g>
+		<path style="fill:#F8B197;" d="M754.404,335.341c-8.601,0-16.438-1.501-23.509-4.498c-7.073-2.997-12.985-7.325-17.737-12.984
+			l18.331-21.896c3.167,4.073,6.45,7.158,9.846,9.251c3.395,2.095,6.959,3.14,10.693,3.14c9.845,0,14.767-5.713,14.767-17.144
+			v-50.921h-40.906v-26.14h74.346v75.194c0,15.391-3.904,26.903-11.713,34.542C780.714,331.522,769.342,335.341,754.404,335.341z"/>
+		<path style="fill:#F8B197;" d="M840.121,332.965V214.148h54.146c10.863,0,20.255,1.755,28.177,5.262
+			c7.919,3.509,14.003,8.572,18.247,15.191c4.243,6.62,6.365,14.401,6.365,23.339c0,9.166-2.122,16.974-6.365,23.424
+			c-4.244,6.45-10.328,11.401-18.247,14.853c-7.922,3.453-17.313,5.177-28.177,5.177h-35.646l15.107-14.258v45.829H840.121z
+			 M873.729,291.039l-15.107-15.615h33.608c7.015,0,12.277-1.528,15.786-4.583c3.506-3.056,5.262-7.354,5.262-12.9
+			c0-5.317-1.756-9.532-5.262-12.646c-3.509-3.111-8.771-4.668-15.786-4.668h-33.608l15.107-15.446V291.039z M913.448,332.965
+			l-29.535-43.283h35.815l29.704,43.283H913.448z"/>
+		<path style="fill:#F8B197;" d="M1024.286,335.341c-9.845,0-19.266-1.217-28.262-3.649c-8.996-2.432-16.269-5.516-21.812-9.25
+			l11.033-24.952c5.317,3.395,11.457,6.195,18.417,8.402c6.959,2.206,13.889,3.31,20.793,3.31c4.752,0,8.513-0.395,11.287-1.188
+			c2.771-0.791,4.809-1.923,6.11-3.396c1.3-1.469,1.952-3.225,1.952-5.262c0-2.602-1.246-4.668-3.734-6.195
+			c-2.49-1.527-5.744-2.827-9.76-3.904c-4.018-1.074-8.375-2.092-13.069-3.055c-4.697-0.96-9.479-2.233-14.344-3.819
+			c-4.866-1.583-9.279-3.676-13.239-6.28c-3.962-2.602-7.158-5.997-9.59-10.185c-2.436-4.185-3.649-9.447-3.649-15.786
+			c0-7.015,1.923-13.409,5.771-19.181c3.846-5.771,9.676-10.41,17.483-13.918c7.808-3.506,17.539-5.262,29.195-5.262
+			c7.808,0,15.473,0.878,22.999,2.631c7.524,1.756,14.174,4.387,19.944,7.893l-10.185,24.782
+			c-5.659-3.167-11.261-5.487-16.804-6.959c-5.546-1.469-10.922-2.207-16.125-2.207c-4.642,0-8.376,0.509-11.203,1.528
+			c-2.83,1.018-4.866,2.32-6.11,3.904c-1.246,1.586-1.867,3.283-1.867,5.092c0,2.715,1.244,4.837,3.734,6.365
+			c2.487,1.528,5.713,2.774,9.675,3.734c3.96,0.963,8.344,1.952,13.155,2.971c4.808,1.019,9.59,2.291,14.343,3.819
+			c4.753,1.527,9.137,3.564,13.154,6.11c4.016,2.546,7.27,5.885,9.761,10.015c2.487,4.132,3.733,9.309,3.733,15.531
+			c0,6.903-1.951,13.269-5.855,19.096c-3.904,5.829-9.76,10.497-17.568,14.003C1045.843,333.586,1036.054,335.341,1024.286,335.341z
+			"/>
+		<path style="fill:#F8B197;" d="M1169.241,335.341c-9.395,0-18.136-1.527-26.225-4.583c-8.092-3.055-15.081-7.383-20.963-12.984
+			c-5.886-5.602-10.497-12.163-13.834-19.689c-3.339-7.524-5.007-15.757-5.007-24.697c0-8.826,1.668-16.974,5.007-24.442
+			c3.337-7.469,7.948-14.003,13.834-19.605c5.882-5.602,12.842-9.93,20.878-12.985c8.033-3.056,16.804-4.583,26.31-4.583
+			c9.505,0,18.273,1.527,26.31,4.583c8.033,3.055,14.992,7.357,20.878,12.9c5.882,5.546,10.494,12.052,13.833,19.52
+			c3.337,7.469,5.008,15.675,5.008,24.612c0,9.055-1.642,17.343-4.923,24.866c-3.283,7.527-7.893,14.062-13.834,19.605
+			c-5.94,5.545-12.929,9.845-20.962,12.899C1187.515,333.813,1178.746,335.341,1169.241,335.341z M1169.241,307.504
+			c4.524,0,8.741-0.79,12.646-2.376c3.903-1.584,7.299-3.875,10.184-6.875c2.886-2.997,5.148-6.562,6.79-10.693
+			c1.639-4.129,2.461-8.797,2.461-14.003c0-5.204-0.822-9.872-2.461-14.004c-1.642-4.129-3.904-7.693-6.79-10.693
+			c-2.885-2.997-6.28-5.289-10.184-6.875c-3.904-1.583-8.121-2.376-12.646-2.376c-4.527,0-8.742,0.793-12.646,2.376
+			c-3.904,1.586-7.328,3.877-10.27,6.875c-2.944,3-5.206,6.564-6.79,10.693c-1.586,4.132-2.376,8.8-2.376,14.004
+			c0,5.206,0.79,9.874,2.376,14.003c1.584,4.132,3.846,7.696,6.79,10.693c2.941,3,6.365,5.291,10.27,6.875
+			C1160.499,306.714,1164.714,307.504,1169.241,307.504z"/>
+		<path style="fill:#F8B197;" d="M1270.064,332.965V214.148h27.667l65.35,79.098h-13.07v-79.098h32.93v118.817h-27.667
+			l-65.52-79.099h13.069v79.099H1270.064z"/>
+		<path style="fill:#F8B197;" d="M1423.848,332.965V214.148h27.667l65.35,79.098h-13.07v-79.098h32.93v118.817h-27.667
+			l-65.52-79.099h13.069v79.099H1423.848z"/>
+		<path style="fill:#F8B197;" d="M1610.729,306.825h62.124v26.14h-95.223V214.148h93.017v26.14h-59.918V306.825z M1608.354,260.146
+			h55.165v24.952h-55.165V260.146z"/>
+		<path style="fill:#F8B197;" d="M1733.79,332.965v-92.168h-36.494v-26.649h106.427v26.649h-36.324v92.168H1733.79z"/>
+	</g>
+</g>
+</svg>