awesome-repositories.com
Blog
awesome-repositories.com

Descoperă cele mai bune repository-uri open source cu căutare AI.

ExploreazăCăutări recomandateAlternative open-sourceSoftware self-hostedBlogHartă site
ProiectDespreCum realizăm clasamentulPresăServer MCP
LegalConfidențialitateTermeni
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
google avatar

google/jsonnet

0
View on GitHub↗
7,522 stele·474 fork-uri·Jsonnet·Apache-2.0·4 vizualizărijsonnet.org↗

Jsonnet

Jsonnet is a structured configuration generation language that extends JSON with variables, conditionals, and object-oriented features to create reusable templates. It is designed to eliminate duplication in configuration data by providing a data templating language that can produce structured output from concise, programmable templates.

The language distinguishes itself through an object-oriented inheritance model that allows field override, mixin composition, and self-referencing for modular configuration reuse. It supports lazy evaluation with thunks to defer computation until values are first accessed, and includes trampoline-based tail call optimization to handle deeply recursive functions without stack overflow. Jsonnet also provides a C-based embedding API with garbage-controlled memory management, import graph resolution for modular templates, and manifest-based serialization that transforms internal representations into multiple output formats.

The project covers capabilities for generating configuration data from templates, eliminating duplicate configuration values through inheritance and self-references, and creating parameterized functions that return objects or values for modular and DRY configuration logic. It includes tools for converting YAML to Jsonnet templates and managing Kubernetes object collections through object-based mappings. The system can produce output in JSON, YAML, INI, XML, and Python literal formats from a single template source.

Jsonnet is available through a C API for host program integration and a Python API for evaluating templates directly from Python code.

Features

  • Structured Config Generators - Generates structured configuration data like JSON, YAML, and INI from concise, reusable templates.
  • Data Configuration Languages - A structured configuration generation language extending JSON with variables, conditionals, and object-oriented features.
  • JSON Serializers - Serializes structured data into JSON documents for consumption by applications and tools.
  • Configuration Inheritance - Reuses and overrides object fields via inheritance and self-references to avoid repeating common configuration values.
  • Configuration Function Generators - Creates parameterized functions that return objects or values for modular and DRY configuration logic.
  • Template Evaluation APIs - Ships a Python API for evaluating Jsonnet templates and returning JSON strings.
  • Reusable Configuration Blocks - Creates parameterized functions that return objects or values for modular and DRY configuration logic.
  • Inheritance-Based Config Deduplication - Eliminates duplicate configuration values through object inheritance and self-referencing.
  • C-Based Embedding APIs - Provides a C-based embedding API for integrating the Jsonnet evaluation engine into host programs.
  • Config Object Generators - Creates parameterized functions that return objects for generating consistent and modular configuration.
  • Object Inheritance - Provides an object-oriented inheritance model with field override, mixin composition, and self-referencing.
  • Config Duplication Eliminators - Eliminates duplicate configuration values through inheritance and self-references.
  • Configuration Data Templates - Generates structured configuration data from reusable templates with object-orientation and functions.
  • Multi-Format Output Converters - Produces configuration in JSON, YAML, INI, and other formats from a single template source.
  • Trampolining - Optimizes recursive function calls using trampolines to avoid stack overflow.
  • Recursive Descent Parsers - Parses the language grammar using a recursive descent parser that builds an abstract syntax tree.
  • Import Callback Systems - Resolves and caches external file imports via a callback system for modular template dependencies.
  • Template-Based Kubernetes Generators - Generates structured JSON configuration for Kubernetes objects from reusable templates.
  • Multi-Format Output Renderers - Renders the same template into JSON, YAML, INI, and other formats simultaneously.
  • Lazy Evaluation - Implements lazy evaluation with thunks to defer computation until values are first accessed.
  • YAML Serializers - Serializes structured data into YAML format for interoperability with YAML-based toolchains.
  • Multi-Format Manifest Serializers - Serializes structured data into JSON, YAML, INI, and XML via manifest functions.
  • Continuous Delivery and GitOps - Language for templating and managing configuration data.

Istoric stele

Graficul istoricului de stele pentru google/jsonnetGraficul istoricului de stele pentru google/jsonnet

Căutare AI

Explorează mai multe repository-uri excelente

Descrie ce ai nevoie în limbaj simplu — AI-ul sortează mii de proiecte open source selectate în funcție de relevanță.

