Jsonnet - The data templating language
For an introduction to Jsonnet and documentation, visit our website.
Visit our discussion forum.
Jsonnet is available on Homebrew:
brew install jsonnet
The Python binding is on pypi:
pip install jsonnet
You can also download and install Jsonnet using the vcpkg dependency manager:
git clone https://github.com/Microsoft/vcpkg.git cd vcpkg ./bootstrap-vcpkg.sh ./vcpkg integrate install vcpkg install jsonnet
The Jsonnet port in vcpkg is kept up to date by Microsoft team members and community contributors. If the version is out of date, please create an issue or pull request on the vcpkg repository.
You can use either GCC or Clang to build Jsonnet. Note that on recent versions
/usr/bin/g++ are actually Clang, so there is no
To build Jsonnet with GCC, run:
To build Jsonnet with Clang, run:
make CC=clang CXX=clang++
To run the output binary, run:
To run the reformatter, run:
Bazel builds are also supported. Install Bazel if it is not installed already. Then, run the following command to build with GCC:
bazel build -c opt //cmd:all
To build with Clang, use one of these two options:
env CC=clang CXX=clang++ bazel build -c opt //cmd:all # OR bazel build -c opt --action_env=CC=clang --action_env=CXX=clang++ //cmd:all
This builds the
jsonnetfmt targets defined in
cmd/BUILD. To launch
the output binaries, run:
cmake . -Bbuild
cmake --build build --target run_tests
See the contributing page on our website.
To run the comprehensive suite:
Locally serving the website
Then, from the root of the repository you can generate and serve the website using Jekyll:
This should the website on localhost:8080, automatically rebuild when you change any underlying files, and automatically refresh your browser when that happens.