Skip to main content

iauto-desktop is a desktop application for iauto

Project description

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

iauto_desktop-0.1.0-py3-none-any.whl (3.2 kB view details)

Uploaded Python 3

File details

Details for the file iauto_desktop-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for iauto_desktop-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 03624266cf71c4c1c6c62cc8b9a225f493ab0fbc15aed171825d9ce5548c2140
MD5 801047dc840b1a015c462f055127b3dc
BLAKE2b-256 13266801083009806f53a295012328078dc648084c05c96a9e9dbb223b117502

See more details on using hashes here.

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