⚠️ WORK IN PROGRESS - NOT PRODUCTION READY ⚠️
This project is in active development and was made available on git for personal accessibility and version control purposes. It is not yet mature enough for general use.
What is MacroMaker?
MacroMaker is a Python package for recording and replaying mouse automation sequences with OCR support. It allows you to:
- Record mouse clicks with timing and coordinates
- Store sequences in human-readable YAML format
- Replay sequences with runtime variable substitution
- Use OCR to identify text locations near clicks
Current Status
- ✅ Core recording and playback functionality implemented
- ✅ OCR integration with tesseract
- ✅ Cross-platform notification support
- ⚠️ Limited testing across different environments
- ⚠️ API may change without notice
- ⚠️ Documentation incomplete
Installation
From source (for testing only)
pip install -e .Using uv (no clone required)
You can run MacroMaker directly from the GitHub repository without cloning using uv:
# Run directly with uvx uvx --from git+https://github.com/thiswillbeyourgithub/MacroMaker.git macromaker --help # Or install globally with uv uv tool install git+https://github.com/thiswillbeyourgithub/MacroMaker.git macromaker --help
Usage
MacroMaker can be launched in several ways:
# Using the CLI command (after installation) macromaker --record --ocr macromaker --run sequence_20240120_143022.yaml # Using python -m python -m macromaker --record --ocr python -m macromaker --run sequence_20240120_143022.yaml
Examples
# Record a sequence with OCR macromaker --record --ocr # Replay a sequence macromaker --run sequence_20240120_143022.yaml # Replay with variable substitution macromaker --run sequence.yaml --name "John Doe"
Known Limitations
- Not all edge cases have been tested
- OCR accuracy depends on tesseract installation
- May not work reliably across all screen configurations
- No test suite yet
Contributing
This is a personal project in early stages. If you're interested in contributing or have feedback, please open an issue first to discuss.
Development
This project was developed using aider.chat.
License
See LICENSE file for details.