awesome-repositories.com
Blog
awesome-repositories.com

Entdecke die besten Open-Source-Repositories mit KI-gestützter Suche.

EntdeckenKuratierte SuchenOpen-Source-AlternativenSelf-hosted SoftwareBlogSitemap
ProjektÜber unsRanking-MethodikPresseMCP-Server
RechtlichesDatenschutzAGB
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
google avatar

google/jsonnet

0
View on GitHub↗
7,522 Stars·474 Forks·Jsonnet·Apache-2.0·4 Aufrufejsonnet.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.

Star-Verlauf

Star-Verlauf für google/jsonnetStar-Verlauf für google/jsonnet

KI-Suche

Entdecke weitere awesome Repositories

Beschreibe in einfachen Worten, was du brauchst — die KI bewertet tausende kuratierte Open-Source-Projekte nach Relevanz.

Start searching with AI

Häufig gestellte Fragen

Was macht 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.

Was sind die Hauptfunktionen von google/jsonnet?

Die Hauptfunktionen von google/jsonnet sind: Structured Config Generators, Data Configuration Languages, JSON Serializers, Configuration Inheritance, Configuration Function Generators, Template Evaluation APIs, Reusable Configuration Blocks, Inheritance-Based Config Deduplication.

Welche Open-Source-Alternativen gibt es zu google/jsonnet?

Open-Source-Alternativen zu google/jsonnet sind unter anderem: renovatebot/renovate — Renovate is a GitOps-driven dependency management engine designed to automate the maintenance of software projects. It… jbeder/yaml-cpp — yaml-cpp is a C++ library for parsing and emitting YAML 1.2 documents. It provides a complete YAML processing… miloyip/json-tutorial — This is an educational tutorial that walks through implementing a complete JSON library from scratch in C. The project… rstudio/rmarkdown — rmarkdown is a dynamic document generator and markdown rendering engine used to create reproducible reports, analysis,… aaubry/yamldotnet — YamlDotNet is a YAML serialization library and data mapping tool for .NET. It functions as a parser and generator that… nodeca/js-yaml — js-yaml is a JavaScript library providing a programmatic interface for parsing and dumping YAML data. It functions as…

Open-Source-Alternativen zu Jsonnet

Ähnliche Open-Source-Projekte, sortiert nach der Anzahl der gemeinsamen Funktionen mit Jsonnet.
  • renovatebot/renovateAvatar von renovatebot

    renovatebot/renovate

    21,796Auf GitHub ansehen↗

    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
    Auf GitHub ansehen↗21,796
  • miloyip/json-tutorialAvatar von miloyip

    miloyip/json-tutorial

    7,939Auf GitHub ansehen↗

    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
    Auf GitHub ansehen↗7,939
  • jbeder/yaml-cppAvatar von jbeder

    jbeder/yaml-cpp

    5,931Auf GitHub ansehen↗

    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++
    Auf GitHub ansehen↗5,931
  • rstudio/rmarkdownAvatar von rstudio

    rstudio/rmarkdown

    3,021Auf GitHub ansehen↗

    rmarkdown is a dynamic document generator and markdown rendering engine used to create reproducible reports, analysis, and websites. It functions as a literate programming tool that weaves narrative text with live executable code and data, ensuring that visual results are tied directly to the source code. The project serves as a multi-format rendering engine and content publisher, utilizing a Pandoc-based conversion framework to transform a single source file into diverse outputs such as PDFs, HTML pages, and presentation slides. It integrates with Knitr to execute code blocks and capture out

    Rliterate-programmingmarkdownpandoc
    Auf GitHub ansehen↗3,021
  • Alle 30 Alternativen zu Jsonnet anzeigen→