Metadata-Version: 2.4
Name: dioxuscut
Version: 0.1.5
Classifier: Programming Language :: Rust
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Multimedia :: Video
Classifier: Operating System :: MacOS
Classifier: Operating System :: POSIX :: Linux
Classifier: Operating System :: Microsoft :: Windows
Summary: High-performance browser-free programmatic video rendering engine for Python
Keywords: video,remotion,rust,animation,motion-graphics,rendering,ffmpeg,compositing
Author: Dioxuscut Contributors
License: MIT OR Apache-2.0
Requires-Python: >=3.10
Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
Project-URL: Documentation, https://github.com/sjkim1127/Dioxuscut#readme
Project-URL: Homepage, https://github.com/sjkim1127/Dioxuscut
Project-URL: Issues, https://github.com/sjkim1127/Dioxuscut/issues
Project-URL: Repository, https://github.com/sjkim1127/Dioxuscut

# dioxuscut (Python SDK)

High-performance, browser-free, programmatic video rendering engine for Python.  
Zero Chromium. Zero Puppeteer. Zero Node.js. 100% Pure Rust Native Speed.

## Installation

```bash
pip install dioxuscut
```

*(Prerequisite: `ffmpeg` installed on your system PATH)*

## Quick Start

### 1. Render a Video in 3 Lines

```python
import dioxuscut

dioxuscut.render(
    composition="HelloWorld",
    output="video.mp4",
    props={"title": "Hello from Python", "subtitle": "Rendered in 0.3s"},
    width=1920,
    height=1080,
    fps=30.0,
    duration=90,
)
```

### 2. Render a Still Frame (Thumbnail / Poster)

```python
import dioxuscut

dioxuscut.render_still(
    composition="HelloWorld",
    frame=30,
    output="thumbnail.png"
)
```

### 3. Dynamic Video Templates with Rhai Scripts

```python
import dioxuscut

dioxuscut.render_script(
    script_path="templates/shorts.rhai",
    output="shorts.mp4",
    props={
        "headline": "Breaking AI News",
        "caption": "Rendered natively without a browser.",
        "tag": "TECH",
    },
    width=1080,
    height=1920, # Vertical 9:16 Shorts / Reels
    duration=90,
)
```

### 4. Object-Oriented Composition API

```python
import dioxuscut

comp = dioxuscut.Composition("HelloWorld", width=1920, height=1080, duration=180)
comp.render("output.mp4")
comp.render_still(frame=0, output="cover.png")
```

## Performance Comparison (vs Remotion)

| Metric | Remotion (Node.js + Chromium) | **Dioxuscut Python SDK** | Advantage |
|:---|:---:|:---:|:---:|
| **Runtime Dependencies** | Node.js, Chromium, X11, Mesa | **Pure Rust Binary + FFmpeg** | Zero Browser Overhead |
| **Memory Footprint (RSS)** | 1,800 ~ 2,500 MB | **400 ~ 900 MB** | **4x ~ 6x Less RAM** |
| **720p Render Time** | 11.04 s | **0.35 s** | **🔥 31x Faster** |
| **1080p Shorts Render Time** | ~12.0 s | **0.39 s (230 FPS)** | **🔥 30x Faster** |
| **AWS Lambda 10k Cost** | $4.60 | **$0.15** | **🔥 96.8% Cost Savings** |

## License

MIT OR Apache-2.0

