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

Installation using pip

You can install the tool using pip:

pip install copycat

Installation using AUR

If you are using an Arch-based distribution, you can install the tool using the AUR package:

yay -S copycat

Remember to install the other dependencies from the AUR:

yay -S python-pynput python-pyautogui python-ttkthemes

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.3.tar.gz (22.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: copycat-0.1.3.tar.gz
  • Upload date:
  • Size: 22.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.4 CPython/3.13.1 Linux/6.6.67-1-lts

File hashes

Hashes for copycat-0.1.3.tar.gz
Algorithm Hash digest
SHA256 4e0ffbc9d58ec3268db90712c627c5a66886d0ee00755d1e240d068a580cf33a
MD5 42ce011be599185e4ad3b798a42902ff
BLAKE2b-256 91189ce157b2eb8321bdab08dbf1e4492b92a7d7cd2b100f9e5468a6e530d3b3

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for copycat-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 09a927cefeeb7f543304b20532114eee069bbb79402392e9d3cff4706a04af7d
MD5 3e6b5b295180c707cf449a482a4e06a8
BLAKE2b-256 ae891d54c1407da6ad67f73cfb2f0925a1c137ced35cb27d733b9339e6e1cb0d

See more details on using hashes here.

Supported by

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