liquidpy
A port of liquid template engine for python
Decision gist · record as of 2026-08-14
Yes, if you need to render Liquid templates in Python. The package is actively maintained, has no known vulnerabilities, installs cleanly with minimal dependencies, and solves a real compatibility problem for teams migrating from Ruby or Shopify environments. Not necessary if you're already comfortable with jinja2's native syntax.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python >=3.9.
- Install friction is low—a pure-Python wheel with only jinja2 as a runtime dependency.
- The project is actively maintained with a recent release 4 days old.
License · maintenance · safety
MIT (permissive) — MIT license is permissive; you can use, modify, and distribute this package freely in commercial and private projects with minimal restrictions.
last release 2026-08-10 (4 days) · last repo commit 2026-08-10 · 60 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 343,120 downloads/mo, #7,387 on PyPI
Alternatives
Verify before relying
pip install liquidpy
from liquidpy import Liquid
liq = Liquid('{{a}}', from_file=False)
result = liq.render(a=1)- Performance characteristics when rendering large or complex templates compared to native jinja2.
- Test coverage and code quality metrics referenced in the project's badges.
- Whether the "wild" mode's Python code execution has security implications for untrusted templates.
What it is and what it does
Liquidpy adapts the Liquid template language—originally from Ruby and widely used in Jekyll and Shopify—to Python by building on jinja2's foundation. It lets you write and render templates using Liquid syntax rather than jinja2's native syntax, which is useful if you're migrating templates from Ruby environments, working with Jekyll sites, or need Shopify template compatibility.
The package supports multiple template modes: standard Liquid, Jekyll-flavored Liquid, Shopify-extended Liquid, and a "wild" mode that adds Python code execution capabilities. You can load templates from strings or files, customize rendering through jinja2's environment API, and adjust defaults globally. It's a compatibility layer built on jinja2, so it inherits jinja2's performance and stability.
Use it for
- Migrating Jekyll blog templates or static site generators from Ruby to a Python workflow.
- Rendering Shopify theme templates in a Python backend without switching template languages.
- Building a templating system that accepts Liquid syntax from users familiar with Jekyll or Shopify.
- Converting existing Liquid template codebases to Python while preserving template syntax unchanged.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you need to render Liquid templates in Python.
The package is actively maintained, has no known vulnerabilities, installs cleanly with minimal dependencies, and solves a real compatibility problem for teams migrating from Ruby or Shopify environments. Not necessary if you're already comfortable with jinja2's native syntax.
Install
liquidpy on PyPI
Before you install
Install friction is low—a pure-Python wheel with only jinja2 as a runtime dependency. The project is actively maintained with a recent release 4 days old.
Requires Python >=3.9.
License in practice
MIT license is permissive; you can use, modify, and distribute this package freely in commercial and private projects with minimal restrictions.
Quickstart
pip install liquidpy
from liquidpy import Liquid
liq = Liquid('{{a}}', from_file=False)
result = liq.render(a=1)
Verify before relying
- Performance characteristics when rendering large or complex templates compared to native jinja2.
- Test coverage and code quality metrics referenced in the project's badges.
- Whether the "wild" mode's Python code execution has security implications for untrusted templates.
Package facts
| License | MIT permissive |
| Python support | Supports the current Python release >=3.9 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 1 packagejinja2 |
| Maintenance | Actively maintained 4 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 343,120 / month, #7,387 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
Evidence: liquidpy-0.10.0-py3-none-any.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 › “liquid template engine python”
- liquidpyLiquidpy is a Python port of the Liquid template engine built on…
- python-liquidPython Liquid is a template engine that renders Liquid templates—a…
- djlintdjlint formats and lints HTML templates with embedded template syntax…
Give your agent the search over MCP, or paste the wish link into any chat.
More Markup packages
PyYAML parses and emits YAML 1.1 data format, enabling serialization and deserialization of configuration files and Python objects to and from human-readable YAML text.
A Python markdown parser that converts markdown to HTML following the CommonMark specification, with support for plugins and custom syntax rules.
Install it if you need reliable markdown-to-HTML conversion.
Beautiful Soup parses HTML and XML documents into a navigable tree, providing Pythonic methods to search, iterate, and modify the parsed content.
Install it if you need to parse or extract data from markup documents.
et_xmlfile writes large XML files with minimal memory overhead by serializing elements to disk as they are created, rather than holding the entire tree in memory.
Install it if incremental XML writing fits your use case; skip it if your XML documents are small or you already use lxml.
Parses and edits TOML files while preserving formatting, comments, and structure, then serializes them back with layout intact.
Install it if you're building tools that touch TOML files and user readability of the source matters.
Parses Python docstrings in ReST, Google, Numpydoc, and Epydoc formats, extracting structured information like descriptions, parameters, return types, and exceptions.
Install it if you need to programmatically read and extract structured data from Python docstrings.
See also python-liquid · curlylint · jinja_partials · djlint · Jinja2 · jinja2-fragments · envtpl · ruamel.yaml.jinja2 · html5tagger · Flask-Moment