Skip to content

Add optional desktop GUI entry point#2075

Open
AthillaZaidan wants to merge 10 commits into
microsoft:mainfrom
AthillaZaidan:main
Open

Add optional desktop GUI entry point#2075
AthillaZaidan wants to merge 10 commits into
microsoft:mainfrom
AthillaZaidan:main

Conversation

@AthillaZaidan

Copy link
Copy Markdown

Summary

Adds a desktop GUI entry point for MarkItDown so users can convert one local file into a Markdown output file without using
the CLI directly.

Changes

  • Add markitdown-gui console script
  • Add PySide6-based dark desktop GUI
  • Add native file picker for input and output paths
  • Reuse existing MarkItDown Python API for conversion
  • Add PDF dependencies to default install so GUI PDF conversion works out of the box
  • Add GUI-focused tests
  • Document GUI setup and run commands in README files

How to run

cd packages/markitdown
uv pip install -e .
markitdown-gui

If using an already active virtual environment:

cd packages/markitdown
pip install -e .
markitdown-gui

## Verification

- uv run --with pytest pytest tests/test_gui.py -q
- uv run --with pytest pytest tests/test_cli_misc.py -q
- Manual PDF conversion smoke via GUI helper

@AthillaZaidan

Copy link
Copy Markdown
Author

@microsoft-github-policy-service agree

@noezhiya-dot

Copy link
Copy Markdown

This PR adds a desktop GUI entry point, which is a reasonable feature. However, the README says "This fork includes a desktop GUI" — if this is meant for upstream, the docs should not reference "this fork". Also, adding a GUI dependency (tkinter or similar) to a CLI tool increases the install surface. Consider making the GUI an optional extra (e.g., pip install markitdown[gui]) rather than a default entry point.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants