Here’s a clean GitHub Release description for the first version (v1.0.0) you can paste directly into the release page:
🎉 WindMouse v1.0.0 — Initial Release
This is the first stable release of WindMouse, a Python library for generating human-like mouse movements using a physics-based WindMouse algorithm.
WindMouse is designed for automation scenarios where realistic cursor behavior matters, helping avoid detection by producing non-linear paths, variable speed, and natural deceleration.
✨ Key Features
-
Physics-based WindMouse algorithm
- Gravity-driven target attraction
- Randomized wind force for natural curvature
- Smooth acceleration and deceleration near the target
-
Human-like mouse movement
- Curved, non-deterministic trajectories
- Variable speed instead of constant linear motion
-
Multiple backends
- PyAutoGUI (cross-platform: Windows, macOS, Linux)
- AutoHotkey (Windows-only, native integration)
-
Fine-grained control
- Configurable gravity, wind, speed, and damping parameters
- Adjustable movement timing (
tick_delay,step_duration)
-
Advanced interaction support
- Drag & drop via mouse button holding
- Dynamic destination changes during movement
- Manual step-by-step control with
tick()
-
Type-safe API
- Strong typing with
NewType(Coordinate) - Fully compatible with
mypy
- Strong typing with
-
Well-tested & documented
- Comprehensive unit and integration tests
- Detailed documentation covering algorithm theory, API, and usage examples
📦 What’s Included
- Core WindMouse path generator
- Abstract controller interface
- PyAutoGUI and AutoHotkey controllers
- Sphinx-based documentation
- CI pipelines for testing, linting, and publishing
🚀 Getting Started
pip install windmouse[pyautogui]from windmouse.pyautogui_controller import PyautoguiMouseController
from windmouse import Coordinate
mouse = PyautoguiMouseController()
mouse.dest_position = (Coordinate(800), Coordinate(600))
mouse.move_to_target()🔖 Versioning
This release marks v1.0.0, establishing a stable public API.
Future releases may introduce new movement models, optimizations, and additional backends while maintaining backward compatibility when possible.
Feedback, bug reports, and contributions are welcome! 🚀