iauto
iauto is a Python library for intelligent automation.
Key Features
- Workflow Orchestration: Defining workflow using YAML, for collaboration and version control
- Playwright Integration: Automate web workflows with Playwright
- Appium Integration: Automate web, iOS, Android, Windows, and macOS workflows with Appium
- LLMs Integration: Integrate AI into automated workflows, support OpenAI API and self-hosting LLMs
Roadmap
- pyautogui Integration: Cross-platform keyboard and mouse control
- OCR: Support ORC-based screen element recognition
- OpenAI Assistants API: Support Orchestrating OpenAI Assistants API
Quick Start
Installation
Python version requirement: >=3.8
iauto can be installed from PyPI using pip. It is recommended to create a new virtual environment before installation to avoid conflicts.
pip install -U iauto
To enable cuBLAS acceleration on NVIDIA GPU:
CMAKE_ARGS="-DGGML_CUBLAS=ON" pip install -U iauto
To enable Metal on Apple silicon devices:
CMAKE_ARGS="-DGGML_METAL=ON" pip install -U iauto
Playbook
Automate your workflow by writing a playbook.
Example: Web automation
browser.yaml
playbook:
description: Open browser and goto https://bing.com
actions:
- browser.open:
args:
exec: /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
result: $browser
- browser.goto:
args:
browser: $browser
url: https://bing.com
result: $page
- repeat:
actions:
- browser.eval:
args:
page: $page
javascript: new Date()
result: $now
- log: $now
- time.wait: 2
Run the playbook:
python -m iauto ./browser.yaml
Example: Chatbot
chatbot.yaml:
playbook:
description: Chat to OpenAI
actions:
- llm.session:
result: $session
- repeat:
actions:
- shell.prompt:
args: "Human: "
result: $prompt
- llm.chat:
args:
session: $session
prompt: $prompt
result: $message
- shell.print: "AI: {$message}"
Set your OpenAI API key:
export OPENAI_API_KEY=sk-<YOUR_API_KEY>
Run the playbook:
python -m iauto ./chatbot.yaml
- Control Flow
- Appium Webdriver
- Playwright Browser
- OpenAI REPL Chatbot
- ChatGLM REPL Chatbot
- QWen REPL Chatbot
Contribution
We are extremely open to contributions, whether it be in the form of a new feature, improved infrastructure, or better documentation.
Development setup
- Code Style: PEP-8
- Docstring Style: Google Style
# Create python venv
python -m venv .venv
source .venv/bin/activate
# Install dependencies
pip install -r requirements.txt
pip install -r requirements-dev.txt
# Apply autopep8, isort and flake8 as pre commit hooks
pre-commit install
Build
./build.sh
License
MIT
Metadata
Release files for iauto-server 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| iauto_server-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Release files / iauto_server-0.1.0-py3-none-any.whl
| Download URL | iauto_server-0.1.0-py3-none-any.whl |
|---|---|
| Size | 3.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6ffd0d7d291ae24d3014491a90afaed58d72d67b5664c8190279ceff1f450732
|
|
BLAKE2b-256 checksum How to use checksums |
03e0be7b710c7c9857161b4cae2091735eaa29445b2256ebd0c03e965501ea89
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.11.0
|