vbuild
A simple module to extract html/script/style from a vuejs '.vue' file (can minimize/es2015 compliant js) ... just py2 or py3, NO nodejs !
What it is and what it does
vbuild is a Python-only Vue component compiler that extracts HTML templates, JavaScript, and CSS from Vue single-file components (.vue files) without requiring the Node.js ecosystem. It reads .vue files and parses them into their constituent parts, which you can then assemble into your final HTML output. The package respects Vue's SFC specification and can also work with Python-based components, offering optional preprocessing for SASS/LESS stylesheets and JavaScript minification if you install additional libraries.
The tool is designed for scenarios where you need Vue component support but cannot or do not want to use webpack, vue-cli, or the full Node.js stack. You write a few lines of Python to read your .vue files, call vbuild.render(), and inject the resulting HTML/script/style into a template. It fills a specific gap: working with Vue components in pure-Python environments, such as server-side template generation or embedded Python applications.
Use it for:
- Generate static HTML pages with Vue components in a Python-only backend without Node.js.
- Build server-side rendered Vue applications using Python frameworks like Flask or Django.
- Preprocess and bundle Vue components as part of a Python-based build pipeline.
- Use Python logic inside Vue components via vbuild's Python component support.
- Minify and optimize Vue component output using closure when optional dependencies are installed.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Compiles Vue single-file components (*.vue) to standalone HTML, JavaScript, and CSS without requiring Node.js, using only Python.
Yes, if you need to work with Vue components in a pure-Python environment and cannot use Node.js tooling. The low install friction, permissive license, and lack of known vulnerabilities make it safe to try. However, the aging maintenance status (last release August 2023) means you should verify compatibility with your Vue version and Python version before committing to production use.
Install
vbuild on PyPI
pip
pip install vbuilduv
uv add vbuildpoetry
poetry add vbuildInstalling vbuild
Before you install
Low install friction with a single pure-Python dependency. Maintenance is aging—last release was 2023-08-03 and no commits since 2025-09-24—but the repository remains active and unarchived with modest community interest (251 stars).
License in practice
MIT license is permissive; you can use, modify, and distribute vbuild freely in both open and closed projects with minimal restrictions.
Quickstart
import vbuild
c = vbuild.render("mycompo.vue")
print(c.html)
print(c.script)
print(c.style)
Optional features (SASS/LESS preprocessing, JS minification) require separate packages (pyscss, lesscpy, closure) not included by default.
Verify before relying
- Whether Python 2.7 support is actively maintained or tested given the aging status.
- Compatibility with Vue 3 or whether this is limited to Vue 2 components.
- Performance characteristics when rendering large numbers of components or complex nested structures.
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 1 — pscript |
| Maintenance | aging — 1,107 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 264,981/month — #8,331 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: vbuild-0.8.2-py2.py3-none-any.whl
Keywords: vuejs, vue, html, javascript, style, minimize, es2015
Tags
More Python Modules packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
PyYAMLPyYAML parses and emits YAML 1.1 data format,…
permissive · top 100 on PyPI
pydanticPydantic validates Python data structures…
permissive · top 100 on PyPI
annotated-typesProvides reusable metadata objects for use with…
permissive · top 100 on PyPI
typing-inspectionProvides runtime tools to inspect and…
permissive · top 100 on PyPI
ipyvueProvides a Jupyter widget base for building…
permissive · top 15,000 on PyPI
lesscpyCompiles LESS stylesheets to CSS using Python,…
permissive · top 15,000 on PyPI
django-componentsdjango-components lets you build reusable,…
permissive · top 15,000 on PyPI
pyScssCompiles Sass/SCSS stylesheets to CSS,…
permissive · top 15,000 on PyPI
pytailwindcssInstalls and wraps the standalone Tailwind CSS…
permissive · top 15,000 on PyPI
libsassCompiles Sass and SCSS stylesheets to CSS…
permissive · top 5,000 on PyPI
ipyvuetifyProvides Jupyter notebook widgets built on…
permissive · top 15,000 on PyPI
webassetsMerges and compresses JavaScript and CSS files…
permissive · top 15,000 on PyPI
django-sass-processorCompiles SASS/SCSS files to CSS on the fly…
permissive · top 15,000 on PyPI
django-compressorDjango Compressor combines, minifies, and…
permissive · top 5,000 on PyPI