Skip to main content

Human-like mouse automation using statistical models and minimum-jerk interpolation

Project description

HumanMoveMouse 🖱️

Python License

🎯 Human-like mouse automation using statistical models and minimum-jerk interpolation.


Overview

HumanMoveMouse is a human-like mouse automation tool built on over 300 real human mouse movement samples.
By extracting key statistical features from these trajectories and combining them with minimum-jerk interpolation,
the tool enables the generation of natural, smooth, and realistic cursor paths.

These paths closely mimic real human behavior and are ideal for automation tasks requiring authenticity,
such as UI testing, game botting, or user behavior simulation.


Installation

Install the required packages using pip:

pip install numpy pandas scipy scikit-learn pyautogui pygame

Core Functions & Examples

Basic Movement

Move the cursor smoothly between two points.

from human_mouse.human_mouse_controller import HumanMouseController 
controller = HumanMouseController(model_pkl="mouse_model.pkl") 
controller.move((100, 100), (800, 600)) # Move to coordinates 
controller.move_and_click((800, 600), (400, 400)) # Move and click

Parameter Tuning

Adjust trajectory smoothness and speed.

controller = HumanMouseController( 
    model_pkl="mouse_model.pkl", 
    num_points=200, 
    jitter_amplitude=0.2, 
    speed_factor=0.5, ) 

controller.move((300, 300), (900, 500))

Drag and Drop

controller.drag((500, 500), (700, 700))`

Training a Model

You can train your own model using real mouse data.
First, collect trajectory CSVs using:

csv_data_collecter/Mouse Trajectory Collecter.py

Then train a model with:

from human_mouse.human_mouse_stat_mj import train_mouse_model 
train_mouse_model("./csv_data", "mouse_model.pkl")`

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

humanmovemouse-0.1.0.tar.gz (11.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

humanmovemouse-0.1.0-py3-none-any.whl (12.8 kB view details)

Uploaded Python 3

File details

Details for the file humanmovemouse-0.1.0.tar.gz.

File metadata

  • Download URL: humanmovemouse-0.1.0.tar.gz
  • Upload date:
  • Size: 11.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.9

File hashes

Hashes for humanmovemouse-0.1.0.tar.gz
Algorithm Hash digest
SHA256 a41dda36be638278abbc0438e200b62250641567be60aa11231a265db26fc32d
MD5 1ce739bcfb56eb00134fe95a6f8c4e8e
BLAKE2b-256 5743bb0b91c82f7cb37f3cf17b8491fdbb20574e0f7bd3431c2e907cb4b0aeec

See more details on using hashes here.

File details

Details for the file humanmovemouse-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: humanmovemouse-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 12.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.9

File hashes

Hashes for humanmovemouse-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 730da23571246991f1fcf5252e40e6a1e486227dd87c1256ae97b60744133908
MD5 61ee9a3754bc189dc52a61879d86e06c
BLAKE2b-256 49c61fa79b393e03ac5924a857a843dafc52b9a0f236b404348702db276d4853

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page