Start searching with AI

Întrebări frecvente

Ce face google/jsonnet?

Jsonnet is a structured configuration generation language that extends JSON with variables, conditionals, and object-oriented features to create reusable templates. It is designed to eliminate duplication in configuration data by providing a data templating language that can produce structured output from concise, programmable templates.

Care sunt principalele funcționalități ale google/jsonnet?

Principalele funcționalități ale google/jsonnet sunt: Structured Config Generators, Data Configuration Languages, JSON Serializers, Configuration Inheritance, Configuration Function Generators, Template Evaluation APIs, Reusable Configuration Blocks, Inheritance-Based Config Deduplication.

Care sunt câteva alternative open-source pentru google/jsonnet?

Alternativele open-source pentru google/jsonnet includ: renovatebot/renovate — Renovate is a GitOps-driven dependency management engine designed to automate the maintenance of software projects. It… rstudio/rmarkdown — rmarkdown is a dynamic document generator and markdown rendering engine used to create reproducible reports, analysis,… miloyip/json-tutorial — This is an educational tutorial that walks through implementing a complete JSON library from scratch in C. The project… jeremyfa/yaml.js — This library provides a parser and encoder for YAML 1.2 data structures, enabling the transformation of human-readable… jbeder/yaml-cpp — yaml-cpp is a C++ library for parsing and emitting YAML 1.2 documents. It provides a complete YAML processing… aaubry/yamldotnet — YamlDotNet is a YAML serialization library and data mapping tool for .NET. It functions as a parser and generator that…

Alternative open-source pentru Jsonnet

Proiecte open-source similare, clasificate după numărul de funcționalități comune cu Jsonnet.
  • renovatebot/renovateAvatar renovatebot

    renovatebot/renovate

    21,796Vezi pe GitHub↗

    Renovate is a GitOps-driven dependency management engine designed to automate the maintenance of software projects. It functions as an automated update tool that scans repository files to identify outdated dependencies, fetches the latest compatible versions from external sources, and generates pull requests to apply those updates. By integrating directly with code hosting platforms, it synchronizes project dependencies through declarative configuration files, ensuring that software components remain current and secure. The project distinguishes itself through its platform-agnostic architectu

    TypeScriptazure-devopsbitbucketdependencies
    Vezi pe GitHub↗21,796
  • miloyip/json-tutorialAvatar miloyip

    miloyip/json-tutorial

    7,939Vezi pe GitHub↗

    This is an educational tutorial that walks through implementing a complete JSON library from scratch in C. The project covers the full data lifecycle of JSON, including parsing text into structured in-memory representations, validating input against the specification, serializing data back into standard JSON output, and providing structured access to elements within parsed arrays and objects. The implementation is built around a hand-written recursive descent parser that processes JSON text by matching grammar rules to build a structured data tree. Parsed values are stored in a tagged union r

    C
    Vezi pe GitHub↗7,939
  • jbeder/yaml-cppAvatar jbeder

    jbeder/yaml-cpp

    5,931Vezi pe GitHub↗

    yaml-cpp is a C++ library for parsing and emitting YAML 1.2 documents. It provides a complete YAML processing pipeline, from reading YAML content into a traversable node tree to writing in-memory data structures back as YAML text. The library represents parsed YAML as a mutable tree of typed nodes, supporting scalars, sequences, maps, and aliases. It uses a recursive-descent parser to build this node tree, and a stream-based emitter to generate YAML output incrementally. Template-based type conversion enables compile-time serialization between YAML nodes and C++ types, including support for c

    C++
    Vezi pe GitHub↗5,931
  • jeremyfa/yaml.jsAvatar jeremyfa

    jeremyfa/yaml.js

    886Vezi pe GitHub↗

    This library provides a parser and encoder for YAML 1.2 data structures, enabling the transformation of human-readable YAML strings into native JavaScript objects and arrays. It is designed to function as a cross-platform utility, ensuring consistent data processing across both server-side runtimes and client-side browser environments. Beyond its core library functionality, the project includes a command-line interface for automating data conversion tasks. This utility supports bidirectional transformation between YAML and JSON formats, allowing for the programmatic manipulation and exchange

    CoffeeScriptjavascriptjsonjson2yaml
    Vezi pe GitHub↗886
  • Vezi toate cele 30 alternative pentru Jsonnet→