Metadata-Version: 2.4
Name: sdexe
Version: 0.2.19
Summary: Suite for Downloading, Editing & eXporting Everything: local tools for media, PDF, images, AV, file conversion, and text
Author: Gedaliah Sax
License-Expression: MIT
Project-URL: Homepage, https://github.com/gedaliahs/sdexe
Project-URL: Repository, https://github.com/gedaliahs/sdexe.git
Project-URL: Issues, https://github.com/gedaliahs/sdexe/issues
Keywords: media,pdf,image,audio,video,conversion,download,tools
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: End Users/Desktop
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Multimedia
Classifier: Topic :: Utilities
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: flask
Requires-Dist: yt-dlp>=2026.7.4
Requires-Dist: pypdf
Requires-Dist: Pillow
Requires-Dist: markdown
Requires-Dist: rich
Requires-Dist: pystray
Requires-Dist: PyYAML
Requires-Dist: qrcode
Requires-Dist: imageio-ffmpeg
Requires-Dist: certifi
Provides-Extra: transcribe
Requires-Dist: faster-whisper>=1.0.0; extra == "transcribe"
Requires-Dist: pyannote.audio>=3.1; extra == "transcribe"
Dynamic: license-file

# sdexe

**Suite for Downloading, Editing & eXporting Everything**

[![PyPI version](https://img.shields.io/pypi/v/sdexe)](https://pypi.org/project/sdexe/)
[![Python 3.10+](https://img.shields.io/pypi/pyversions/sdexe)](https://pypi.org/project/sdexe/)
[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)

Local tools for media downloads, PDF manipulation, image processing, and file conversion. Everything runs on your machine. No uploads, no accounts, no data leaves your device.

## Install

```
pipx install sdexe
```

Or with pip:

```
pip install sdexe
```

### Requirements

- Python 3.10+
- [ffmpeg](https://ffmpeg.org/): sdexe will offer to install it automatically on first run

## Usage

```
sdexe
```

Opens `http://localhost:5001` in your browser. All processing happens locally.

## Features

### Media Downloader
Download videos and audio from YouTube, Instagram, TikTok, SoundCloud, Twitch, Vimeo, X, and 1000+ other sites.
- Formats: MP3 (128/192/320 kbps), MP4, FLAC, WAV
- Quality options: Best, 1080p, 720p, 480p for video
- Playlist and batch URL support (up to 3 concurrent downloads)
- Subtitle download for MP4
- Thumbnail embedded as album art
- Set a permanent output folder to skip manual saving
- Real-time progress with speed, ETA, and cancel button
- Desktop notifications when downloads finish
- Download history with re-fetch button

### PDF Tools
- **Merge**: combine multiple PDFs, drag to reorder
- **Split**: split by page ranges (e.g. `1-3, 5, 8-10`) or every page
- **Images to PDF**: convert JPG/PNG/WebP images into a single PDF
- **Compress**: reduce file size by compressing content streams
- **Extract Text**: pull all text to a .txt file with page markers
- **Password**: add or remove PDF password protection

### Image Tools
- **Resize**: by dimensions or percentage, with aspect ratio lock
- **Compress**: batch compression at High / Medium / Low quality
- **Convert**: convert between PNG, JPG, and WebP (batch supported)

### File Converter
- **Markdown → HTML**: live preview + styled standalone HTML output
- **CSV ↔ JSON**: bidirectional, first row as headers
- **JSON ↔ YAML**: bidirectional
- **CSV ↔ TSV**: bidirectional
- **XML → JSON**

## Development

```
git clone https://github.com/gedaliahs/sdexe.git
cd sdexe
python -m venv venv
source venv/bin/activate
pip install -e .
sdexe
```
