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
Switch among Guest VMs organized by Resource Pool

Proxmox PCI Switcher Switch among Guest VMs organized by Resource Pool. main features: ONE GPU card, N OS (at once) Guest VM command client Handler po

Rosiney Gomes Pereira 111 Dec 27, 2022
PacketPy is an open-source solution for stress testing network devices using different testing methods

PacketPy About PacketPy is an open-source solution for stress testing network devices using different testing methods. Currently, there are only two c

4 Sep 22, 2022
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 pytest plugin, that enables you to test your code that relies on a running PostgreSQL Database

This is a pytest plugin, that enables you to test your code that relies on a running PostgreSQL Database. It allows you to specify fixtures for PostgreSQL process and client.

Clearcode 252 Dec 21, 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
Nokia SR OS automation

Nokia SR OS automation Nokia is one of the biggest vendors of the telecommunication equipment, which is very popular in the Service Provider segment.

Karneliuk.com 7 Jul 23, 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
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
Automated Penetration Testing Framework

Automated Penetration Testing Framework

OWASP 2.1k Jan 01, 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
Codeforces Test Parser for C/C++ & Python on Windows

Codeforces Test Parser for C/C++ & Python on Windows Installation Run pip instal

Minh Vu 2 Jan 05, 2022
Python Moonlight (Machine Learning) Practice

PyML Python Moonlight (Machine Learning) Practice Contents Design Documentation Prerequisites Checklist Dev Setup Testing Run Prerequisites Python 3 P

Dockerian Seattle 2 Dec 25, 2022
Python wrapper of Android uiautomator test tool.

uiautomator This module is a Python wrapper of Android uiautomator testing framework. It works on Android 4.1+ (API Level 16~30) simply with Android d

xiaocong 1.9k Dec 30, 2022
Code coverage measurement for Python

Coverage.py Code coverage testing for Python. Coverage.py measures code coverage, typically during test execution. It uses the code analysis tools and

Ned Batchelder 2.3k Jan 04, 2023
Yet another python home automation project. Because a smart light is more than just on or off

Automate home Yet another home automation project because a smart light is more than just on or off. Overview When talking about home automation there

Maja Massarini 62 Oct 10, 2022
Using openpyxl in Python, performed following task

Python-Automation-with-openpyxl Using openpyxl in Python, performed following tasks on an Excel Sheet containing Product Suppliers along with their pr

1 Apr 06, 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
No longer maintained, please migrate to model_bakery

Model Mommy: Smart fixtures for better tests IMPORTANT: Model Mommy is no longer maintained and was replaced by Model Bakery. Please, consider migrati

Bernardo Fontes 917 Oct 04, 2022
Enabling easy statistical significance testing for deep neural networks.

deep-significance: Easy and Better Significance Testing for Deep Neural Networks Contents ⁉️ Why 📥 Installation 🔖 Examples Intermezzo: Almost Stocha

Dennis Ulmer 270 Dec 20, 2022
A Python Selenium library inspired by the Testing Library

Selenium Testing Library Slenium Testing Library (STL) is a Python library for Selenium inspired by Testing-Library. Dependencies Python 3.6, 3.7, 3.8

Anže Pečar 12 Dec 26, 2022