Skip to main content

One more layer for pyautogui. Utilities for SAP integration.

Project description

This library provides a set of utilities designed to automate repetitive human interactions on a computer. By leveraging the power of the pyautogui library, this package allows for easy automation of simple tasks such as mouse movements, clicks, keyboard presses, window focus checks, and clipboard operations. The library is especially helpful in scenarios where you need to automate SAP interactions or other desktop applications without manually repeating actions across different projects.


SAPAutomation Class (in sap_utils.py)

This class provides an interface for automating SAP tasks, allowing you to perform common actions such as logging into SAP, navigating through menus, and copying data to the clipboard. It uses the pyautogui_utils functions to simulate user actions in SAP.

Example usage:

from sap_utils import SAPAutomation

sap = SAPAutomation()
sap.login("username", "password")
sap.select_item("item_name")
sap.copy_data()

## Installation

To install the package, simply clone the repository and install the required dependencies:

```bash
git clone https://github.com/yourusername/automation-utils.git
cd automation-utils
pip install -r requirements.txt

## Requirements
- Python 3.x
- pyautogui
- pygetwindow
- pyperclip
- Other dependencies listed in `requirements.txt`

---

## License

This project is licensed under the MIT License.

---

## Next Steps and Potential Vulnerabilities

### Error Handling
Implement structured exception handling (try/except) to ensure better error recovery and debugging.

### Testing
Implement unit tests for all utility functions and mock interactions to allow testing without relying on real-world systems.

### Dynamic Window Titles
Enhance window title-finding logic using regex or partial matches.

### Performance Optimization
Avoid using `time.sleep()` and explore event-driven approaches to improve performance. Ensure that `force_clipboard_content()` doesn't loop infinitely by adding a maximum retry count or exit condition.

### Robustness and Safety
Implement input validation for user inputs and add logging for events and errors to make debugging easier.

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

tilia-1.0.4.tar.gz (2.4 kB view details)

Uploaded Source

Built Distribution

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

tilia-1.0.4-py3-none-any.whl (2.3 kB view details)

Uploaded Python 3

File details

Details for the file tilia-1.0.4.tar.gz.

File metadata

  • Download URL: tilia-1.0.4.tar.gz
  • Upload date:
  • Size: 2.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.11.8

File hashes

Hashes for tilia-1.0.4.tar.gz
Algorithm Hash digest
SHA256 f58b3bc6e531a579a9ebf6dca7eb3e6c67d4a4e1233124e05acaafda620dea11
MD5 c182c334fd882795bcdf5814c82f6303
BLAKE2b-256 6784dd2431054b7f4b8deea31aa317337a36785d38d56100f82f91978cef915d

See more details on using hashes here.

File details

Details for the file tilia-1.0.4-py3-none-any.whl.

File metadata

  • Download URL: tilia-1.0.4-py3-none-any.whl
  • Upload date:
  • Size: 2.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.11.8

File hashes

Hashes for tilia-1.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 830fc3d83b3470a773d35b10db20f6232786796e8a12722573de7fd9e5c06a41
MD5 67c4388bf26e62728c5ec75370ab695e
BLAKE2b-256 6dc21c1de268c01d90ae5eb3a3a34cae36bbc1ed1247b403f47fa2f914e65d88

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