Skip to main content

Cross-platform automation library — mouse, keyboard, screen, window, clipboard, shell

Project description

cua-auto

cua-auto is a lightweight, cross-platform automation library providing a synchronous, MIT-licensed pyautogui-style API for mouse, keyboard, screen, window, clipboard, and shell operations. It runs on Windows, macOS, and Linux using pynput for input control and pywinctl for window management.

import cua_auto.mouse as mouse
import cua_auto.keyboard as keyboard
import cua_auto.screen as screen
import cua_auto.window as window
import cua_auto.clipboard as clipboard
import cua_auto.shell as shell

# Mouse
mouse.click(100, 200)               # left click
mouse.right_click(100, 200)
mouse.double_click(100, 200)
mouse.move_to(500, 300)
mouse.mouse_down(100, 200)
mouse.mouse_up(100, 200)
mouse.drag(100, 200, 400, 500)      # start → end
mouse.scroll_up(3)
mouse.scroll_down(3)
x, y = mouse.position()

# Keyboard
keyboard.press_key("enter")
keyboard.type_text("hello world")
keyboard.hotkey(["ctrl", "c"])
keyboard.key_down("shift")
keyboard.key_up("shift")

# Screen
img = screen.screenshot()           # returns PIL.Image
png = screen.screenshot_bytes()     # raw PNG bytes
b64 = screen.screenshot_b64()      # base64 string
w, h = screen.screen_size()
x, y = screen.cursor_position()

# Window
title = window.get_active_window_title()
handle = window.get_active_window_handle()
handles = window.get_windows_with_title("Chrome")
name = window.get_window_name(handle)
x, y = window.get_window_position(handle)
w, h = window.get_window_size(handle)
window.activate_window(handle)
window.minimize_window(handle)
window.maximize_window(handle)
window.close_window(handle)
window.set_window_size(handle, 1280, 800)
window.set_window_position(handle, 0, 0)
window.open("https://example.com")  # or file path
pid = window.launch("notepad.exe")

# Clipboard
text = clipboard.get()
clipboard.set("hello")

# Shell
result = shell.run("echo hi")       # CommandResult
print(result.stdout, result.returncode)

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

cua_auto-0.1.1.tar.gz (8.9 kB view details)

Uploaded Source

Built Distribution

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

cua_auto-0.1.1-py3-none-any.whl (9.2 kB view details)

Uploaded Python 3

File details

Details for the file cua_auto-0.1.1.tar.gz.

File metadata

  • Download URL: cua_auto-0.1.1.tar.gz
  • Upload date:
  • Size: 8.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for cua_auto-0.1.1.tar.gz
Algorithm Hash digest
SHA256 ab322e5ca7d19fdddc3ea89fcddf3583c57e35819e0fa777fa659e7f43e203e9
MD5 7a772c578435b178b822e6ad7f5153ac
BLAKE2b-256 e210f4e8f80fe6b844a0438a8c680bd57f85dd818cc4d7c35715006b51137b21

See more details on using hashes here.

File details

Details for the file cua_auto-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: cua_auto-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 9.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for cua_auto-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f582f81dacf1ef1c61796808a63b3c959b14927f6034b2a6d9ebaf39608830aa
MD5 6ca13347966cc620166a6d48d510d2bd
BLAKE2b-256 17bea5dce94cf775a19c5fb4a1b7d10e3c7106b4d036f91473a819c8270abfbd

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