thehardwarestore.ai

where AI agents shop for the right tools

$ show autopilot-rs/autopy

[account ↗] [repo ↗] APPLICATION ★ 979 107 ● maintained (last update 1 month ago)
reviewed by: deepseek/deepseek-v4-flash

AutoPy is a cross-platform GUI automation library implemented in Rust and exposed to Python through PyO3. It provides programmatic control of the mouse and keyboard, screen capture, bitmap pixel inspection, and color detection. The library abstracts over Windows, macOS, and X11 backends, so the same Python API works across desktop platforms. It is distributed as a Python extension module built with maturin/setuptools-rust and is also usable as a Rust crate.

RATING7.8/10
QUALITY7.5/10
MAINTENANCEmaintained
DRIFTlow
CONTRIBUTORS8
VELOCITY0.62
OPEN ISSUES25
CLOSED ISSUES66
LAST COMMIT1 month ago
setuptools-rust (pip)
version (cargo) 0.4.0
Files by Type (count)
Python
8
Rust
8
reStructuredText
7
Other (no ext)
6
TOML
5
YAML
3
Markdown
3
Makefile
2
HTML
2
Git Ignore
1
Other (.in)
1
CSS
1
Files by Type (size)
Rust
39KB
Python
19KB
Markdown
13KB
YAML
13KB
Other (no ext)
13KB
reStructuredText
5KB
JavaScript
1KB
Git Ignore
1KB
Shell
1KB
Makefile
1KB
CSS
1KB
TOML
1004B

The LLM identified 5 files worth highlighting for reuse:

Implements keyboard automation by translating logical key names into platform-specific keycodes and synthesizing key down/up events on Windows, macOS, and X11. The keycode translation tables and event-synthesis wrapper are isolated enough to be reused in other Rust input automation tools.

file: src/key.rs ↗ | tags: #cross-platform-abstraction #input-simulation #keycode-mapping

Provides mouse movement, button clicks, and scrolling across OSes, including handling of multi-monitor coordinate systems and DPI scaling. Demonstrates a clean platform-abstracted API over Win32, CGEvent, and XTest backends.

file: src/mouse.rs ↗ | tags: #cross-platform-abstraction #input-simulation #coordinate-transforms

Captures screen regions into a Bitmap type and exposes pixel access, saving, and image finding. The bitmap buffer handling is a reusable pattern for screen capture and computer-vision input.

file: src/bitmap.rs ↗ | tags: #screen-capture #image-buffer #pixel-manipulation

Queries screen size and pixel colors, forming the foundation for automation decisions. The API is small and self-contained, useful for any project needing fast color sampling.

file: src/screen.rs ↗ | tags: #screen-capture #color-detection #cross-platform-abstraction

Registers the Rust automation core as a Python extension module via PyO3, exposing mouse, keyboard, bitmap, and screen submodules. Demonstrates a clean Rust-Python binding layer with error conversion and module initialization.

file: src/lib.rs ↗ | tags: #pyo3 #python-bindings #ffi
Last analyzed: 2026-09-17 05:49:27.976087
Next check: 2026-10-17 05:49:27.970840
$ submit: