Automated mouse clicker script using PyAutoGUI and Typer.

Overview

clickpy

Automated mouse clicker script using PyAutoGUI and Typer.

This app will randomly click your mouse between 1 second and 3 minutes, to prevent your screen and apps from sleeping or displaying an away status.

The rational behind the random interval is: if the mouse contiually clicked every second or millisecond, it could easily be detected as an automated process.

The random interval provides a sembalance of feasability, although the interval could be reduced and extended as needed, or move the cursor after a couple consecutive clicks. (Possibe future feature?)

PyAutoGUI provides a simple interface to the mouse, and Typer provides simple cli parsing. You can find out more about these libraries with the links provided above.

Installation

This package supports Python 3.6 through 3.9. It does not support any version of Python 2, nor any version of 3 lower than 3.6. Please upgrade our Python version, if possible.

I highly recommend using pipx for installing standalone packages, as it adds a layer of isolation to your installation. But pip will also work.

pipx install clickpy
# -- or --
pip install clickpy

If you're using macOS or Linux, you may have to install additional dependencies for PyAutoGUI to work properly. Please review their docs for additional information.

Windows users don't have to install any additional software.

To uninstall, type in your terminal:

pipx uninstall clickpy
# -- or --
pip uninstall clickpy

Running

Once this package is installed, and any additional dependencies too, run the app like so:

clickpy

To stop it, press ctrl+c.

There are 3 flags you can use; -d will display debug information, -f will speed the app up to 1 click every second, and --help will display the help menu.

For Developers

Please read contributing.md for more information about this repo, how it's maintained and developed. And feel free to make PRs.

Comments
  • Update Readme for 0.5.0a

    Update Readme for 0.5.0a

    I need to add more developer information about setting all interpreters with pyenv, or maybe look into a plugin between tox and pyenv.

    Remove information about "only supporting python 3.9." With tox, this package is now supporting python 3.6 - 3.9.

    And preform general clean up, and find another changes that need to added / removed.

    documentation 
    opened by fitzypop 1
  • What is Tox, and do I want to use it?

    What is Tox, and do I want to use it?

    Tox looks like a testing automation tool, which can be used to test multiple python interpreters easily.

    I'm already using pytest with poetry, and I'm only supporting python 3.9 right now. Do I want to use tox with this project?

    Maybe, just for the hell of it?

    enhancement question 
    opened by fitzypop 1
  • How to locally install package with poetry

    How to locally install package with poetry

    There's several poetry commands to create the dist folder, then publish to pypi. But how do I install my package to my local machine for testing?

    Maybe I should try using pipx after publishing to pypi?

    opened by fitzypop 1
  • Determine best way to package project

    Determine best way to package project

    It looks like there is a couple ways to manage packaging in the python ecosystem

    • Pipenv
    • Poery
    • Flit
    • pip-tools

    I like pipenv when developing, but it's packaging a approach is lacking. I would still have to manually manage packages, and I would like to do as little as possible when it comes to packaging.

    Poetry seems to handle packaging better by using pyproject.toml directly, but it's development workflow is lacking, and doesn't integrate with virtual environments as well as pipenv.

    opened by fitzypop 1
  • Coverage Script should be cross platform

    Coverage Script should be cross platform

    The script to run coverage reports still relies on bash. How can I make this cross platform?

    • Turn it into python script?
    • logic to determine OS, and open appropriate shell?
    • Just use bash, and make git a hard requirement?
    enhancement 
    opened by fitzypop 1
  • Update docstrings

    Update docstrings

    Docstrings are probably out of date by now. I've changed the basic api at least 2 or 3 times now.

    Go through all docstrings and make sure they are up-to-date, and be sure to add any execption examples, or gotcha's an end user would need to know.

    Might need todo more research on docstring for exception examples, and better docstrings in general.

    documentation enhancement 
    opened by fitzypop 0
  • Implementing different mouse clicking strategies.

    Implementing different mouse clicking strategies.

    Random interval clicking is better than clicking away every second, but it still doesn't represent a "realistic" clicking style that a human would replicate if actually clicking and using the mouse for real-world activities.

    I also recently watched a video about the Strategy pattern, and I think it would be a good idea to create different types of clicking patterns and styles to simulate a "real" human interaction with the mouse.

    Making a system of my own dunder methods or abstract methods is simple enough, the tricky part is coming up with algorithms for different clicking patterns without massively duplicating code.

    enhancement 
    opened by fitzypop 3
  • Look into pre-commits

    Look into pre-commits

    I heard something about pre-commits, that they're basically git hooks that can run tests, linters, formatters, and other things before a commit even happens.

    This isn't high priority, but something tool to learn about.

    research 
    opened by fitzypop 0
