Skip to main content

SlideDesk

SlideDesk indexes a folder full of .pptx files (and sub-folders), allowing you to browse everything in a touch-friendly browser GUI. It also comes with a simir-slide search based on modern vision language models, allowing you to rediscover slides and build slide decks efficiently.

Install

It is recommended to install SlideDesk in a conda-forge environment.

pip install slidedesk

Additional requirements

  • Works on Windows only
  • Requires Microsoft PowerPoint installed
  • Requires Poppler. You can install poppler like this
conda install poppler

Usage

slidedesk /path/to/folder

Note: If you run this for the first time on a folder that contains many slide decks, the initial scan may take hours depending on your computer. You will slide decks once they are scanned and a progress bar in the top right corner shows how far scanning and embedding are done.

Alternatively, navigate to the folder and run SlideDesk from there:

cd /path/to/folder
slidedesk .

This creates (or opens) a .slidedesk/slidedesk.db SQLite project file inside the folder, starts scanning it for .pptx files in the background, and opens a browser GUI at http://127.0.0.1:5000. You can also make it use a different port using the --port 8989 option.

To browse decks already stored in slidedesk.db without scanning folders for changes or new decks:

slidedesk /path/to/folder --no-scan

This disables startup and recurring folder scans. The background embedding worker is also stopped in this mode. You can still explicitly refresh an individual indexed deck from the GUI.

How it works under the hood

SlideDesk downloads models from Hugging Face on first use, to run them locally Hence, it does not need an API key or an OpenAI-compatible server.

  • Slide texts are embedded using the intfloat/multilingual-e5-large-instruct model. Thanks to this, you can search for terms such as "image filtering" and it may find slides about "image processsing", too.

  • Slide images are embedded locally with openai/clip-vit-base-patch32.

  • Advanced Search generates editable slide outlines locally with the text-generation small language model Qwen/Qwen3.5-0.8B. The model is downloaded on first use.

The background worker stores vectors in slidedesk.db.

“Show similar slides” presents one list: visual matches first, followed by additional text matches, excluding duplicates. Either cache can supply results while the other is still being built or unavailable.

Contributing

Contributions are welcome! Please feel free to submit a Pull Request. Note: Large parts of the code in this repository were vibe-coded using GitHub Copilot integration in Visual Studio Code. When modifying code here, consider using a similar tool.

Acknowledgements

We acknowledge the financial support by the Federal Ministry of Research, Technology and Space of Germany and by Sächsische Staatsministerium für Wissenschaft, Kultur und Tourismus in the programme Center of Excellence for AI-research „Center for Scalable Data Analytics and Artificial Intelligence Dresden/Leipzig“, project identification number: ScaDS.AI

Metadata

Release files for slidedesk 0.2.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 slidedesk 0.2.0
File Size Uploaded
slidedesk-0.2.0.tar.gz 57.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for slidedesk 0.2.0
File Interpreter ABI Platform
slidedesk-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 108.5 kB

Release files / slidedesk-0.2.0.tar.gz

Download URL slidedesk-0.2.0.tar.gz
Size 57.4 kB
Tags Source
SHA-256 checksum
How to use checksums
bb12f6952d598ab053dd714aee486f9845ea399238e037eacb328f29530d3387
BLAKE2b-256 checksum
How to use checksums
a9ede479cc865cde9ed0701e66ea29243807e0b7ebabbb17d753df736e8a9bd8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.8

Release files / slidedesk-0.2.0-py3-none-any.whl

Download URL slidedesk-0.2.0-py3-none-any.whl
Size 51.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
636558f235b33669d80cc1f67ec416cab58355d38bf34562c8ea896efc34ba18
BLAKE2b-256 checksum
How to use checksums
996d95852a879fd02d8c10e59da93a8f3ea0082369e4de0382319e9aed006186
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.8

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files

0.1.0

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