Skip to main content

Windows GUI automation with a cool API.

Project description

Systa is a Microsoft Windows automation library, built for people who aren’t Microsoft Windows programming gurus.

Documentation.

Install

pip install systa

Basic Usage

>>> from systa.windows import current_windows
>>> "Untitled - Notepad" in current_windows
True
>>> "🍔" in current_windows
False
>>> notepad = current_windows["Untitled - Notepad"][0]
>>> notepad.maximized
False
>>> notepad.maximized = True # it's now maximized
>>> notepad.maximized
True

Events

The real power of systa springs from its integration with Windows system hooks. You can run code when things happen on the system.

from systa.events.decorators import listen_to, filter_by
from systa.events.store import callback_store
from systa.events.types import EventData

@filter_by.require_size_is_less_than(200, 200)
@filter_by.require_title("*Notepad")
@listen_to.restore
@listen_to.create
def a_func_to_do_the_thing(event_data: EventData):
    print(f"Notepad restored or created! ({event_data.window.width}, {event_data.window.height})")

callback_store.run()

The above code prints a message when:

  1. A window is opened OR a window is restored from a minimized state.

  2. AND the window’s title ends with the string Notepad.

  3. AND the window’s size is less than 200x200.

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

systa-0.2.1.tar.gz (35.0 kB view hashes)

Uploaded Source

Built Distribution

systa-0.2.1-py3-none-any.whl (41.2 kB view hashes)

Uploaded Python 3

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