VexyFormi
Documentation: https://vexy.dev/vexy-formi/
Fast code formatting and minification using the best available tools.
Features
- 🔥 Blazing Fast: Uses fastest available tools (esbuild, swc, biome, ruff)
- 🛡️ Safe: Atomic operations with automatic backups
- 🎯 Smart: Automatic tool detection and fallbacks
- 📦 Simple: Zero-config operation with sensible defaults
- 🌐 Universal: Supports JS, TS, CSS, HTML, Python, JSON, YAML, TOML, Markdown
Quick Start
# Install
pip install vexy-formi
# Install all required tools automatically
vfor install
# Minify current directory
vfor mini
# Format Python files
vfor fmt --verbose src/
# Show available tools
vfor tools
# Update all tools to latest versions
vfor update
# Use as Python package
python -c "import vexy_formi; vexy_formi.minify('src/')"
Supported Tools
- JavaScript/TypeScript: esbuild, swc, terser, biome, prettier
- CSS/SCSS: biome, lightningcss, prettier
- Python: ruff, black
- HTML: html-minifier-terser, prettier
- JSON: biome, jq, prettier
- TOML: taplo, dprint
- YAML: prettier, yq
- Markdown: dprint, prettier
Configuration
Set preferences via environment variables:
VFOR_PREFERRED_JS_TOOL=esbuildVFOR_PREFERRED_CSS_TOOL=biomeVFOR_PREFERRED_PYTHON_TOOL=ruffVFOR_MAX_WORKERS=8
Or create .vfor.json in your project:
{
"preferred_js_tool": "esbuild",
"preferred_css_tool": "biome",
"max_workers": 4
}
CLI Usage
# Minify files
vfor mini # Current directory
vfor mini src/ # Specific directory
vfor mini --verbose src/ # Show detailed output
vfor mini --no-backup src/ # Skip backups
# Format files
vfor fmt # Current directory
vfor fmt --recursive src/ # Process recursively
vfor fmt --exclude "*.min.*" # Exclude patterns
# Tool management
vfor install # Install all required tools
vfor update # Update tools to latest versions
vfor tools # Show available tools
vfor cleanup # Clean backup files
Python API
import vexy_formi
# Simple API
result = vexy_formi.minify('src/')
result = vexy_formi.format('src/', recursive=True, exclude=['*.test.*'])
# Advanced usage
from vexy_formi import FileProcessor
processor = FileProcessor()
result = processor.minify_files(
Path('src/'),
recursive=True,
max_workers=8,
create_backup=True
)
print(f"Processed {result.total_files} files")
print(f"Size reduction: {result.total_size_reduction_percent:.1f}%")
Development
# Clone repository
git clone https://github.com/vexyart/vexy-formi.git
cd vexy-formi
# Install dependencies
pip install -e .[dev,test]
# Run CLI directly
./vfor mini examples/
# Run tests
pytest
# Format code
ruff format src/
License
MIT License
Metadata
Release files for vexy-formi 1.0.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| vexy_formi-1.0.5.tar.gz | 68.7 kB | Without provenance | Details for vexy_formi-1.0.5.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| vexy_formi-1.0.5-py3-none-any.whl | Python 3 | none | any | Details for vexy_formi-1.0.5-py3-none-any.whl |
Total release size: 117.1 kB
Release files / vexy_formi-1.0.5.tar.gz
| Download URL | vexy_formi-1.0.5.tar.gz |
|---|---|
| Size | 68.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b01a2f6abe9fdcb307662970b13dfc3cbaf5ecebfa4c7ed8478d2a6fa3cb52d2
|
|
BLAKE2b-256 checksum How to use checksums |
0daf1bda6ed32ff9b56e000095cc12f8100f9c7e6b930e49abd877272d62aa2a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.18 {"installer":{"name":"uv","version":"0.12.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / vexy_formi-1.0.5-py3-none-any.whl
| Download URL | vexy_formi-1.0.5-py3-none-any.whl |
|---|---|
| Size | 48.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
5c6065b2fe7848c15d3e2ac30f90ddd601fd3d6cc48da95d45681f6dede71a6b
|
|
BLAKE2b-256 checksum How to use checksums |
1707f7019513777a8f5fb12c4a711f45a498cdd4acc2cdc0e5205de364284ac0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.18 {"installer":{"name":"uv","version":"0.12.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Security for vexy-formi 1.0.5
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.