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
Compiles python selenium script to be a Window's executable

Problem Statement Setting up a Python project can be frustrating for non-developers. From downloading the right version of python, setting up virtual

Jerry Ng 8 Jan 09, 2023
Pynguin, The PYthoN General UnIt Test geNerator is a test-generation tool for Python

Pynguin, the PYthoN General UnIt test geNerator, is a tool that allows developers to generate unit tests automatically.

Chair of Software Engineering II, Uni Passau 997 Jan 06, 2023
Just for testing video streaming using pytgcalls.

tgvc-video-tests Just for testing video streaming using pytgcalls. Note: The features used in this repository is highly experimental and you might not

wrench 34 Dec 27, 2022
Doggo Browser

Doggo Browser Quick Start $ python3 -m venv ./venv/ $ source ./venv/bin/activate $ pip3 install -r requirements.txt $ ./sobaki.py References Heavily I

Alexey Kutepov 9 Dec 12, 2022
Useful additions to Django's default TestCase

django-test-plus Useful additions to Django's default TestCase from REVSYS Rationale Let's face it, writing tests isn't always fun. Part of the reason

REVSYS 546 Dec 22, 2022
RAT-el is an open source penetration test tool that allows you to take control of a windows machine.

To prevent RATel from being detected by antivirus, please do not upload the payload to TOTAL VIRUS. Each month I will test myself if the payload gets detected by antivirus. So you’ll have a photo eve

218 Dec 16, 2022
A single module to link Python ecosystem to the Web

A single module to link Python ecosystem to the Web. Have a quick look at the Gallery first to get convinced ! FAQ For any questions, please use Stack

66 Dec 21, 2022
API Rest testing FastAPI + SQLAchmey + Docker

Transactions API Rest Implement and design a simple REST API Description We need to a simple API that allow us to register users' transactions and hav

TxeMac 2 Jun 30, 2022
FaceBot is a script to automatically create a facebook account using the selenium and chromedriver modules.

FaceBot is a script to automatically create a facebook account using the selenium and chromedriver modules. That way, we don't need to input full name, email and password and date of birth. All will

Fadjrir Herlambang 2 Jun 17, 2022
A toolbar overlay for debugging Flask applications

Flask Debug-toolbar This is a port of the excellent django-debug-toolbar for Flask applications. Installation Installing is simple with pip: $ pip ins

863 Dec 29, 2022
Scalable user load testing tool written in Python

Locust Locust is an easy to use, scriptable and scalable performance testing tool. You define the behaviour of your users in regular Python code, inst

Locust.io 20.4k Jan 04, 2023
tidevice can be used to communicate with iPhone device

tidevice can be used to communicate with iPhone device

Alibaba 1.8k Jan 08, 2023
Free cleverbot without headless browser

Cleverbot Scraper Simple free cleverbot library that doesn't require running a heavy ram wasting headless web browser to actually chat with the bot, a

Matheus Fillipe 3 Sep 25, 2022
The successor to nose, based on unittest2

Welcome to nose2 nose2 is the successor to nose. It's unittest with plugins. nose2 is a new project and does not support all of the features of nose.

736 Dec 16, 2022
Django test runner using nose

django-nose django-nose provides all the goodness of nose in your Django tests, like: Testing just your apps by default, not all the standard ones tha

Jazzband 880 Dec 15, 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
Redis fixtures and fixture factories for Pytest.

Redis fixtures and fixture factories for Pytest.This is a pytest plugin, that enables you to test your code that relies on a running Redis database. It allows you to specify additional fixtures for R

Clearcode 86 Dec 23, 2022
Headless chrome/chromium automation library (unofficial port of puppeteer)

Pyppeteer Pyppeteer has moved to pyppeteer/pyppeteer Unofficial Python port of puppeteer JavaScript (headless) chrome/chromium browser automation libr

miyakogi 3.5k Dec 30, 2022
Sixpack is a language-agnostic a/b-testing framework

Sixpack Sixpack is a framework to enable A/B testing across multiple programming languages. It does this by exposing a simple API for client libraries

1.7k Dec 24, 2022
API Test Automation with Requests and Pytest

api-testing-requests-pytest Install Make sure you have Python 3 installed on your machine. Then: 1.Install pipenv sudo apt-get install pipenv 2.Go to

Sulaiman Haque 2 Nov 21, 2021