Skip to main content

iauto-server is a server 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_server-0.1.0-py3-none-any.whl (3.2 kB view details)

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for iauto_server-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6ffd0d7d291ae24d3014491a90afaed58d72d67b5664c8190279ceff1f450732
MD5 691b42056f3732b85c8e52268fcd87ab
BLAKE2b-256 03e0be7b710c7c9857161b4cae2091735eaa29445b2256ebd0c03e965501ea89

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