iauto-server


Nameiauto-server JSON
Version 0.1.0 PyPI version JSON
download
home_pagehttps://github.com/shellc/ia-desktop
Summaryiauto-server is a server for iauto
upload_time2024-01-29 08:50:01
maintainer
docs_urlNone
authorshellc
requires_python>=3.8
licenseMIT
keywords ai automation llm rpa
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # 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.

```bash
pip install -U iauto
```

To enable cuBLAS acceleration on NVIDIA GPU:

```bash
CMAKE_ARGS="-DGGML_CUBLAS=ON" pip install -U iauto
```

To enable Metal on Apple silicon devices:

```bash
CMAKE_ARGS="-DGGML_METAL=ON" pip install -U iauto
```

### Playbook

Automate your workflow by writing a playbook.

**Example: Web automation**

`browser.yaml`

```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:

```bash
python -m iauto ./browser.yaml
```

**Example: Chatbot**

`chatbot.yaml`:

```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:

```bash
export OPENAI_API_KEY=sk-<YOUR_API_KEY>
```

Run the playbook:

```bash
python -m iauto ./chatbot.yaml
```

**[More example playbooks](./playbooks)**

* [Control Flow](./playbooks/control_flow.yaml)
* [Appium Webdriver](./playbooks/webdriver.yaml)
* [Playwright Browser](./playbooks/browser.yaml)
* [OpenAI REPL Chatbot](./playbooks/openai_repl.yaml)
* [ChatGLM REPL Chatbot](./playbooks/chatglm_repl.yaml)
* [QWen REPL Chatbot](./playbooks/qwen_repl.yaml)

## 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](https://peps.python.org/pep-0008/)
* Docstring Style: [Google Style](https://sphinxcontrib-napoleon.readthedocs.io/en/latest/example_google.html)

```bash
# 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

```bash
./build.sh
```

## License

MIT

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/shellc/ia-desktop",
    "name": "iauto-server",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": "",
    "keywords": "AI,Automation,LLM,RPA",
    "author": "shellc",
    "author_email": "shenggong.wang@gmail.com",
    "download_url": "",
    "platform": null,
    "description": "# iauto\n\n`iauto` is a Python library for intelligent automation.\n\n## Key Features\n\n* **Workflow Orchestration**: Defining workflow using YAML, for collaboration and version control\n* **Playwright Integration**: Automate web workflows with Playwright\n* **Appium Integration**: Automate web, iOS, Android, Windows, and macOS workflows with Appium\n* **LLMs Integration**: Integrate AI into automated workflows, support OpenAI API and self-hosting LLMs\n\n### Roadmap\n\n* **pyautogui Integration**: Cross-platform keyboard and mouse control\n* **OCR**: Support ORC-based screen element recognition\n* **OpenAI Assistants API**: Support Orchestrating OpenAI Assistants API\n\n## Quick Start\n\n### Installation\n\nPython version requirement: >=3.8\n\n`iauto` can be installed from PyPI using `pip`. It is recommended to create a new virtual environment before installation to avoid conflicts.\n\n```bash\npip install -U iauto\n```\n\nTo enable cuBLAS acceleration on NVIDIA GPU:\n\n```bash\nCMAKE_ARGS=\"-DGGML_CUBLAS=ON\" pip install -U iauto\n```\n\nTo enable Metal on Apple silicon devices:\n\n```bash\nCMAKE_ARGS=\"-DGGML_METAL=ON\" pip install -U iauto\n```\n\n### Playbook\n\nAutomate your workflow by writing a playbook.\n\n**Example: Web automation**\n\n`browser.yaml`\n\n```yaml\nplaybook:\n  description: Open browser and goto https://bing.com\n  actions:\n    - browser.open:\n        args:\n          exec: /Applications/Google Chrome.app/Contents/MacOS/Google Chrome\n        result: $browser\n    - browser.goto:\n        args:\n          browser: $browser\n          url: https://bing.com\n        result: $page\n    - repeat:\n        actions:\n          - browser.eval:\n              args:\n                page: $page\n                javascript: new Date()\n              result: $now\n          - log: $now\n          - time.wait: 2\n```\n\nRun the playbook:\n\n```bash\npython -m iauto ./browser.yaml\n```\n\n**Example: Chatbot**\n\n`chatbot.yaml`:\n\n```yaml\nplaybook:\n  description: Chat to OpenAI\n  actions:\n    - llm.session:\n        result: $session\n    - repeat:\n        actions:\n          - shell.prompt:\n              args: \"Human: \"\n              result: $prompt\n          - llm.chat:\n              args:\n                session: $session\n                prompt: $prompt\n              result: $message\n          - shell.print: \"AI: {$message}\"\n```\n\nSet your OpenAI API key:\n\n```bash\nexport OPENAI_API_KEY=sk-<YOUR_API_KEY>\n```\n\nRun the playbook:\n\n```bash\npython -m iauto ./chatbot.yaml\n```\n\n**[More example playbooks](./playbooks)**\n\n* [Control Flow](./playbooks/control_flow.yaml)\n* [Appium Webdriver](./playbooks/webdriver.yaml)\n* [Playwright Browser](./playbooks/browser.yaml)\n* [OpenAI REPL Chatbot](./playbooks/openai_repl.yaml)\n* [ChatGLM REPL Chatbot](./playbooks/chatglm_repl.yaml)\n* [QWen REPL Chatbot](./playbooks/qwen_repl.yaml)\n\n## Contribution\n\nWe are extremely open to contributions, whether it be in the form of a new feature, improved infrastructure, or better documentation.\n\n### Development setup\n\n* Code Style: [PEP-8](https://peps.python.org/pep-0008/)\n* Docstring Style: [Google Style](https://sphinxcontrib-napoleon.readthedocs.io/en/latest/example_google.html)\n\n```bash\n# Create python venv\npython -m venv .venv\nsource .venv/bin/activate\n\n# Install dependencies\npip install -r requirements.txt\npip install -r requirements-dev.txt\n\n# Apply autopep8, isort and flake8 as pre commit hooks\npre-commit install\n```\n### Build\n\n```bash\n./build.sh\n```\n\n## License\n\nMIT\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "iauto-server is a server for iauto",
    "version": "0.1.0",
    "project_urls": {
        "Homepage": "https://github.com/shellc/ia-desktop"
    },
    "split_keywords": [
        "ai",
        "automation",
        "llm",
        "rpa"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "03e0be7b710c7c9857161b4cae2091735eaa29445b2256ebd0c03e965501ea89",
                "md5": "691b42056f3732b85c8e52268fcd87ab",
                "sha256": "6ffd0d7d291ae24d3014491a90afaed58d72d67b5664c8190279ceff1f450732"
            },
            "downloads": -1,
            "filename": "iauto_server-0.1.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "691b42056f3732b85c8e52268fcd87ab",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 3179,
            "upload_time": "2024-01-29T08:50:01",
            "upload_time_iso_8601": "2024-01-29T08:50:01.272914Z",
            "url": "https://files.pythonhosted.org/packages/03/e0/be7b710c7c9857161b4cae2091735eaa29445b2256ebd0c03e965501ea89/iauto_server-0.1.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-01-29 08:50:01",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "shellc",
    "github_project": "ia-desktop",
    "github_not_found": true,
    "lcname": "iauto-server"
}
        
Elapsed time: 3.38713s