Skip to main content

GUI desktop application for Vexy Lines style transfer

Project description

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

Optional extras:

Extra What it adds
dnd Drag-and-drop file support (tkinterdnd2)
video Video processing (PyAV, OpenCV, resvg, svglab)
menus Native menu bar (CTkMenuBarPlus)
all Everything above
pip install "vexy-lines-run[all]"

Launch

vexy-lines-gui

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; style applied 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 two are interpolated linearly across the input sequence. Both show inline thumbnail previews.

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 (requires [dnd])

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.

Full documentation

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

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

vexy_lines_run-1.0.6.tar.gz (9.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

vexy_lines_run-1.0.6-py3-none-any.whl (30.6 kB view details)

Uploaded Python 3

File details

Details for the file vexy_lines_run-1.0.6.tar.gz.

File metadata

  • Download URL: vexy_lines_run-1.0.6.tar.gz
  • Upload date:
  • Size: 9.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.1 {"installer":{"name":"uv","version":"0.11.1","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}

File hashes

Hashes for vexy_lines_run-1.0.6.tar.gz
Algorithm Hash digest
SHA256 bdb46476c3f03d88150baad98070dc121b554bf1396241c438b985d5a84a16e9
MD5 acbb61b30e22a9d36c0e9eb5a58f7f13
BLAKE2b-256 0b802bb4fa0fc01a0afc74c247a1ba4126b52c588e82752a9840b58a317270a9

See more details on using hashes here.

File details

Details for the file vexy_lines_run-1.0.6-py3-none-any.whl.

File metadata

  • Download URL: vexy_lines_run-1.0.6-py3-none-any.whl
  • Upload date:
  • Size: 30.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.1 {"installer":{"name":"uv","version":"0.11.1","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}

File hashes

Hashes for vexy_lines_run-1.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 16d4ca1522d67f0f3f372684deeb2f76464db3d66afffe3b09e40314c64d951f
MD5 c7837adb4418884409db9b029a9c30f7
BLAKE2b-256 d89dceba9ab2bab6e4b468dd87cdbb3006ab02cdec0c1eafd263858e2bae7d43

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page