Metadata-Version: 2.4
Name: typst2pptx
Version: 0.1.1
Summary: Convert Typst presentations to PPTX
License: MIT
Project-URL: Homepage, https://github.com/cop1cat/typst2pptx
Requires-Python: >=3.12
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: typer>=0.12
Requires-Dist: pydantic>=2.0
Requires-Dist: pymupdf>=1.24
Requires-Dist: python-pptx>=1.0
Requires-Dist: Pillow>=10.0
Provides-Extra: dev
Requires-Dist: mypy>=1.19.1; extra == "dev"
Requires-Dist: pre-commit>=4.5.1; extra == "dev"
Requires-Dist: ruff>=0.15.4; extra == "dev"
Provides-Extra: tests
Requires-Dist: pytest>=8.0.0; extra == "tests"
Requires-Dist: pytest-asyncio>=0.23.0; extra == "tests"
Requires-Dist: pytest-cov>=5.0.0; extra == "tests"
Dynamic: license-file

# `typst2pptx`

Convert Typst presentations to PPTX.

## How it works

Compiles `.typ` to PDF via `typst` CLI, renders each page as an image, and packs them into a `.pptx` file. The result is not editable — each slide is a raster image.

## Requirements

- Python 3.12+
- [typst](https://github.com/typst/typst/releases) CLI available in `$PATH`

## Installation
```bash
pip install typst2pptx
```

## Usage
```bash
typst2pptx slides.typ                         # → slides.pptx next to input
typst2pptx slides.typ -o out/result.pptx      # explicit output path
typst2pptx slides.typ --dpi 220               # higher quality
typst2pptx slides.typ --typst-bin ~/bin/typst # custom typst path
```

## DPI guide

| DPI | Use case |
|-----|----------|
| 96  | Screen only |
| 150 | Default, good for most presentations |
| 220 | Small text, formulas, high-quality export |
