Metadata-Version: 2.2
Name: IORecorder
Version: 0.2.0
Summary: A Python library for recording I/O interactions (keyboard, mouse, and screen).
Author-email: Emericen <yuedilia@usc.edu>
License: MIT
Project-URL: Source, https://github.com/Emericen/IORecorder
Project-URL: Issues, https://github.com/Emericen/IORecorder/issues
Keywords: input,output,recording,I/O,keyboard,mouse,screen
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.7
Description-Content-Type: text/markdown
Requires-Dist: moviepy==1.0.2
Requires-Dist: pynput==1.7.7
Requires-Dist: numpy==2.2.2
Requires-Dist: pyautogui==0.9.54
Requires-Dist: pillow==11.1.0

# IORecorder
A Python library for recording screen, mouse, and keyboard interactions with debug video overlay capabilities.

## Installation

```bash
pip install iorecorder
```

## Quick Start

```python
from iorecorder import IORecorder

recorder = IORecorder(output_dir="my_recordings")
recorder.start()

# ... do something, maybe time.sleep() ...

recorder.stop()
```
The recorder will create a timestamped directory containing:
- `screen.mp4`: Screen recording with mouse cursor
- `mouse_events.csv`: Mouse movements, clicks and scrolls
- `keyboard_events.csv`: Keyboard press/release events

## Debug Video Generation

Create a video with overlaid debug information, similar to a minecraft debug log, showing timestamp, mouse coordinates, and currently pressed keys or mouse buttons.

```python
from iorecorder import generate_debug_video

generate_debug_video(
    input_mp4="path/to/screen.mp4",
    mouse_csv="path/to/mouse_events.csv",
    keyboard_csv="path/to/keyboard_events.csv",
    output_mp4="path/to/generated_debug_video.mp4"
)
```


