Merge pull request #142698 from lucasew/package/pythonPackages/pyautogui
python39Packages.pyautogui: init at 0.9.53
This commit is contained in:
commit
4401be7573
12 changed files with 299 additions and 4 deletions
40
pkgs/development/python-modules/mouseinfo/default.nix
Normal file
40
pkgs/development/python-modules/mouseinfo/default.nix
Normal file
|
@ -0,0 +1,40 @@
|
||||||
|
{ lib
|
||||||
|
, buildPythonPackage
|
||||||
|
, pyperclip
|
||||||
|
, fetchFromGitHub
|
||||||
|
, xlib
|
||||||
|
, pillow
|
||||||
|
}:
|
||||||
|
buildPythonPackage rec {
|
||||||
|
pname = "MouseInfo";
|
||||||
|
version = "0.1.3";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "asweigart";
|
||||||
|
repo = "mouseinfo";
|
||||||
|
rev = "1876ad5cd311b4352d46bc64a12edfb4da49974e";
|
||||||
|
sha256 = "sha256-UTaHTJE0xFihN9r+DY/WhekZ7S/CXtMFbqAayzexRxk=";
|
||||||
|
};
|
||||||
|
|
||||||
|
patches = [
|
||||||
|
./fix-xlib-version.patch
|
||||||
|
./pillow-version.patch
|
||||||
|
];
|
||||||
|
|
||||||
|
doCheck = false;
|
||||||
|
# Mouseinfo requires a X server running to import succesfully
|
||||||
|
# pythonImportsCheck = [ "mouseinfo" ];
|
||||||
|
|
||||||
|
propagatedBuildInputs = [
|
||||||
|
pyperclip
|
||||||
|
xlib
|
||||||
|
pillow
|
||||||
|
];
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "An application to display XY position and RGB color information for the pixel currently under the mouse. Works on Python 2 and 3.";
|
||||||
|
homepage = "https://github.com/asweigart/mouseinfo";
|
||||||
|
license = licenses.gpl3;
|
||||||
|
maintainers = with maintainers; [ lucasew ];
|
||||||
|
};
|
||||||
|
}
|
|
@ -0,0 +1,14 @@
|
||||||
|
diff --git a/setup.py b/setup.py
|
||||||
|
index 37d5f77..894fe78 100644
|
||||||
|
--- a/setup.py
|
||||||
|
+++ b/setup.py
|
||||||
|
@@ -31,8 +31,7 @@ setup(
|
||||||
|
test_suite='tests',
|
||||||
|
# NOTE: Update the python_version info for Pillow as Pillow supports later versions of Python.
|
||||||
|
install_requires=['rubicon-objc;platform_system=="Darwin"',
|
||||||
|
- 'python3-Xlib;platform_system=="Linux" and python_version>="3.0"',
|
||||||
|
- 'Xlib;platform_system=="Linux" and python_version<"3.0"',
|
||||||
|
+ 'python-Xlib;platform_system=="Linux"',
|
||||||
|
'pyperclip',
|
||||||
|
'Pillow >= 6.2.1; python_version == "3.8"',
|
||||||
|
'Pillow >= 5.2.0; python_version == "3.7"',
|
|
@ -0,0 +1,20 @@
|
||||||
|
diff --git a/setup.py b/setup.py
|
||||||
|
index 894fe78..ac580a6 100644
|
||||||
|
--- a/setup.py
|
||||||
|
+++ b/setup.py
|
||||||
|
@@ -33,14 +33,7 @@ setup(
|
||||||
|
install_requires=['rubicon-objc;platform_system=="Darwin"',
|
||||||
|
'python-Xlib;platform_system=="Linux"',
|
||||||
|
'pyperclip',
|
||||||
|
- 'Pillow >= 6.2.1; python_version == "3.8"',
|
||||||
|
- 'Pillow >= 5.2.0; python_version == "3.7"',
|
||||||
|
- 'Pillow >= 4.0.0; python_version == "3.6"',
|
||||||
|
- 'Pillow >= 3.2.0; python_version == "3.5"',
|
||||||
|
- 'Pillow <= 5.4.1, >= 2.5.0; python_version == "3.4"',
|
||||||
|
- 'Pillow <= 4.3.0, >= 2.0.0; python_version == "3.3"',
|
||||||
|
- 'Pillow <= 3.4.2, >= 2.0.0; python_version == "3.2"',
|
||||||
|
- 'Pillow >= 2.0.0; python_version == "2.7"',
|
||||||
|
+ 'Pillow',
|
||||||
|
],
|
||||||
|
keywords='',
|
||||||
|
classifiers=[
|
59
pkgs/development/python-modules/pyautogui/default.nix
Normal file
59
pkgs/development/python-modules/pyautogui/default.nix
Normal file
|
@ -0,0 +1,59 @@
|
||||||
|
{ lib
|
||||||
|
, buildPythonPackage
|
||||||
|
, fetchFromGitHub
|
||||||
|
, python3Packages
|
||||||
|
, pkgs
|
||||||
|
, fetchzip
|
||||||
|
, mouseinfo
|
||||||
|
, pygetwindow
|
||||||
|
, pymsgbox
|
||||||
|
, pyperclip
|
||||||
|
, pyrect
|
||||||
|
, pyscreeze
|
||||||
|
, pytweening
|
||||||
|
, tkinter
|
||||||
|
, xlib
|
||||||
|
, xvfb-run
|
||||||
|
, scrot
|
||||||
|
}:
|
||||||
|
buildPythonPackage rec {
|
||||||
|
pname = "pyautogui";
|
||||||
|
version = "0.9.53";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "asweigart";
|
||||||
|
repo = "pyautogui";
|
||||||
|
rev = "5e4acb870f2e7ce0ea1927cc5188bc2f5ab7bbbc";
|
||||||
|
sha256 = "sha256-R9tcTqxUaqw63FLOGFRaO/Oz6kD7V6MPHdQ8A29NdXw=";
|
||||||
|
};
|
||||||
|
|
||||||
|
checkInputs = [ xvfb-run scrot ];
|
||||||
|
checkPhase = ''
|
||||||
|
xvfb-run python -c 'import pyautogui'
|
||||||
|
# The tests depend on some specific things that xvfb cant provide, like keyboard and mouse
|
||||||
|
# xvfb-run python -m unittest tests.test_pyautogui
|
||||||
|
'';
|
||||||
|
|
||||||
|
patches = [
|
||||||
|
# https://github.com/asweigart/pyautogui/issues/598
|
||||||
|
./fix-locateOnWindow-and-xlib.patch
|
||||||
|
];
|
||||||
|
|
||||||
|
propagatedBuildInputs = [
|
||||||
|
mouseinfo
|
||||||
|
pygetwindow
|
||||||
|
pymsgbox
|
||||||
|
xlib
|
||||||
|
tkinter
|
||||||
|
pyperclip
|
||||||
|
pyscreeze
|
||||||
|
pytweening
|
||||||
|
];
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "PyAutoGUI lets Python control the mouse and keyboard, and other GUI automation tasks.";
|
||||||
|
homepage = "https://github.com/asweigart/pyautogui";
|
||||||
|
license = licenses.bsd3;
|
||||||
|
maintainers = with maintainers; [ lucasew ];
|
||||||
|
};
|
||||||
|
}
|
|
@ -0,0 +1,30 @@
|
||||||
|
diff --git a/pyautogui/__init__.py b/pyautogui/__init__.py
|
||||||
|
index ec7d097..443b146 100644
|
||||||
|
--- a/pyautogui/__init__.py
|
||||||
|
+++ b/pyautogui/__init__.py
|
||||||
|
@@ -216,9 +216,9 @@ try:
|
||||||
|
|
||||||
|
@raisePyAutoGUIImageNotFoundException
|
||||||
|
def locateOnWindow(*args, **kwargs):
|
||||||
|
- return pyscreeze.locateOnWindow(*args, **kwargs)
|
||||||
|
+ return pyscreeze.locateOnScreen(*args, **kwargs)
|
||||||
|
|
||||||
|
- locateOnWindow.__doc__ = pyscreeze.locateOnWindow.__doc__
|
||||||
|
+ locateOnWindow.__doc__ = pyscreeze.locateOnScreen.__doc__
|
||||||
|
|
||||||
|
|
||||||
|
except ImportError:
|
||||||
|
diff --git a/setup.py b/setup.py
|
||||||
|
index 196394d..6d90a88 100644
|
||||||
|
--- a/setup.py
|
||||||
|
+++ b/setup.py
|
||||||
|
@@ -29,8 +29,7 @@ setup(
|
||||||
|
test_suite='tests',
|
||||||
|
install_requires=['pyobjc-core;platform_system=="Darwin"',
|
||||||
|
'pyobjc;platform_system=="Darwin"',
|
||||||
|
- 'python3-Xlib;platform_system=="Linux" and python_version>="3.0"',
|
||||||
|
- 'python-xlib;platform_system=="Linux" and python_version<"3.0"',
|
||||||
|
+ 'python-xlib;platform_system=="Linux"',
|
||||||
|
'pymsgbox',
|
||||||
|
'PyTweening>=1.0.1',
|
||||||
|
'pyscreeze>=0.1.21',
|
29
pkgs/development/python-modules/pygetwindow/default.nix
Normal file
29
pkgs/development/python-modules/pygetwindow/default.nix
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
{ lib
|
||||||
|
, buildPythonPackage
|
||||||
|
, fetchPypi
|
||||||
|
, pyrect
|
||||||
|
}:
|
||||||
|
buildPythonPackage rec {
|
||||||
|
pname = "PyGetWindow";
|
||||||
|
version = "0.0.9";
|
||||||
|
|
||||||
|
src = fetchPypi {
|
||||||
|
inherit pname version;
|
||||||
|
sha256 = "sha256-F4lDVefSswXNgy1xdwg4QBfBaYqQziT29/vwJC3Qpog=";
|
||||||
|
};
|
||||||
|
|
||||||
|
doCheck = false;
|
||||||
|
# This lib officially only works completely on Windows and partially on MacOS but pyautogui requires it
|
||||||
|
# pythonImportsCheck = [ "pygetwindow" ];
|
||||||
|
|
||||||
|
propagatedBuildInputs = [
|
||||||
|
pyrect
|
||||||
|
];
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "A simple, cross-platform module for obtaining GUI information on applications' windows.";
|
||||||
|
homepage = "https://github.com/asweigart/PyGetWindow";
|
||||||
|
license = licenses.bsd3;
|
||||||
|
maintainers = with maintainers; [ lucasew ];
|
||||||
|
};
|
||||||
|
}
|
|
@ -2,18 +2,18 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "PyMsgBox";
|
pname = "PyMsgBox";
|
||||||
version = "1.0.6";
|
version = "1.0.9";
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
inherit pname version;
|
inherit pname version;
|
||||||
sha256 = "0kmd00w7p6maiyqpqqb2j8m6v2gh9c0h5i198pa02bc1c1m1321q";
|
sha256 = "sha256-IZQifei/96PW2lQYSHBaFV3LsqBu4SDZ8oCh1/USY/8=";
|
||||||
extension = "zip";
|
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = [ tkinter ];
|
propagatedBuildInputs = [ tkinter ];
|
||||||
|
|
||||||
# Finding tests fails
|
# Finding tests fails
|
||||||
doCheck = false;
|
doCheck = false;
|
||||||
|
pythonImportsCheck = [ "pymsgbox" ];
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "A simple, cross-platform, pure Python module for JavaScript-like message boxes";
|
description = "A simple, cross-platform, pure Python module for JavaScript-like message boxes";
|
||||||
|
|
|
@ -13,7 +13,7 @@ buildPythonPackage rec {
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
homepage = "https://github.com/asweigart/pyperclip";
|
homepage = "https://github.com/asweigart/pyperclip";
|
||||||
license = licenses.bsdOriginal;
|
license = licenses.bsd3;
|
||||||
description = "Cross-platform clipboard module";
|
description = "Cross-platform clipboard module";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
29
pkgs/development/python-modules/pyrect/default.nix
Normal file
29
pkgs/development/python-modules/pyrect/default.nix
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
{ lib
|
||||||
|
, buildPythonPackage
|
||||||
|
, fetchPypi
|
||||||
|
, tox
|
||||||
|
, pytestCheckHook
|
||||||
|
, pygame
|
||||||
|
}:
|
||||||
|
buildPythonPackage rec {
|
||||||
|
pname = "PyRect";
|
||||||
|
version = "0.1.4";
|
||||||
|
|
||||||
|
src = fetchPypi {
|
||||||
|
inherit pname version;
|
||||||
|
sha256 = "sha256-Oy+nNTzjKhGqawoVSVlo0qdjQjyJR64ki5LAN9704gI=";
|
||||||
|
};
|
||||||
|
|
||||||
|
checkInputs = [ tox pytestCheckHook pygame ];
|
||||||
|
pythonImportsCheck = [ "pyrect" ];
|
||||||
|
preCheck = ''
|
||||||
|
export LC_ALL="en_US.UTF-8"
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Simple module with a Rect class for Pygame-like rectangular areas";
|
||||||
|
homepage = "https://github.com/asweigart/pyrect";
|
||||||
|
license = licenses.bsd3;
|
||||||
|
maintainers = with maintainers; [ lucasew ];
|
||||||
|
};
|
||||||
|
}
|
37
pkgs/development/python-modules/pyscreeze/default.nix
Normal file
37
pkgs/development/python-modules/pyscreeze/default.nix
Normal file
|
@ -0,0 +1,37 @@
|
||||||
|
{ lib
|
||||||
|
, buildPythonPackage
|
||||||
|
, fetchFromGitHub
|
||||||
|
, pillow
|
||||||
|
, xlib
|
||||||
|
, xvfb-run
|
||||||
|
, scrot
|
||||||
|
}:
|
||||||
|
buildPythonPackage rec {
|
||||||
|
pname = "PyScreeze";
|
||||||
|
version = "0.1.26";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "asweigart";
|
||||||
|
repo = "pyscreeze";
|
||||||
|
rev = "28ab707dceecbdd135a9491c3f8effd3a69680af";
|
||||||
|
sha256 = "sha256-gn3ydjf/msdhIhngGlhK+jhEyFy0qGeDr58E7kM2YZs=";
|
||||||
|
};
|
||||||
|
|
||||||
|
pythonImportsCheck = [ "pyscreeze" ];
|
||||||
|
checkInputs = [ scrot xlib xvfb-run ];
|
||||||
|
checkPhase = ''
|
||||||
|
python -m unittest tests.test_pillow_unavailable
|
||||||
|
xvfb-run python -m unittest tests.test_pyscreeze
|
||||||
|
'';
|
||||||
|
|
||||||
|
propagatedBuildInputs = [
|
||||||
|
pillow
|
||||||
|
];
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "PyScreeze is a simple, cross-platform screenshot module for Python 2 and 3.";
|
||||||
|
homepage = "https://github.com/asweigart/pyscreeze";
|
||||||
|
license = licenses.bsd3;
|
||||||
|
maintainers = with maintainers; [ lucasew ];
|
||||||
|
};
|
||||||
|
}
|
25
pkgs/development/python-modules/pytweening/default.nix
Normal file
25
pkgs/development/python-modules/pytweening/default.nix
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
{ lib
|
||||||
|
, buildPythonPackage
|
||||||
|
, fetchPypi
|
||||||
|
}:
|
||||||
|
buildPythonPackage rec {
|
||||||
|
pname = "pytweening";
|
||||||
|
version = "1.0.4";
|
||||||
|
|
||||||
|
src = fetchPypi {
|
||||||
|
inherit pname version;
|
||||||
|
sha256 = "sha256-hTMoLPcLMd6KBJnhz0IJMLABPHhxGIcrLsiZOCeS4uY=";
|
||||||
|
};
|
||||||
|
|
||||||
|
pythonImportsCheck = [ "pytweening" ];
|
||||||
|
checkPhase = ''
|
||||||
|
python -m unittest tests.basicTests
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Set of tweening / easing functions implemented in Python";
|
||||||
|
homepage = "https://github.com/asweigart/pytweening";
|
||||||
|
license = licenses.bsd3;
|
||||||
|
maintainers = with maintainers; [ lucasew ];
|
||||||
|
};
|
||||||
|
}
|
|
@ -4946,6 +4946,8 @@ in {
|
||||||
|
|
||||||
motor = callPackage ../development/python-modules/motor { };
|
motor = callPackage ../development/python-modules/motor { };
|
||||||
|
|
||||||
|
mouseinfo = callPackage ../development/python-modules/mouseinfo { };
|
||||||
|
|
||||||
moviepy = callPackage ../development/python-modules/moviepy { };
|
moviepy = callPackage ../development/python-modules/moviepy { };
|
||||||
|
|
||||||
mox3 = callPackage ../development/python-modules/mox3 { };
|
mox3 = callPackage ../development/python-modules/mox3 { };
|
||||||
|
@ -6261,6 +6263,8 @@ in {
|
||||||
|
|
||||||
pyaudio = callPackage ../development/python-modules/pyaudio { };
|
pyaudio = callPackage ../development/python-modules/pyaudio { };
|
||||||
|
|
||||||
|
pyautogui = callPackage ../development/python-modules/pyautogui { };
|
||||||
|
|
||||||
pyavm = callPackage ../development/python-modules/pyavm { };
|
pyavm = callPackage ../development/python-modules/pyavm { };
|
||||||
|
|
||||||
pyaxmlparser = callPackage ../development/python-modules/pyaxmlparser { };
|
pyaxmlparser = callPackage ../development/python-modules/pyaxmlparser { };
|
||||||
|
@ -6568,6 +6572,8 @@ in {
|
||||||
|
|
||||||
pygeoip = callPackage ../development/python-modules/pygeoip { };
|
pygeoip = callPackage ../development/python-modules/pygeoip { };
|
||||||
|
|
||||||
|
pygetwindow = callPackage ../development/python-modules/pygetwindow { };
|
||||||
|
|
||||||
pygit2 = callPackage ../development/python-modules/pygit2 { };
|
pygit2 = callPackage ../development/python-modules/pygit2 { };
|
||||||
|
|
||||||
PyGithub = callPackage ../development/python-modules/pyGithub { };
|
PyGithub = callPackage ../development/python-modules/pyGithub { };
|
||||||
|
@ -7077,6 +7083,8 @@ in {
|
||||||
pythonPackages = self;
|
pythonPackages = self;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
pyrect = callPackage ../development/python-modules/pyrect { };
|
||||||
|
|
||||||
pyregion = callPackage ../development/python-modules/pyregion { };
|
pyregion = callPackage ../development/python-modules/pyregion { };
|
||||||
|
|
||||||
pyres = callPackage ../development/python-modules/pyres { };
|
pyres = callPackage ../development/python-modules/pyres { };
|
||||||
|
@ -7147,6 +7155,8 @@ in {
|
||||||
|
|
||||||
pyscreenshot = callPackage ../development/python-modules/pyscreenshot { };
|
pyscreenshot = callPackage ../development/python-modules/pyscreenshot { };
|
||||||
|
|
||||||
|
pyscreeze = callPackage ../development/python-modules/pyscreeze { };
|
||||||
|
|
||||||
py_scrypt = callPackage ../development/python-modules/py_scrypt { };
|
py_scrypt = callPackage ../development/python-modules/py_scrypt { };
|
||||||
|
|
||||||
pyscrypt = callPackage ../development/python-modules/pyscrypt { };
|
pyscrypt = callPackage ../development/python-modules/pyscrypt { };
|
||||||
|
@ -7878,6 +7888,8 @@ in {
|
||||||
|
|
||||||
pyturbojpeg = callPackage ../development/python-modules/pyturbojpeg { };
|
pyturbojpeg = callPackage ../development/python-modules/pyturbojpeg { };
|
||||||
|
|
||||||
|
pytweening = callPackage ../development/python-modules/pytweening { };
|
||||||
|
|
||||||
pytwitchapi = callPackage ../development/python-modules/pytwitchapi { };
|
pytwitchapi = callPackage ../development/python-modules/pytwitchapi { };
|
||||||
|
|
||||||
pytz = callPackage ../development/python-modules/pytz { };
|
pytz = callPackage ../development/python-modules/pytz { };
|
||||||
|
|
Loading…
Reference in a new issue