# Human Mouse 🖱️
🎯 Human-like mouse movements powered by bezier curves and spline interpolation. Ultra-realistic cursor automation.
[![PyPI version](https://badge.fury.io/py/human-mouse.svg)](https://badge.fury.io/py/human-mouse)
[![Python 3.10+](https://img.shields.io/badge/python-3.10+-blue.svg)](https://www.python.org/downloads/)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
## Overview
Human Mouse is a sophisticated Python package that generates ultra-realistic mouse movements by implementing advanced mathematical algorithms. It uses a combination of bezier curves and spline interpolation to create smooth, natural-looking cursor trajectories that closely mimic human behavior.
## Installation
```bash
pip install human-mouse
```
## Core Functions & Examples
### Basic Movement
Move cursor to specific coordinates with natural trajectory
```python
mouse = MouseController()
mouse.move(500, 300) # Move to coordinates
mouse.move(800, 600, speed_factor=0.5) # Move faster
```
### Random Movement
Move to a random screen position using human-like patterns
```python
mouse.move_random() # Move to random position
mouse.move_random(speed_factor=2.0) # Slower random movement
```
### Click Operations
Execute a single click
```python
mouse.perform_click(500, 300) # Move and click
```
Natural double click
```python
mouse.perform_double_click(500, 300) # Move and double click
```
Right-click action
```python
mouse.perform_context_click(500, 300) # Move and right click
```
### Movement Patterns
Enable zigzag movements for more natural patterns
```python
zigzag_mouse = MouseController(always_zigzag=True)
zigzag_mouse.move(500, 300)
```
### Virtual Display Support
Linux virtual display support
```python
virtual_mouse = MouseController(is_virtual=True)
virtual_mouse.move(500, 300)
```
## Advanced Features
### Movement Patterns
- Bezier curve interpolation for smooth trajectories
- Spline-based path generation
- Randomized movement variance
- Natural acceleration/deceleration
- Configurable zigzag patterns
### Platform Support
- Windows: Full native support
- macOS: Full native support
- Linux: Supports both native and virtual displays
## Complete Example
```python
from human_mouse import MouseController
import time
# Initialize controller
mouse = MouseController(always_zigzag=True)
# Perform series of actions
mouse.move(500, 300) # Move to position
time.sleep(0.5) # Wait briefly
mouse.perform_click() # Click
time.sleep(0.5) # Wait briefly
mouse.move_random() # Move to random position
mouse.perform_double_click() # Double click
```
## Technical Requirements
- Python 3.10+
- Dependencies:
- numpy
- pyautogui
- scipy
- python-xlib (optional, for Linux virtual display)
## Contributing
We welcome contributions! Please feel free to submit pull requests.
## License
MIT License - see the LICENSE file for details.
## Support
- Issues: [GitHub Issues](https://github.com/sarperavci/human_mouse/issues)
Raw data
{
"_id": null,
"home_page": "https://github.com/sarperavci/human_mouse",
"name": "human-mouse",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": null,
"keywords": "mouse, automation, human-like, movement, simulation, testing",
"author": "Sarper AVCI",
"author_email": "sarperavci20@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/13/27/d6e864646cc369cf915945e07ad9628f8e4be53140f067977f5ce485f72a/human_mouse-0.1.1.tar.gz",
"platform": null,
"description": "# Human Mouse \ud83d\uddb1\ufe0f\n\n\ud83c\udfaf Human-like mouse movements powered by bezier curves and spline interpolation. Ultra-realistic cursor automation.\n\n[![PyPI version](https://badge.fury.io/py/human-mouse.svg)](https://badge.fury.io/py/human-mouse)\n[![Python 3.10+](https://img.shields.io/badge/python-3.10+-blue.svg)](https://www.python.org/downloads/)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\n## Overview\n\nHuman Mouse is a sophisticated Python package that generates ultra-realistic mouse movements by implementing advanced mathematical algorithms. It uses a combination of bezier curves and spline interpolation to create smooth, natural-looking cursor trajectories that closely mimic human behavior.\n\n## Installation\n\n```bash\npip install human-mouse\n```\n\n## Core Functions & Examples\n\n### Basic Movement\n\nMove cursor to specific coordinates with natural trajectory\n\n```python\nmouse = MouseController()\nmouse.move(500, 300) # Move to coordinates\nmouse.move(800, 600, speed_factor=0.5) # Move faster\n```\n\n### Random Movement\n\nMove to a random screen position using human-like patterns\n\n```python\nmouse.move_random() # Move to random position\nmouse.move_random(speed_factor=2.0) # Slower random movement\n```\n\n### Click Operations\n \nExecute a single click\n\n```python\nmouse.perform_click(500, 300) # Move and click\n```\n\nNatural double click\n```python\nmouse.perform_double_click(500, 300) # Move and double click\n```\n\nRight-click action\n```python\nmouse.perform_context_click(500, 300) # Move and right click\n```\n\n### Movement Patterns\n\nEnable zigzag movements for more natural patterns\n```python\nzigzag_mouse = MouseController(always_zigzag=True)\nzigzag_mouse.move(500, 300)\n```\n\n### Virtual Display Support\n\nLinux virtual display support\n```python\nvirtual_mouse = MouseController(is_virtual=True)\nvirtual_mouse.move(500, 300)\n```\n\n## Advanced Features\n\n### Movement Patterns\n- Bezier curve interpolation for smooth trajectories\n- Spline-based path generation\n- Randomized movement variance\n- Natural acceleration/deceleration\n- Configurable zigzag patterns\n\n### Platform Support\n- Windows: Full native support\n- macOS: Full native support\n- Linux: Supports both native and virtual displays\n\n## Complete Example\n\n```python\nfrom human_mouse import MouseController\nimport time\n\n# Initialize controller\nmouse = MouseController(always_zigzag=True)\n\n# Perform series of actions\nmouse.move(500, 300) # Move to position\ntime.sleep(0.5) # Wait briefly\nmouse.perform_click() # Click\ntime.sleep(0.5) # Wait briefly\nmouse.move_random() # Move to random position\nmouse.perform_double_click() # Double click\n```\n\n## Technical Requirements\n\n- Python 3.10+\n- Dependencies:\n - numpy\n - pyautogui\n - scipy\n - python-xlib (optional, for Linux virtual display)\n\n## Contributing\n\nWe welcome contributions! Please feel free to submit pull requests.\n\n## License\n\nMIT License - see the LICENSE file for details.\n\n## Support\n\n- Issues: [GitHub Issues](https://github.com/sarperavci/human_mouse/issues)\n",
"bugtrack_url": null,
"license": null,
"summary": "A package that simulates realistic human-like mouse movements",
"version": "0.1.1",
"project_urls": {
"Bug Tracker": "https://github.com/sarperavci/human_mouse/issues",
"Documentation": "https://github.com/sarperavci/human_mouse#readme",
"Homepage": "https://github.com/sarperavci/human_mouse"
},
"split_keywords": [
"mouse",
" automation",
" human-like",
" movement",
" simulation",
" testing"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "d0ac583096a8b0970bba3e133cf6a9fd4a666c291c486a2ba79be8b1500be2d0",
"md5": "b9808559bb399667ee1d66aec411386f",
"sha256": "8e7492afa795fff14acd974382a981acbf28d08ae48fc4830741242b8fcc0136"
},
"downloads": -1,
"filename": "human_mouse-0.1.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "b9808559bb399667ee1d66aec411386f",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 5204,
"upload_time": "2025-01-11T14:41:40",
"upload_time_iso_8601": "2025-01-11T14:41:40.863858Z",
"url": "https://files.pythonhosted.org/packages/d0/ac/583096a8b0970bba3e133cf6a9fd4a666c291c486a2ba79be8b1500be2d0/human_mouse-0.1.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "1327d6e864646cc369cf915945e07ad9628f8e4be53140f067977f5ce485f72a",
"md5": "769a3a964dc105b2c91cc4d9da7d8fe0",
"sha256": "f0d336ea90e1701c62bd39102960d899e8ca936d9f1d693ad98f3121d270d030"
},
"downloads": -1,
"filename": "human_mouse-0.1.1.tar.gz",
"has_sig": false,
"md5_digest": "769a3a964dc105b2c91cc4d9da7d8fe0",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 5972,
"upload_time": "2025-01-11T14:41:43",
"upload_time_iso_8601": "2025-01-11T14:41:43.007499Z",
"url": "https://files.pythonhosted.org/packages/13/27/d6e864646cc369cf915945e07ad9628f8e4be53140f067977f5ce485f72a/human_mouse-0.1.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-01-11 14:41:43",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "sarperavci",
"github_project": "human_mouse",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "human-mouse"
}