Top AI Repos — open-source AI, indexed and scored
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
A simple, cross-platform GUI automation module for Python and Rust.
| Date | Stars |
|---|---|
| 2026-07-25 | 981 |
| 2026-07-28 | 981 |
| 2026-07-30 | 981 |
| 2026-08-06 | 981 |
Today
— stars today
This week
— stars this week
This month
— stars this month
Momentum
0.0
growth rate 0.00%/day
[](https://pypi.python.org/pypi/autopy/)
[](https://pypi.python.org/pypi/autopy/)
[](https://pepy.tech/project/autopy)
[](https://github.com/autopilot-rs/autopy/actions/workflows/build.yaml)
[](https://ci.appveyor.com/project/msanders/autopy)
AutoPy Introduction and Tutorial
=================================
## Introduction
AutoPy is a simple, cross-platform GUI automation library for Python. It
includes functions for controlling the keyboard and mouse, finding colors and
bitmaps on-screen, and displaying alerts.
Currently supported on macOS, Windows, and X11 with the XTest extension.
## Getting Started
### Requirements
* Python 3.8 and onwards (for newer releases).
* Rust 1.23.0-nightly 2019-02-06 or later (unless using a binary wheel
distribution).
* macOS 10.6 and up.
* Windows 7 and up.
* X11 with the XTest extension.
### Installation
First, see if a binary wheel is available for your machine by running:
$ pip install -U autopy
If that fails, install [rustup](https://rustup.rs) and then run:
$ rustup default nightly-2019-10-05
$ pip install -U setuptools-rust
$ pip install -U autopy
Another option is to build from the latest source on the GitHub repository:
$ git clone git://github.com/autopilot-rs/autopy-rs.git
$ cd autopy
$ python -m venv .env && source .env/bin/activate
$ maturin develop
Additional possibly outdated instructions for installing from source on Windows
are available [here](https://github.com/autopilot-rs/autopy/blob/master/scripts/windows-setup.md).
### Hello World
The following is the source for a "hello world" script in autopy. Running this
code will cause an alert dialog to appear on every major platform:
```python
import autopy
def hello_world():
autopy.alert.alert("Hello, world")
hello_world()
```

## Tutorials
### Controlling the Mouse
AutoPy includes a number of functions for controlling the mouse. For a full
list, consult the [API
Reference](https://www.autopy.org/documentation/api-reference/mouse.html). E.g.,
to immediately "teleport" the mouse to the top left corner of the screen:
>>> import autopy
>>> autopy.mouse.move(0, 0)
To move the mouse a bit more realistically, we could use:
>>> import autopy
>>> autopy.mouse.smooth_move(0, 0)
Even better, we could write our own function to move the mouse across the screen
as a sine wave:
```python
import autopy
import math
import time
import random
import sys
TWO_PI = math.pi * 2.0
def sine_mouse_wave():
"""
Moves the mouse in a sine wave from the left edge of
the screen to the right.
"""
width, height = autopy.screen.size()
height /= 2
height -= 10 # Stay in the screen bounds.
for x in range(int(width)):
y = int(height * math.sin((TWO_PI * x) / width) + height)
autopy.mouse.move(x, y)
time.sleep(random.uniform(0.001, 0.003))
sine_mouse_wave()
```
<video controls src="https://github.com/autopilot-rs/autopy/assets/9993663/379ee2a6-5d3e-4f1e-a0bd-420660351875" width="640" alt="Demonstration video"></video>
### Controlling the Keyboard
The following will enter the keys from the string "Hello, world!" in the
currently focused input at 100 WPM:
```python
import autopy
autopy.key.type_string("Hello, world!", wpm=100)
```
Alternatively, individual keys can be entered using the following:
```python
import autopy
autopy.key.tap(autopy.key.Code.TAB, [autopy.key.Modifier.META])
autopy.key.tap("w", [autopy.key.Modifier.META])
```
### Working with Bitmaps
Excerpt of 7,893 characters
Read on GitHub113
22
1
1
1
1
1
1
Would you bet a product on this? Bounded 0–100 and slow moving.
matched fp:748616d6111fa560, topic:automation
matched fp:748616d6111fa560, topic:simulation