Skip to main content

A Shiny app to convert LLM Markdown exports to PDF with Quarto

Project description

Markdown to PDF Converter (llmmd2pdf)

A local Python application built with Shiny for Python that allows you to paste Markdown text, preprocess it (specifically optimized for Gemini/LLM exports), and convert it to PDF using Quarto.

Features

  • GUI Interface: Clean Shiny layout for text input and settings.
  • Smart Preprocessing: Cleans "Gemini Apps Activity" footers, removes profile placeholders, and cleans artifact tags.
  • Native Directory Picker: Robustly handles native macOS file dialogs via a subprocess.
  • Quarto Integration: High-quality PDF conversion.
  • Metadata & Config: Autosaves your favorite models, author name, and stores them in the standard OS configuration path.

Prerequisites

  1. Python 3.9+
  2. Quarto CLI: Required for PDF generation.

Option 1: Installation via PyPI (Recommended)

This is the easiest way to use the tool.

  1. Install the package:
    pip install llmmd2pdf

  2. Run the app:
    llmmd2pdf

    The app will open in your browser automatically.

Option 2: Installation from Source (GitHub)

Use this if you want to modify the code or contribute.

  1. Clone the repository:
    git clone [https://github.com/yourusername/llmmd2pdf.git\](https://github.com/yourusername/llmmd2pdf.git)
    cd llmmd2pdf

  2. Install in editable mode:
    pip install -e .

  3. Run the app:
    llmmd2pdf

Configuration

The application stores settings in the standard Application Support folder for your OS.

  • macOS: ~/Library/Application Support/llmmd2pdf/config.toml
  • Windows: %APPDATA%/llmmd2pdf/config.toml
  • Linux: ~/.config/llmmd2pdf/config.toml

This file is automatically created when you run the app. You can modify it to set default models, your name, or the server port.

Default Config:
models = [ "Claude Haiku 4.5", "Claude Opus 4.5", "Claude Sonnet 4.5", "GPT-4o", "GPT-4o mini", "GPT-5", "GPT-5.1", "Gemini 3 Pro"]
author = "Karl Dafoe"
port = 5555 # Change this to run on a different port

Changing the Port

You can change the port by editing the port value in the config file above. The next time you run llmmd2pdf, it will bind to that port.

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

llmmd2pdf-0.1.0.tar.gz (21.2 kB view details)

Uploaded Source

Built Distribution

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

llmmd2pdf-0.1.0-py3-none-any.whl (20.8 kB view details)

Uploaded Python 3

File details

Details for the file llmmd2pdf-0.1.0.tar.gz.

File metadata

  • Download URL: llmmd2pdf-0.1.0.tar.gz
  • Upload date:
  • Size: 21.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.14

File hashes

Hashes for llmmd2pdf-0.1.0.tar.gz
Algorithm Hash digest
SHA256 6cff140079638f0e1d4bf9960c5d6f02c1234b433aed2326ef3528bf6d092ad6
MD5 b2756007e40193191f747f6b25d6c25d
BLAKE2b-256 cc3e335399d33207889f26164127289961be48332030a04b9e56cd3f4db948a7

See more details on using hashes here.

File details

Details for the file llmmd2pdf-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: llmmd2pdf-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 20.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.14

File hashes

Hashes for llmmd2pdf-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 74f73860104e4a6f82388e34402bc538304078896763ac53bb93292efa3cf163
MD5 e7ec75de85395c0978ea13a37d145519
BLAKE2b-256 c178cedc2fc6673184621c7ab1bc22326067cb9889833e58bbfad9700f20ca4b

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