Metadata-Version: 2.4
Name: window-art
Version: 0.1.1
Summary: A minimal Python library for live coding visual scenes using desktop windows
Project-URL: Homepage, https://github.com/willmeyers/window-art
Project-URL: Repository, https://github.com/willmeyers/window-art
Author: Window Art Contributors
License-Expression: MIT
License-File: LICENSE
Keywords: animation,creative-coding,desktop,live-coding,visual,windows
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Multimedia :: Graphics
Requires-Python: >=3.10
Requires-Dist: pillow>=12.1.0
Requires-Dist: pysdl2-dll>=2.28.0
Requires-Dist: pysdl2>=0.9.16
Provides-Extra: dev
Requires-Dist: mypy>=1.0; extra == 'dev'
Requires-Dist: opencv-python>=4.10.0; extra == 'dev'
Requires-Dist: pytest>=7.0; extra == 'dev'
Provides-Extra: docs
Requires-Dist: mkdocs-material>=9.0; extra == 'docs'
Requires-Dist: mkdocs>=1.5; extra == 'docs'
Requires-Dist: mkdocstrings[python]>=0.24; extra == 'docs'
Provides-Extra: video
Requires-Dist: opencv-python>=4.10.0; extra == 'video'
Description-Content-Type: text/markdown

# window-art

A minimal Python library for live coding visual scenes using desktop windows.

![window-art demo](docs/window-art.gif)

## Installation

```bash
pip install window-art
```

## Quick Start

```python
import window_art as wa

with wa.run():
    win = wa.window(100, 100, 200, 200, color="coral")
    wa.move(win, 500, 300, duration=2.0, ease="ease_out")
    wa.wait(1)
```

## Examples

```python
import window_art as wa

with wa.run():
    # Create windows
    win = wa.window(100, 100, 200, 200, color="red")

    # Animate
    wa.move(win, 500, 300, duration=1.0)
    wa.fade(win, 0.5, duration=0.5)
    wa.color_to(win, "blue", duration=0.5)

    # Display media
    img = wa.window(400, 100, 300, 200, image="photo.jpg")
    vid = wa.window(400, 350, 300, 200, video="movie.mp4")

    # Text
    txt = wa.window(100, 400, 200, 50, text="Hello!", font_size=32)

    wa.wait(3)
```
