Skip to main content

A tool that record and replay keyboard and mouse macro.

Project description

Copycat

copycat is a tool that record and replay mouse and keyboard macro.

Demo

This is a short demo of the tool:

https://github.com/user-attachments/assets/4ce6616e-8fa1-4efb-8c31-f31bfe8e827c

Installation

This tool uses poetry to manage dependencies and packaging. To install all the dependencies simply run:

poetry install

Usage

You can run the tool using poetry:

poetry run copycat --help

Or you can run the tool using python:

python -m copycat --help

Or you can run the tool directly from the directory or add it to your path:

copycat --help
usage: copycat [-h] [--verbose] [--debug] [--quiet | --no-quiet | -q] [--version] [--gui] [--theme THEME] [--speed SPEED] [--reply REPLY]

Copycat is a tool that record and replay mouse and keyboard macro.

options:
  -h, --help            show this help message and exit
  --verbose, -v         Increase verbosity. Use more than once to increase verbosity level (e.g. -vvv).
  --debug               Enable debug mode.
  --quiet, --no-quiet, -q
                        Do not print any output/log
  --version, -V         Show version and exit.
  --gui                 Run the tool in GUI mode.
  --theme THEME, -t THEME
                        Set the "ttkthemes" GUI theme. (Default: equilux)
  --speed SPEED, -s SPEED
                        Speed of the macro playback. (Default: 1.0)
  --reply REPLY, -r REPLY
                        Define macro name to reply.

How it works

First, you need to record a macro, you can do this by running the tool in GUI mode:

copycat --gui

If you want to use a different theme, you can use the --theme option:

copycat --gui --theme "arc"

Visit the ttkthemes documentation to see all the available themes.

Record a macro

Then you can record a macro by clicking the record button. Once you start recording, the GUI will hide so you can perform any mouse and keyboard actions. In every moment, press the ESC key to pause the recording. You can resume the recording pressing again the record button, or you can complete the record process and save the macro by clicking on the save button. Select the name of the macro and click on the save button.

Replay a macro

Once you have a macro saved, you can replay it in two ways:

  1. by clicking on the replay button, and selecting the macro you want to replay and the replay speed (1.0 is the real record speed).
  2. by running the tool with the --reply option:
copycat --reply <macro_name> --speed <speed>

Development

Testing

To run the tests simply run:

poetry run test

Update setup.py

To update the setup.py file with the latest dependencies and versions run:

poetry run poetry2setup > setup.py

Acknowledgements

This project was generated using powerful tools and libraries such as poetry, pydantic, pytest, ttkthemes, pynput pyautogui and more, I simply put the pieces together. Please check and support all the tools and libraries used in this project.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

copycat-0.1.2.tar.gz (22.9 kB view details)

Uploaded Source

Built Distribution

copycat-0.1.2-py3-none-any.whl (26.3 kB view details)

Uploaded Python 3

File details

Details for the file copycat-0.1.2.tar.gz.

File metadata

  • Download URL: copycat-0.1.2.tar.gz
  • Upload date:
  • Size: 22.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.12.6 Linux/6.6.51-1-lts

File hashes

Hashes for copycat-0.1.2.tar.gz
Algorithm Hash digest
SHA256 7f963c4e05d34311457ef33fde8ceb9129cf36c5a665a78a2f7b6a00cb46a1dd
MD5 75207ba40fa4caacfe065fb2579d83e8
BLAKE2b-256 278cd66c00e5523bf9ef3c64ce7454796ad4cc8e66855d54f6a29ab21271876b

See more details on using hashes here.

File details

Details for the file copycat-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: copycat-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 26.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.12.6 Linux/6.6.51-1-lts

File hashes

Hashes for copycat-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 4390b22cea5e59101628e69888292cd4272d824a62a954ee49e7278a607e7fd5
MD5 d966d706bd7914b56240d42a71ede6f2
BLAKE2b-256 935216dffd58039f147ec9f0625b2c6448f2c5ed5a063eff227c3ae6a45bfce4

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page