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
Python selenium script to bypass simaster.ugm.ac.id weak captcha.

Python selenium script to bypass simaster.ugm.ac.id weak "captcha".

Hafidh R K 1 Feb 01, 2022
Automated Penetration Testing Framework

Automated Penetration Testing Framework

OWASP 2.1k Jan 01, 2023
CNE-OVS-SIT - OVS System Integration Test Suite

CNE-OVS-SIT - OVS System Integration Test Suite Introduction User guide Discussion Introduction CNE-OVS-SIT is a test suite for OVS end-to-end functio

4 Jan 09, 2022
show python coverage information directly in emacs

show python coverage information directly in emacs

wouter bolsterlee 30 Oct 26, 2022
Selects tests affected by changed files. Continous test runner when used with pytest-watch.

This is a pytest plug-in which automatically selects and re-executes only tests affected by recent changes. How is this possible in dynamic language l

Tibor Arpas 614 Dec 30, 2022
UX Analytics & A/B Testing

UX Analytics & A/B Testing

Marvin EDORH 1 Sep 07, 2021
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
Android automation project with pytest+appium

Android automation project with pytest+appium

1 Oct 28, 2021
:game_die: Pytest plugin to randomly order tests and control random.seed

pytest-randomly Pytest plugin to randomly order tests and control random.seed. Features All of these features are on by default but can be disabled wi

pytest-dev 471 Dec 30, 2022
Python scripts for a generic performance testing infrastructure using Locust.

TODOs Reference to published paper or online version of it loadtest_plotter.py: Cleanup and reading data from files ARS_simulation.py: Cleanup, docume

Juri Tomak 3 Dec 15, 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 simple serverless create api test repository. Please Ignore.

serverless-create-api-test A simple serverless create api test repository. Please Ignore. Things to remember: Setup workflow Change Name in workflow e

Sarvesh Bhatnagar 1 Jan 18, 2022
A feature flipper for Django

README Django Waffle is (yet another) feature flipper for Django. You can define the conditions for which a flag should be active, and use it in a num

952 Jan 06, 2023
An interactive TLS-capable intercepting HTTP proxy for penetration testers and software developers.

mitmproxy mitmproxy is an interactive, SSL/TLS-capable intercepting proxy with a console interface for HTTP/1, HTTP/2, and WebSockets. mitmdump is the

mitmproxy 29.7k Jan 02, 2023
A testing system for catching visual regressions in Web applications.

Huxley Watches you browse, takes screenshots, tells you when they change Huxley is a test-like system for catching visual regressions in Web applicati

Facebook Archive 4.1k Nov 30, 2022
Connexion-faker - Auto-generate mocks from your Connexion API using OpenAPI

Connexion Faker Get Started Install With poetry: poetry add connexion-faker # a

Erle Carrara 6 Dec 19, 2022
A Simple Unit Test Matcher Library for Python 3

pychoir - Python Test Matchers for humans Super duper low cognitive overhead matching for Python developers reading or writing tests. Implemented in p

Antti Kajander 15 Sep 14, 2022
Automatically mock your HTTP interactions to simplify and speed up testing

VCR.py 📼 This is a Python version of Ruby's VCR library. Source code https://github.com/kevin1024/vcrpy Documentation https://vcrpy.readthedocs.io/ R

Kevin McCarthy 2.3k Jan 01, 2023
A framework-agnostic library for testing ASGI web applications

async-asgi-testclient Async ASGI TestClient is a library for testing web applications that implements ASGI specification (version 2 and 3). The motiva

122 Nov 22, 2022
Python 3 wrapper of Microsoft UIAutomation. Support UIAutomation for MFC, WindowsForm, WPF, Modern UI(Metro UI), Qt, IE, Firefox, Chrome ...

Python 3 wrapper of Microsoft UIAutomation. Support UIAutomation for MFC, WindowsForm, WPF, Modern UI(Metro UI), Qt, IE, Firefox, Chrome ...

yin kaisheng 1.6k Dec 29, 2022