VentForge
Parametric vent-pattern designer: native desktop editor (PySide6) + MCP server, sharing one geometry core (shapely) and OpenCascade exports.
Install
uv tool install "ventforge[all]" # or: pipx install "ventforge[all]"
Extras: core (no extra) = MCP server + SVG/DXF/PNG export; gui = desktop editor; cad = STEP/STL export,
tube wrap and cut into a STEP part (OpenCascade); all = both.
Run
ventforge [design.vent.json] # desktop editor
ventforge --mcp # MCP server (stdio); `ventforge-mcp` does the same
Register with Claude Code (without installing first, uv fetches it on demand):
claude mcp add ventforge -- uvx --from "ventforge[all]" ventforge --mcp
For Claude Desktop, add the same command to claude_desktop_config.json under mcpServers.
The MCP server edits a .vent.json file (default ~/Documents/VentForge/current.vent.json); an editor window
with that file open reloads live, so you can watch the AI design. open_in_gui opens it.
Features
- 10 layout modes: grid (square/diamond/hexagon), random, path, spiral, concentric, fibonacci, crosslines, voronoi stone cracks, flow lines, custom points (AI-written arrangements).
- Dot shapes: circle, rounded rectangle, hexagon, polygon, star, custom outline.
- Gradients for size / spacing / angle / shape-morph, driven by point, line and curve controls, noise, or a grayscale image.
- Boundary: none, circle, rounded rectangle, custom drawn outline; margin, clip.
- Exports: PNG, SVG, DXF, STEP, STL; wrap onto a cylinder; cut into an existing STEP part.
- Stats: dot count, open-area ratio, min-wall violations. Undo/redo, presets, user library.
Layout
ventforge/model.py design schema (all parameters) · pattern.py geometry · export.py file output ·
gui.py editor · mcp_server.py MCP tools · presets/ (shipped in the package) · tests/ (pytest, 109 tests, including the MCP server over real stdio;
GUI test needs QT_QPA_PLATFORM=offscreen). Development: pip install -e ".[dev]".
CI (.github/workflows/ci.yml) tests Windows/macOS/Linux and publishes to PyPI on a v* tag.
Licence
GPL-3.0-or-later, see LICENSE. You may use, change and sell VentForge; versions you distribute must stay open source under the same licence.
Metadata
Release files for ventforge 0.1.0
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 |
|---|---|---|---|---|
| ventforge-0.1.0.tar.gz | 71.0 kB | With provenance | Details for ventforge-0.1.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| ventforge-0.1.0-py3-none-any.whl | Python 3 | none | any | Details for ventforge-0.1.0-py3-none-any.whl |
Total release size: 140.1 kB
Release files / ventforge-0.1.0.tar.gz
| Download URL | ventforge-0.1.0.tar.gz |
|---|---|
| Size | 71.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b3fa2b48b98d4c053e6e236715a349f401e34acae365a748c87e15e1c5da58d5
|
|
BLAKE2b-256 checksum How to use checksums |
fadaacac2426ae6539f4f857ebd4ed5d328e59d2379fba37e2d8f7e82508dfc8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Nov 8, 2026.
Transparency logRelease files / ventforge-0.1.0-py3-none-any.whl
| Download URL | ventforge-0.1.0-py3-none-any.whl |
|---|---|
| Size | 69.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
18539e711781b373d38b51274d8a7db9ebeb31a2e3ff4ed3af41ca9f0acdce6d
|
|
BLAKE2b-256 checksum How to use checksums |
e67fa38927b516942abb7d58a6054cfe5c194eea7df6aa1ef0eae13fe463b0ec
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Nov 8, 2026.
Transparency logSecurity for ventforge 0.1.0
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.
Full provenance
Both files in this release have been uploaded with provenance metadata.
Attestation for ventforge-0.1.0.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Nov 8, 2026.
Transparency logA 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.