Releases(0.9.0)
Owner
Joe Fitzgibbons
Code Rules Everything Around Me
Joe Fitzgibbons
pytest splinter and selenium integration for anyone interested in browser interaction in tests

Splinter plugin for the pytest runner Install pytest-splinter pip install pytest-splinter Features The plugin provides a set of fixtures to use splin

pytest-dev 238 Nov 14, 2022
MultiPy lets you conveniently keep track of your python scripts for personal use or showcase by loading and grouping them into categories. It allows you to either run each script individually or together with just one click.

MultiPy About MultiPy is a graphical user interface built using Dear PyGui Python GUI Framework that lets you conveniently keep track of your python s

56 Oct 29, 2022
FakeDataGen is a Full Valid Fake Data Generator.

FakeDataGen is a Full Valid Fake Data Generator. This tool helps you to create fake accounts (in Spanish format) with fully valid data. Within this in

Joel GM 64 Dec 12, 2022
Pytest-rich - Pytest + rich integration (proof of concept)

pytest-rich Leverage rich for richer test session output. This plugin is not pub

Bruno Oliveira 170 Dec 02, 2022
A web scraping using Selenium Webdriver

Savee - Images Downloader Project using Selenium Webdriver to download images from someone's profile on https:www.savee.it website. Usage The project

Caio Eduardo Lobo 1 Dec 17, 2021
Silky smooth profiling for Django

Silk Silk is a live profiling and inspection tool for the Django framework. Silk intercepts and stores HTTP requests and database queries before prese

Jazzband 3.7k Jan 04, 2023
🎓 Stepik Academy Автоматизация тестирования на Python

🎓 Stepik Academy Автоматизация тестирования на Python Запуск тестов выполняется в командной строке: pytest -v --tb=line --language=en --alluredir=all

Sergey 1 Dec 03, 2021
Selenium Page Object Model with Python

Page-object-model (POM) is a pattern that you can apply it to develop efficient automation framework.

Mohammad Ifran Uddin 1 Nov 29, 2021
Automating the process of sorting files in my downloads folder by file type.

downloads-folder-automation Automating the process of sorting files in a user's downloads folder on Windows by file type. This script iterates through

Eric Mahasi 27 Jan 07, 2023
A utility for mocking out the Python Requests library.

Responses A utility library for mocking out the requests Python library. Note Responses requires Python 2.7 or newer, and requests = 2.0 Installing p

Sentry 3.8k Jan 03, 2023
Test python asyncio-based code with ease.

aiounittest Info The aiounittest is a helper library to ease of your pain (and boilerplate), when writing a test of the asynchronous code (asyncio). Y

Krzysztof Warunek 55 Oct 30, 2022
Selenium Manager

SeleniumManager I'm fed up with always having to struggle unnecessarily when I have to use Selenium on a new machine, so I made this little python mod

Victor Vague 1 Dec 24, 2021
Test django schema and data migrations, including migrations' order and best practices.

django-test-migrations Features Allows to test django schema and data migrations Allows to test both forward and rollback migrations Allows to test th

wemake.services 382 Dec 27, 2022
a wrapper around pytest for executing tests to look for test flakiness and runtime regression

bubblewrap a wrapper around pytest for assessing flakiness and runtime regressions a cs implementations practice project How to Run: First, install de

Anna Nagy 1 Aug 05, 2021
This project is used to send a screenshot by email of your MyUMons schedule using Selenium python lib (headless mode)

MyUMonsSchedule Use MyUMonsSchedule python script to send a screenshot by email (Gmail) of your MyUMons schedule. If you use it on Windows, take care

Pierre-Louis D'Agostino 6 May 12, 2022
🏃💨 For when you need to fill out feedback in the last minute.

BMSCE Auto Feedback For when you need to fill out feedback in the last minute. 🏃 💨 Setup Clone the repository Run pip install selenium Set the RATIN

Shaan Subbaiah 10 May 23, 2022
A automated browsing experience.

browser-automation This app is an automated browsing technique where one has to enter the required information, it's just like searching for Animals o

Ojas Barawal 3 Aug 04, 2021
Automates hiketop+ crystal earning using python and appium

hikepy Works on poco x3 idk about your device deponds on resolution Prerquests Android sdk java adb Setup Go to https://appium.io/ Download and instal

4 Aug 26, 2022
Pytest plugin for testing the idempotency of a function.

pytest-idempotent Pytest plugin for testing the idempotency of a function. Usage pip install pytest-idempotent Documentation Suppose we had the follo

Tyler Yep 3 Dec 14, 2022
A set of pytest fixtures to test Flask applications

pytest-flask An extension of pytest test runner which provides a set of useful tools to simplify testing and development of the Flask extensions and a

pytest-dev 433 Dec 23, 2022