All Projects → google → Jsonnet

google / Jsonnet

Licence: apache-2.0
Jsonnet - The data templating language

Programming Languages

Jsonnet
166 projects
C++
36643 projects - #6 most used programming language
python
139335 projects - #7 most used programming language
c
50402 projects - #5 most used programming language
shell
77523 projects
HTML
75241 projects

Projects that are alternatives of or similar to Jsonnet

Dasel
Query, update and convert data structures from the command line. Comparable to jq/yq but supports JSON, TOML, YAML, XML and CSV with zero runtime dependencies.
Stars: ✭ 759 (-85.56%)
Mutual labels:  config, json, configuration
Simple Settings
A simple way to manage your project settings.
Stars: ✭ 165 (-96.86%)
Mutual labels:  config, json, configuration
Config Rs
⚙️ Layered configuration system for Rust applications (with strong support for 12-factor applications).
Stars: ✭ 915 (-82.59%)
Mutual labels:  config, json, configuration
Config
🛠 A configuration library for Go that parses environment variables, JSON files, and reloads automatically on SIGHUP
Stars: ✭ 203 (-96.14%)
Mutual labels:  config, json, configuration
Node Convict
Featureful configuration management library for Node.js
Stars: ✭ 1,855 (-64.71%)
Mutual labels:  config, json, configuration
Konf
A type-safe cascading configuration library for Kotlin/Java/Android, supporting most configuration formats
Stars: ✭ 225 (-95.72%)
Mutual labels:  config, json, configuration
eRCaGuy dotfiles
.bashrc file, terminal prompt that shows current git branch, Arduino setup, Eclipse setup, git diff with line numbers, helpful scripts, improved Linux productivity, etc.
Stars: ✭ 84 (-98.4%)
Mutual labels:  config, configuration
environment
🌳 Environment variable configuration for Node.js made easy.
Stars: ✭ 12 (-99.77%)
Mutual labels:  config, configuration
Charles-Proxy-Mobile-Guide
The mobile hackers' guide to Charles Proxy 👍
Stars: ✭ 105 (-98%)
Mutual labels:  config, configuration
Hoplite
A boilerplate-free library for loading configuration files as data classes in Kotlin
Stars: ✭ 322 (-93.87%)
Mutual labels:  config, configuration
rails-settings-cached
Global settings for your Rails application.
Stars: ✭ 940 (-82.12%)
Mutual labels:  config, configuration
goconfig
.gitconfig syntax parser
Stars: ✭ 15 (-99.71%)
Mutual labels:  config, configuration
Jk
Configuration as Code with ECMAScript
Stars: ✭ 322 (-93.87%)
Mutual labels:  json, configuration
env
A lightweight package for loading OS environment variables into structs for Go projects
Stars: ✭ 24 (-99.54%)
Mutual labels:  config, configuration
config-parser
A slim, fully managed C# library for reading/writing .ini, .conf, .cfg etc configuration files.
Stars: ✭ 67 (-98.73%)
Mutual labels:  config, configuration
nest-typed-config
Intuitive, type-safe configuration module for Nest framework ✨
Stars: ✭ 47 (-99.11%)
Mutual labels:  config, configuration
yaask
Make your yaml configurable with interactive configurations!
Stars: ✭ 15 (-99.71%)
Mutual labels:  config, configuration
Quicklib
Quick development library (AutoMapper, LinQ, IOC Dependency Injection, MemoryCache, Scheduled tasks, Config, Serializers, etc) with crossplatform support for Delphi/Firemonkey (Windows,Linux,OSX/IOS/Android) and freepascal (Windows/Linux).
Stars: ✭ 274 (-94.79%)
Mutual labels:  config, json
Centraldogma
Highly-available version-controlled service configuration repository based on Git, ZooKeeper and HTTP/2
Stars: ✭ 378 (-92.81%)
Mutual labels:  config, configuration
V2ray Step By Step
This repo is a fork of ToutyRater/v2ray-guide, we aim to provide a new step-by-step guide of v2ray
Stars: ✭ 341 (-93.51%)
Mutual labels:  config, configuration

Jsonnet - The data templating language

Build Status

For an introduction to Jsonnet and documentation, visit our website.

This respositiory contains the original implementation. You can also try go-jsonnet, a newer implementation which in some cases is orders of magnitude faster.

Visit our discussion forum.

Packages

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.

Building Jsonnet

You can use either GCC or Clang to build Jsonnet. Note that on recent versions of macOS, /usr/bin/gcc and /usr/bin/g++ are actually Clang, so there is no difference.

Makefile

To build Jsonnet with GCC, run:

make

To build Jsonnet with Clang, run:

make CC=clang CXX=clang++

To run the output binary, run:

./jsonnet

To run the reformatter, run:

./jsonnetfmt

Bazel

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 jsonnet and jsonnetfmt targets defined in cmd/BUILD. To launch the output binaries, run:

bazel-bin/cmd/jsonnet
bazel-bin/cmd/jsonnetfmt

Cmake

cmake . -Bbuild
cmake --build build --target run_tests

Contributing

See the contributing page on our website.

Developing Jsonnet

Running tests

To run the comprehensive suite:

make test

Locally serving the website

You need a doc/js/libjsonnet.wasm which can either be downloaded from the production website:

wget https://jsonnet.org/js/libjsonnet.wasm -O doc/js/libjsonnet.wasm

Or you can build it yourself, which requires checking out go-jsonnet. See the README.md in that repo for instructions.

Then, from the root of the repository you can generate and serve the website using Jekyll:

tools/scripts/serve_docs.sh

This should the website on localhost:8200, automatically rebuild when you change any underlying files, and automatically refresh your browser when that happens.

The standard library is documented in a structured format in doc/_stdlib_gen/stdlib-content.jsonnet. The HTML (input for Jekyll) is regenerated using the following command:

tools/scripts/update_web_content.sh
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].