Skip to main content

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

More example playbooks

Contribution

We are extremely open to contributions, whether it be in the form of a new feature, improved infrastructure, or better documentation.

Development setup

# 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-desktop 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distribution (wheel)

Table of built distributions (wheels) for iauto-desktop 0.1.0
File Interpreter ABI Platform
iauto_desktop-0.1.0-py3-none-any.whl Python 3 none any Details

Release files / iauto_desktop-0.1.0-py3-none-any.whl

Download URL iauto_desktop-0.1.0-py3-none-any.whl
Size 3.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
03624266cf71c4c1c6c62cc8b9a225f493ab0fbc15aed171825d9ce5548c2140
BLAKE2b-256 checksum
How to use checksums
13266801083009806f53a295012328078dc648084c05c96a9e9dbb223b117502
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.0

Release history Release notifications | RSS feed

This release

0.1.0 This release

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page