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
- 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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
File details
Details for the file iauto_server-0.1.0-py3-none-any.whl
.
File metadata
- Download URL: iauto_server-0.1.0-py3-none-any.whl
- Upload date:
- Size: 3.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6ffd0d7d291ae24d3014491a90afaed58d72d67b5664c8190279ceff1f450732 |
|
MD5 | 691b42056f3732b85c8e52268fcd87ab |
|
BLAKE2b-256 | 03e0be7b710c7c9857161b4cae2091735eaa29445b2256ebd0c03e965501ea89 |