jsonnet
Python bindings for Jsonnet - The data templating language
Decision gist · record as of 2026-08-14
Yes, if you need to generate or template JSON from Jsonnet code in Python and trust the Jsonnet source. The package is actively maintained, has no known vulnerabilities, and wheels cover common platforms. However, do not use it to evaluate untrusted Jsonnet code without external sandboxing—the C++ implementation is not hardened.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- The C++ implementation is not suitable for processing untrusted inputs without sandboxing; import, importstr, and importbin language constructs can access any path the interpreter can reach.
- Medium install friction due to compiled C++ bindings, but wheels are available for common platforms (macOS ARM64, Linux x86_64, Windows x64, and musllinux).
- Repository is actively maintained with recent commits.
License · maintenance · safety
Apache-2.0 (permissive) — Apache-2.0 permissive license allows commercial and private use with minimal restrictions; you must include a copy of the license and notice of modifications.
last release 2026-03-24 (143 days) · last repo commit 2026-03-30 · 7,553 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 2,138,994 downloads/mo, #3,260 on PyPI
Alternatives
Verify before relying
import _jsonnet
result = _jsonnet.evaluate_snippet(
'example',
'{ greeting: "hello" }'
)
print(result)- Whether pre-built wheels cover all target deployment platforms beyond the listed architectures.
- Specific Python version compatibility (requires_python is unspecified in metadata).
What it is and what it does
Jsonnet is a templating language designed to generate JSON from higher-level, more expressive syntax. This package provides Python bindings to the original C++ implementation, allowing you to evaluate Jsonnet code from Python and receive JSON output. The main entry points are `evaluate_file()` to process Jsonnet files and `evaluate_snippet()` to evaluate code strings directly.
The package supports passing variables into Jsonnet code via `ext_vars` and `ext_codes`, top-level function arguments via `tla_vars` and `tla_codes`, and custom functions callable from Jsonnet via `native_callbacks`. The documentation explicitly warns that the C++ implementation is not hardened against untrusted inputs and should only be used to evaluate code you trust.
Use it for
- Generate complex JSON configurations programmatically from templates with variables and functions.
- Build infrastructure-as-code JSON from reusable Jsonnet libraries.
- Evaluate Jsonnet as a higher-level configuration language in Python applications.
- Pass external variables and top-level arguments into Jsonnet code from Python.
- Expose Python functions to Jsonnet code via native_callbacks for domain-specific logic.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you need to generate or template JSON from Jsonnet code in Python and trust the Jsonnet source.
The package is actively maintained, has no known vulnerabilities, and wheels cover common platforms. However, do not use it to evaluate untrusted Jsonnet code without external sandboxing—the C++ implementation is not hardened.
Install
jsonnet on PyPI
Before you install
Medium install friction due to compiled C++ bindings, but wheels are available for common platforms (macOS ARM64, Linux x86_64, Windows x64, and musllinux). Repository is actively maintained with recent commits.
The C++ implementation is not suitable for processing untrusted inputs without sandboxing; import, importstr, and importbin language constructs can access any path the interpreter can reach.
License in practice
Apache-2.0 permissive license allows commercial and private use with minimal restrictions; you must include a copy of the license and notice of modifications.
Quickstart
import _jsonnet
result = _jsonnet.evaluate_snippet(
'example',
'{ greeting: "hello" }'
)
print(result)
Verify before relying
- Whether pre-built wheels cover all target deployment platforms beyond the listed architectures.
- Specific Python version compatibility (requires_python is unspecified in metadata).
Package facts
| License | Apache-2.0 permissive |
| Python support | Not specified |
| Install friction | Medium. Platform-specific wheel |
| Runtime dependencies | None |
| Maintenance | Actively maintained 143 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 2,138,994 / month, #3,260 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
Evidence: jsonnet-0.22.0-cp314-cp314t-macosx_11_0_arm64.whl; jsonnet-0.22.0-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl; jsonnet-0.22.0-cp314-cp314t-musllinux_1_2_x86_64.whl; jsonnet-0.22.0-cp314-cp314t-win_amd64.whl; jsonnet-0.22.0-cp38-abi3-macosx_11_0_arm64.whl; jsonnet-0.22.0-cp38-abi3-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl; jsonnet-0.22.0-cp38-abi3-musllinux_1_2_x86_64.whl; jsonnet-0.22.0-cp38-abi3-win_amd64.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “jsonnet templating language”
- jsonnetJsonnet is a data templating language that evaluates Jsonnet code to…
- zope.pagetemplatezope.pagetemplate provides a templating system that separates…
- DocumentTemplateDocumentTemplate implements the Document Templating Markup Language…
Give your agent the search over MCP, or paste the wish link into any chat.
More Text Processing packages
A drop-in replacement for Python's standard `re` module that adds advanced regex features like nested sets, fuzzy matching, lookaround in conditionals, and full Unicode case-folding while maintaining backward compatibility.
pyparsing provides a library for building text parsers directly in Python code using composable grammar classes, handling quoted strings, whitespace variation, and embedded comments without regex or lex/yacc.
Install it if you need to parse text or define grammars programmatically.
fonttools manipulates font files in multiple formats (TrueType, OpenType, AFM, Type 1, Mac-specific) and includes TTX, a tool to convert fonts to and from XML text format.
Install it if you need to read, write, or manipulate fonts programmatically or via the TTX command-line tool.
Docutils converts plaintext documentation in reStructuredText format into multiple output formats including HTML, XML, and LaTeX using a modular processing system.
RapidFuzz provides fast fuzzy string matching using Levenshtein Distance and related metrics, implemented mostly in C++ with Python bindings for rapid similarity scoring and approximate string matching.
Install it if you need fuzzy string matching; it's a solid replacement for FuzzyWuzzy with better licensing and performance.
tinycss2 parses CSS strings into token and block objects, and generates CSS strings from those objects, following the CSS Syntax Level 3 specification without enforcing specific properties or values.
Install it if your project requires CSS tokenization or syntax manipulation.
See also empy · Jinja2 · jsonargparse · json-e · sphinxcontrib.datatemplates · Tempita · yte · zope.pagetemplate · django-jinja · htmlBuilder