Package Details: python-pyautogui 0.9.54-1

Git Clone URL: https://aur.archlinux.org/python-pyautogui.git (read-only, click to copy)
Package Base: python-pyautogui
Description: A cross-platform GUI automation Python module for human beings
Upstream URL: https://github.com/asweigart/pyautogui
Licenses: BSD
Conflicts: python-pyautogui-git
Provides: python-pyautogui
Submitter: xantares
Maintainer: None
Last Packager: cqzw555
Votes: 19
Popularity: 0.002150
First Submitted: 2015-11-02 17:34 (UTC)
Last Updated: 2024-03-09 01:20 (UTC)

Latest Comments

1 2 Next › Last »

JThundley commented on 2023-11-08 04:00 (UTC)

I did a little digging and it looks like what's failing is pyautogui is trying to import the "grab" function from pyscreeze which no longer exists.

Switching to python-pyautogui-git fixed the issue for me.

JThundley commented on 2023-08-08 19:01 (UTC) (edited on 2023-08-08 19:09 (UTC) by JThundley)

Hi @PumpkinCheshire, thank you for your support in maintaining this package :)

Pyautogui and/or pyscreeze is currently broken:

$ python
Python 3.11.3 (main, Jun  5 2023, 09:32:32) [GCC 13.1.1 20230429] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import pyautogui
>>> import pyscreeze # to prove that this imports without error, direct import not required for pyautogui to work
>>> from PIL import Image # ditto
>>> pyautogui.locateOnScreen("test.jpg")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python3.11/site-packages/pyautogui/__init__.py", line 231, in  _couldNotImportPyScreeze
raise PyAutoGUIException(pyautogui.PyAutoGUIException: PyAutoGUI was unable to import pyscreeze. (This is likely  because you're running a version of Python that Pillow (which pyscreeze depends on)  doesn't support currently.) Please install this module to enable the function you tried to call.

Both packages are currently flagged out of date: -> Flagged Out Of Date AUR Packages: python-pyautogui python-pytweening

cmsigler commented on 2020-11-02 16:11 (UTC) (edited on 2020-11-03 14:51 (UTC) by cmsigler)

@PumpkinCheshire: Hi,

By George, you're right, pillow is a dependency of pyscreeze... and mouseinfo :) Yeah, as long as python-pyscreeze is a depends rather than optdepends python-pillow ought to be removed as a depends. Thank you :)

FWIW, based solely on the Arch Wiki entry for packaging Python utilities, I decided to stick with setup.py. Thank you again for taking this package on!

I think this package could be of very general use. When I was looking for Python-based GUI testing automation solutions, I decided to use this rather than the many others -- XAUT, python-libxdo, xdotool, xmacro, GNU Xnee, guibot. I researched before choosing pyautogui as the most capable with the widest utility coverage.

Clemmitt

PumpkinCheshire commented on 2020-11-02 13:43 (UTC)

@cmsigler: Hi, You are right. I re-examined the upstream code. These packages really need to be installed to ensure that pyautogui can work well.

The dependency tree is as follows:

PyAutoGUI==0.9.52
  MouseInfo==0.1.3
    pyperclip==1.8.1
    python3-xlib==0.15
# PyGetWindow==0.0.9
#   PyRect==0.1.4
  PyMsgBox==1.0.9
  PyScreeze==0.1.26
    Pillow==8.0.1
  python3-xlib==0.15
  PyTweening==1.0.3

Given that pillow will be installed by PyScreeze, I might consider removing it to keep the dependency tree clean. This software is still under rapid development, the documents and codes are changing around, which is indeed a headache. Using pip installation may be the best solution.

Anyway, I will try to maintain this package for a while and hope everything goes well.

cmsigler commented on 2020-11-02 12:21 (UTC)

@PumpkinCheshire: Good morning,

Thank you for adopting this package :) Your updates to PKGBUILD sound great to me, FWIW. In reading the upstream git source page, it sounded to me like pymsgbox, pyscreeze and pytweening might be candidates for optdepends but I wasn't sure the package would work correctly without them installed. AFAICT, mouseinfo is the same.

As to tk and scrot, I'm unsure, but it sounds good to me as you're the man now ;) (I originally packaged this for myself, but I ended up solving the GUI freezing problems I was having without relying on automated fuzzing of the interface. I learned one needs to use wx.CallAfter to update wxWindows graphics from outside of the main thread :D)

Thanks again!

Clemmitt

PumpkinCheshire commented on 2020-11-02 04:39 (UTC)

@cmsigler: Hi, I decided to maintain this package. Thanks for your patch, however I decided to put some depends to optdepends, because not all of them are absolutely needed. This program will detect which modules are not installed and give tips, so I think this is feasible now. Finally, I also saw that scrot and tk are required in the document. I don't really understand whether they are really necessary, so I put them in optdepends. If I did anything wrong, please correct me, thank you.

cmsigler commented on 2020-10-22 16:44 (UTC)

Hi,

I've tried to carefully read asweigart's github home page for this to update its dependencies. It needs xlib, pillow, pymsgbox, pyscreeze and pytweening. It doesn't appear to need mouseinfo (except that pkg pulled in xlib and pillow so everything was working).

Here is a patch for PKGBUILD (sorry it is on pastebin...):

https://pastebin.com/LDVkQ4pp

I'm not going to adopt this package because I no longer use it. But I have followed it and had some time to "give back" ;) HTH!

Clemmitt Sigler

yochananmarqos commented on 2020-01-20 15:19 (UTC)

@Scimmia: Whoops. For some reason I thought one of the other dependencies pulled in setuptools.

Scimmia commented on 2020-01-20 08:18 (UTC)

Removing the makedepends was a mistake, package no longer builds.