Skip to main content

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)

Source distribution for ventforge 0.1.0
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)

Table of built distributions (wheels) for ventforge 0.1.0
File Interpreter ABI Platform Actions
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 log

Release 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 log

Security 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.

Select from 2 files

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 log

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.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page