Skip to main content

vexy-lines-run

Desktop GUI for Vexy Lines style transfer: load images, .lines files, or video, pick a style, export.

Built with CustomTkinter. Runs on macOS, Windows, and Linux wherever Tk is available.

Install

pip install vexy-lines-run

Core dependencies (CustomTkinter, tkinterdnd2, CTkMenuBarPlus, Pillow, loguru) install automatically. Video processing dependencies (OpenCV, PyAV) are pulled in transitively by vexy-lines-apy. To pin them explicitly:

pip install "vexy-lines-run[video]"

For AI-assisted layer rename:

pip install "vexy-lines-run[ai]"

Launch

vexy-lines-run

Or:

python -m vexy_lines_run

From Python:

from vexy_lines_run import launch
launch()

Features

Three input tabs

  • Lines: load .lines files; export embedded previews or apply a new style
  • Images: load PNG, JPG, WEBP, and other rasters; the app applies the style via the MCP API
  • Video: load MP4, MOV, MKV, or similar; per-frame style transfer with audio passthrough

Style picker

Select a primary style from any .lines file. Optionally select an end style: the app interpolates the two linearly across the input sequence. Both show inline thumbnail previews. The app preserves matching image-filter chains on fills and interpolates them as part of the style.

AI Rename Layers & Fills

Lines ▸ AI Rename Layers & Fills… renames a .lines document's generic captions (Layer, Blended, Linear) to describe what each fill actually draws, then names each layer from its fills. Only the captions change. After a confirmation and a Save dialog, each fill is rendered in Vexy Lines and described by a vision model on a background thread (progress shows in the title bar); the renamed copy defaults to <stem>-renamed.lines. Needs the [ai] extra (pip install "vexy-lines-run[ai]"), the Vexy Lines app, and an OpenAI-compatible /v1 LLM endpoint. Set it in Lines ▸ AI Rename Settings… or via VEXY_LINES_LLM_API_URL, VEXY_LINES_LLM_API_KEY, VEXY_LINES_LLM_MODEL_VISION, and VEXY_LINES_VLM_MODEL. See the full guide.

Export formats

Format Notes
SVG Vector output from the style engine
PNG / JPG Raster, with optional 2× upscale
MP4 Re-encoded video with styled frames, optional audio
LINES Copy .lines files directly (Lines tab only)

Drag-and-drop onto any input list (via tkinterdnd2)

Background processing: export runs on a daemon thread; the progress bar updates live and the UI stays responsive

Architecture

app.py          App(CTk)         — window, three tabs, style pickers, export bar
processing.py   process_export() — background thread dispatcher for lines/images/video
video.py        probe()          — PyAV-based video metadata and per-frame processing
widgets.py      CTkRangeSlider   — dual-handle range slider for video frame selection

Style transfer calls into vexy-lines-apy (MCPClient, apply_style, interpolate_style). Video uses PyAV for mux/demux and OpenCV for frame extraction.

Job folders (crash-safe exports)

All exports create a persistent job folder alongside the output directory. Every intermediate artifact (.lines documents, .svg exports, rasterized frames) is saved there. If the app quits or the process is interrupted mid-export, re-running the export resumes from where it left off.

The GUI never deletes job folders automatically. Use the CLI with --force to start fresh or --cleanup to remove the folder after completion.

Full documentation

Read the docs for the complete GUI guide, API reference, and more examples.

License

MIT

Release files for vexy-lines-run 1.0.53

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for vexy-lines-run 1.0.53
File Size Uploaded
vexy_lines_run-1.0.53.tar.gz 10.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for vexy-lines-run 1.0.53
File Interpreter ABI Platform
vexy_lines_run-1.0.53-py3-none-any.whl Python 3 none any Details

Total release size: 49.5 kB

Release files / vexy_lines_run-1.0.53.tar.gz

Download URL vexy_lines_run-1.0.53.tar.gz
Size 10.9 kB
Tags Source
SHA-256 checksum
How to use checksums
2e304758d49f0f93959cb99445f5eaa1210a8fc39a16b8ede145c2e83640c397
BLAKE2b-256 checksum
How to use checksums
eea8bb264dca3ff6dc482607100ea0cf56463db586581ba624a00597069085d5
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_lines_run-1.0.53-py3-none-any.whl

Download URL vexy_lines_run-1.0.53-py3-none-any.whl
Size 38.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ac67b9180cdba09bdfcd1096aa6778bc3aa34f6eb18f66a095eb1fc8657e069f
BLAKE2b-256 checksum
How to use checksums
b95b0ba83cfd82654205566ed11f27b4107a6bbb8f63b2e55dd257c710f680a8
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 history Release notifications | RSS feed

This release

1.0.53 This release

2 release files

1.0.50

2 release files

1.0.49

2 release files

1.0.48

2 release files

1.0.36

2 release files

1.0.35

2 release files

1.0.34

2 release files

1.0.33

2 release files

1.0.32

2 release files

1.0.31

2 release files

1.0.28

2 release files

1.0.27

2 release files

1.0.26

2 release files

1.0.25

2 release files

1.0.24

2 release files

1.0.23

2 release files

1.0.22

2 release files

1.0.21

2 release files

1.0.20

2 release files

1.0.19

2 release files

1.0.18

2 release files

1.0.17

2 release files

1.0.16

2 release files

1.0.15

2 release files

1.0.14

2 release files

1.0.13

2 release files

1.0.12

2 release files

1.0.11

2 release files

1.0.10

2 release files

1.0.9

2 release files

1.0.8

2 release files

1.0.7

2 release files

1.0.6

2 release files

1.0.5

2 release files

1.0.4

2 release files

1.0.3

2 release files

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