Free. Easy
Coded with Python, PyMacroRecord is one of the best free macro recorder you will find.
No ads, no premium, everything FREE
PyMacroRecord works with a GUI made using tkinter, making it easier for users to interact with it.
- Very easy to use
- Free. No limitations. No "premium" purchase.
- Infinite repeat
- Change speed
- Interval
- For
- Schedule
- Save, Load, Sharing
- Universal Files (work with json).
- After-playback options, e.g., Standby or shutdown computer.
- Can choose from recording mouse movement, click and keyboard input
- Custom Hotkey for starting a record and stop it, start playback and stop it
- Mouse Movement, click, and keyboard recording.
- Smooth recording of the mouse.
To start recording, you simply have to press the red button
From there, you can move your mouse, click, and type on your keyboard, and everything will be recorded. (You can choose what will be recorded.)
Then, to stop the recording, you simply click on the black square.
To play a recording, you just need to click on the green play icon
And to stop the playback, press the f3
key (By default).
showcase_pmr_windows.mp4
macOS_pmr_preview.mp4
showcase_pmr_linux.mp4
If you encounter a bug or want to request an update, simply create an issue here
-
First, if you didn't already, install Python
-
Download the last source code release here
-
Extract it wherever you want.
-
Open the terminal and type
cd <PATH TO SOFTWARE FOLDER>
-
Type the command:
pip3 install -r requirements.txt
- If you are on Linux, you might need to install Tkinter manually, commands to install are here
- Mac Users, you must add terminal to accessibility and input monitoring settings in system preferences to allow mouse and keyboard inputs.
- (Optional) If you want these package to be on virtual environment follow these step here
-
Finally, do
cd src
and type:python3 main.py
-
And boom! The software is now ready to use.
To build the application, I use PyInstaller.
You need to be on home directory, not on src.
Then, use that command for onefile output (upx is optional).
pyinstaller --noconfirm --onefile --windowed --icon "src/assets/logo.ico" --name "PyMacroRecord-portable" --contents-directory "." --upx-dir upx --add-data "src/assets;assets/" --add-data "src/hotkeys;hotkeys/" --add-data "src/macro;macro/" --add-data "src/utils;utils/" --add-data "src/windows;windows/" --add-data "src/langs;langs" "src/main.py"
For onedir output, use that command (upx is optional).
pyinstaller --noconfirm --onedir --windowed --icon "src/assets/logo.ico" --name "PyMacroRecord" --contents-directory "." --upx-dir upx --add-data "src/assets;assets/" --add-data "src/hotkeys;hotkeys/" --add-data "src/macro;macro/" --add-data "src/utils;utils/" --add-data "src/langs;langs" --add-data "src/windows;windows/" "src/main.py"
Developing a software is not an easy task. If you really like this project, please consider making a small donation, it really helps and means a lot! <3
By making a donation, your name will appear in the "Donors" section of the PyMacroRecord software and among the last 5 donors on the PyMacroRecord website as a thank you!
This program is under GNU General Public License v3.0
- Fooinys, who playtested my program.
- Lenoch, for code enhancement.
- Takiem for the Italian and Brazilian-Portuguese translation.
- DennyClarkson for the Chinese-Simplified translation.
- SerdarSaglam for the Turkish translation.
- superstes for the German translation.
- SqlWaldorf for the Dutch translation.