Skip to main content

An advanced local macro recorder and desktop automation framework for complex workflows.

Project description

Python Macro Studio

Documentation License Python Status Buy Me A Coffee

Limitless automation, powered by Python.


Macro Studio is a robust automation framework that bridges the gap between simple macro recorders and complex software development. Unlike traditional click-recorders, this engine allows you to script logic in pure Python, giving you access to the full power of the language—from computer vision (OpenCV) to API requests—while managing the lifecycle of your tasks through a sleek, user-friendly GUI.

⌨️ Code Example

Automating a simple click-loop is as easy as writing a Python generator:

def checkHealth(controller):
    # Sample a pixel and react in sub-milliseconds
    if captureScreenColor(controller.getVar("health_bar_pt")) == COLORS.RED:
        # Hold the key for 1 second, guaranteeing its release
        with holdKey("q"):
            yield from taskSleep(1)

👉 Watch the Showcase on YouTube 👈

Human Benchmark Gif

Main Page of the UI:

Task Manager UI


📚 Official Documentation

Read the full documentation here!

To keep this README clean, all tutorials, API references, and advanced guides have been moved to our official documentation site. Visit the link above to find:

  • ⚙️ Engine API & Task Controllers: How to run, pause, and stop threaded Python tasks safely.
  • 🖱️ Actions Library: Thread-safe mouse and keyboard simulators.
  • 👁️ Vision Library: OpenCV and Tesseract OCR integration.
  • 💡 Runnable Examples: Copy-pasteable scripts to jumpstart your development.

🚀 Key Features

  • ♾️ Infinite Possibilities: Other macro recorders give you a tricycle; we are handing you the keys to a Saturn V rocket. If you can code it in Python, you can automate it.
  • 🎛️ Visual Task Manager: Real-time, graphical interface for monitoring and controlling the execution flow of background threads.
  • 📂 Profile & Variable Management: Expose script variables directly to the GUI so users can tweak settings without touching your code.
  • 🎥 Visual Task Recorder: A built-in, no-code recorder that can export sequences directly into standalone Python scripts.

🧠 Why I Built Macro Studio

If you've ever tried to build a desktop bot in Python, you already know the pain points.

Standard automation libraries rely on sluggish screen-grabbing methods, and managing concurrent tasks usually means fighting Python's Global Interpreter Lock (GIL). You end up with heavy OS threads, time.sleep() bottlenecks, and a macro that either stutters or completely freezes your computer.

The alternative? Paying for expensive, clunky, closed-source macro recorders that haven't been updated in a decade and trap you in proprietary scripting languages.

I wanted an engine that respected Python's capabilities. Macro Studio was built to solve this by rethinking the architecture:

  • Stackless Coroutines: Instead of heavy OS threads, basic tasks use a generator-based yield architecture for cooperative multitasking. This allows the engine to pause, resume, and interrupt tasks in fractions of a millisecond without burning CPU cycles.
  • O(1) Memory Polling: By bypassing artificial library delays and hooking directly into the Windows GDI via mss, pixel-scanning happens at raw hardware speed.
  • 100% Python: No proprietary syntax. If you can write Python, you can integrate APIs, AI, or custom computer vision straight into your macros.

I built Macro Studio to be the tool I wished I had, and I'm keeping it free and open-source so the community finally has a modern, high-performance automation framework.


📦 Installation

Option 1: Install via pip (Recommended)

pip install macro-studio

Option 2: Standalone Executable (Windows)

If you prefer not to use Python environments, you can download the latest pre-compiled .exe from the GitHub Releases page.

  1. Download the MacroStudio-Win64.zip file.
  2. Extract the ZIP folder.
  3. Double-click MacroStudio.exe to launch.

(Note: You must install Tesseract OCR separately if you plan to use text-reading computer vision features!)


🤝 Contributing & Support

Contributions are welcome! Whether you are fixing bugs, adding new features, or creating example tasks, I would love to see your work.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

If you find this studio helpful and want to support its development, consider buying me a coffee! It helps keep the updates coming.

Buy Me A Coffee

📄 License

Distributed under the GNU GPLv3 License. See LICENSE for more information. This means that if you modify and distribute this engine or build a product on top of it, you must keep it open-source.

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

macro_studio-0.2.0.tar.gz (338.1 kB view details)

Uploaded Source

Built Distribution

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

macro_studio-0.2.0-py3-none-any.whl (358.9 kB view details)

Uploaded Python 3

File details

Details for the file macro_studio-0.2.0.tar.gz.

File metadata

  • Download URL: macro_studio-0.2.0.tar.gz
  • Upload date:
  • Size: 338.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for macro_studio-0.2.0.tar.gz
Algorithm Hash digest
SHA256 62cfe75625872866df09d172c5ecbc733d00251a0611a2a1f60a21a21021ec4f
MD5 9571f9f92aaf9a6642298e5e7b908e99
BLAKE2b-256 29819db11652c1cbd7a5cde0aa0f8d44d2cc2445f716607d741f151d0170e971

See more details on using hashes here.

Provenance

The following attestation bundles were made for macro_studio-0.2.0.tar.gz:

Publisher: python-publish.yml on theeman05/MacroStudio

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file macro_studio-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: macro_studio-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 358.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for macro_studio-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 dde3bd725bb6c8387578ced119918bca285841e03584902b7bec2af30e3bdc7a
MD5 de8fe7f1c641a4d6aff328936410c679
BLAKE2b-256 5b729a1f9162202bdc8e7975f072bf074517dfc1bec9f5b29e695f5a28e41bac

See more details on using hashes here.

Provenance

The following attestation bundles were made for macro_studio-0.2.0-py3-none-any.whl:

Publisher: python-publish.yml on theeman05/MacroStudio

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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