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
One-stop solution for HTTP(S) testing.

HttpRunner HttpRunner is a simple & elegant, yet powerful HTTP(S) testing framework. Enjoy! ✨ 🚀 ✨ Design Philosophy Convention over configuration ROI

HttpRunner 3.5k Jan 04, 2023
Lightweight, scriptable browser as a service with an HTTP API

Splash - A javascript rendering service Splash is a javascript rendering service with an HTTP API. It's a lightweight browser with an HTTP API, implem

Scrapinghub 3.8k Jan 03, 2023
Bayesian A/B testing

bayesian_testing is a small package for a quick evaluation of A/B (or A/B/C/...) tests using Bayesian approach.

Matus Baniar 35 Dec 15, 2022
Front End Test Automation with Pytest Framework

Front End Test Automation Framework with Pytest Installation and running instructions: 1. To install the framework on your local machine: clone the re

Sergey Kolokolov 2 Jun 17, 2022
Pyramid debug toolbar

pyramid_debugtoolbar pyramid_debugtoolbar provides a debug toolbar useful while you're developing your Pyramid application. Note that pyramid_debugtoo

Pylons Project 95 Sep 17, 2022
Pytest support for asyncio.

pytest-asyncio: pytest support for asyncio pytest-asyncio is an Apache2 licensed library, written in Python, for testing asyncio code with pytest. asy

pytest-dev 1.1k Jan 02, 2023
An AWS Pentesting tool that lets you use one-liner commands to backdoor an AWS account's resources with a rogue AWS account - or share the resources with the entire internet 😈

An AWS Pentesting tool that lets you use one-liner commands to backdoor an AWS account's resources with a rogue AWS account - or share the resources with the entire internet 😈

Brandon Galbraith 276 Mar 03, 2021
A Library for Working with Sauce Labs

Robotframework - Sauce Labs Plugin This is a plugin for the SeleniumLibrary to help with using Sauce Labs. This library is a plugin extension of the S

joshin4colours 6 Oct 12, 2021
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
模仿 USTC CAS 的程序,用于开发校内网站应用的本地调试。

ustc-cas-mock 模仿 USTC CAS 的程序,用于开发校内网站应用阶段调试。 请勿在生产环境部署! 只测试了最常用的三个 CAS route: /login /serviceValidate(验证 CAS ticket) /logout 没有测试过 proxy ticket。(因为我

taoky 4 Jan 27, 2022
AutoExploitSwagger is an automated API security testing exploit tool that can be combined with xray, BurpSuite and other scanners.

AutoExploitSwagger is an automated API security testing exploit tool that can be combined with xray, BurpSuite and other scanners.

6 Jan 28, 2022
masscan + nmap 快速端口存活检测和服务识别

masnmap masscan + nmap 快速端口存活检测和服务识别。 思路很简单,将masscan在端口探测的高速和nmap服务探测的准确性结合起来,达到一种相对比较理想的效果。 先使用masscan以较高速率对ip存活端口进行探测,再以多进程的方式,使用nmap对开放的端口进行服务探测。 安

starnightcyber 75 Dec 19, 2022
A simple script to login into twitter using Selenium in python.

Quick Talk A simple script to login into twitter using Selenium in python. I was looking for a way to login into twitter using Selenium in python. Sin

Lzy-slh 4 Nov 20, 2022
Divide full port scan results and use it for targeted Nmap runs

Divide Et Impera And Scan (and also merge the scan results) DivideAndScan is used to efficiently automate port scanning routine by splitting it into 3

snovvcrash 226 Dec 30, 2022
Statistical tests for the sequential locality of graphs

Statistical tests for the sequential locality of graphs You can assess the statistical significance of the sequential locality of an adjacency matrix

2 Nov 23, 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
Ab testing - basically a statistical test in which two or more variants

Ab testing - basically a statistical test in which two or more variants

Buse Yıldırım 5 Mar 13, 2022
Auto-hms-action - Automation of NU Health Management System

🦾 Automation of NU Health Management System 🤖 長崎大学 健康管理システムの自動化 🏯 Usage / 使い方

k5-mot 3 Mar 04, 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