qontinui


Nameqontinui JSON
Version 0.1.0 PyPI version JSON
download
home_pagehttps://github.com/your-org/qontinui-core
SummaryModel-based GUI automation with AI-enhanced perception
upload_time2025-10-11 12:01:32
maintainerNone
docs_urlNone
authorYour Name
requires_python<3.14,>=3.12
licenseMIT
keywords gui automation ai testing rpa
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Qontinui

[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![Python 3.10+](https://img.shields.io/badge/python-3.10+-blue.svg)](https://www.python.org/downloads/)
[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)

A Python library for model-based GUI automation with intelligent state management and visual recognition.

## Overview

Qontinui enables building robust GUI automation through:
- **Model-based state management** using [MultiState](https://github.com/jspinak/multistate)
- **Visual recognition** with OpenCV template matching
- **JSON configuration** for defining automation workflows
- **Cross-platform support** (Windows, macOS, Linux)

Qontinui is a Python port of [Brobot](https://github.com/jspinak/brobot), a Java library for GUI automation.

## Installation

### From Source (Development)

```bash
# Clone the repository
git clone https://github.com/yourusername/qontinui.git
cd qontinui

# Install with Poetry
poetry install

# Or with pip
pip install -e .
```

### Dependencies

Qontinui requires:
- **[MultiState](https://github.com/jspinak/multistate)** - Multi-state state management
- **OpenCV** - Image template matching
- **PyAutoGUI/pynput** - Input control

## Quick Start

### JSON Configuration

Create an automation configuration in JSON:

```json
{
  "version": "1.0",
  "states": [
    {
      "name": "LoginScreen",
      "stateImages": [
        {
          "imageId": "login_button",
          "threshold": 0.9
        }
      ]
    }
  ],
  "processes": [
    {
      "name": "Login",
      "actions": [
        {
          "type": "CLICK",
          "target": {"type": "image", "imageId": "login_button"}
        },
        {
          "type": "TYPE",
          "text": "username@example.com"
        }
      ]
    }
  ]
}
```

### Python API

```python
from qontinui.json_executor import JSONRunner

# Initialize runner
runner = JSONRunner()

# Load configuration
runner.load_configuration("automation_config.json")

# Execute automation
success = runner.run(monitor_index=0)
```

### Desktop Application

Use [Qontinui Runner](https://github.com/yourusername/qontinui-runner) for a GUI interface to create and run automations.

## Architecture

```
qontinui/
├── src/qontinui/
│   ├── json_executor/       # JSON configuration execution
│   ├── model/               # State, Transition, Image models
│   ├── hal/                 # Hardware Abstraction Layer
│   └── multistate_adapter/  # MultiState integration
```

## Features

### Current
- ✅ JSON-based automation configuration
- ✅ Template-based image matching
- ✅ Multi-state state management
- ✅ Process and state machine execution modes
- ✅ Cross-platform input control (PyAutoGUI, pynput)
- ✅ Hardware abstraction layer for multiple backends

### Planned
- 🔄 AI-enhanced visual recognition (SAM, CLIP)
- 🔄 Domain-specific language (DSL)
- 🔄 Advanced Brobot migration tools
- 🔄 Cloud execution via qontinui-web

## Testing

Run the test suite:

```bash
# Run all tests
poetry run pytest

# Run with coverage
poetry run pytest --cov=src/qontinui

# Run specific test file
poetry run pytest tests/json_executor/test_json_runner.py
```

## Contributing

We welcome contributions! Please see [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.

Qontinui is a faithful port of Brobot. When contributing, please preserve Brobot's architecture and behavior.

## Documentation

- **GitHub**: [github.com/yourusername/qontinui](https://github.com/yourusername/qontinui)
- **Issues**: [GitHub Issues](https://github.com/yourusername/qontinui/issues)
- **MultiState Docs**: [jspinak.github.io/multistate](https://jspinak.github.io/multistate/)

## License

MIT License - See [LICENSE](LICENSE) file for details.

## Acknowledgments

- [Brobot](https://github.com/jspinak/brobot) - The original Java library
- [MultiState](https://github.com/jspinak/multistate) - Multi-state state management
- [PyAutoGUI](https://github.com/asweigart/pyautogui) - GUI automation
- [OpenCV](https://opencv.org/) - Computer vision

## Related Projects

- **[qontinui-runner](https://github.com/yourusername/qontinui-runner)** - Desktop application
- **[qontinui-web](https://github.com/yourusername/qontinui-web)** - Web-based configuration editor
- **[multistate](https://github.com/jspinak/multistate)** - State management library

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/your-org/qontinui-core",
    "name": "qontinui",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<3.14,>=3.12",
    "maintainer_email": null,
    "keywords": "gui, automation, ai, testing, rpa",
    "author": "Your Name",
    "author_email": "your.email@example.com",
    "download_url": "https://files.pythonhosted.org/packages/18/fa/eb05da85ff67c8e12122d341d3b9fed910dccd98c8106a3438f43c2e4e9d/qontinui-0.1.0.tar.gz",
    "platform": null,
    "description": "# Qontinui\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![Python 3.10+](https://img.shields.io/badge/python-3.10+-blue.svg)](https://www.python.org/downloads/)\n[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)\n\nA Python library for model-based GUI automation with intelligent state management and visual recognition.\n\n## Overview\n\nQontinui enables building robust GUI automation through:\n- **Model-based state management** using [MultiState](https://github.com/jspinak/multistate)\n- **Visual recognition** with OpenCV template matching\n- **JSON configuration** for defining automation workflows\n- **Cross-platform support** (Windows, macOS, Linux)\n\nQontinui is a Python port of [Brobot](https://github.com/jspinak/brobot), a Java library for GUI automation.\n\n## Installation\n\n### From Source (Development)\n\n```bash\n# Clone the repository\ngit clone https://github.com/yourusername/qontinui.git\ncd qontinui\n\n# Install with Poetry\npoetry install\n\n# Or with pip\npip install -e .\n```\n\n### Dependencies\n\nQontinui requires:\n- **[MultiState](https://github.com/jspinak/multistate)** - Multi-state state management\n- **OpenCV** - Image template matching\n- **PyAutoGUI/pynput** - Input control\n\n## Quick Start\n\n### JSON Configuration\n\nCreate an automation configuration in JSON:\n\n```json\n{\n  \"version\": \"1.0\",\n  \"states\": [\n    {\n      \"name\": \"LoginScreen\",\n      \"stateImages\": [\n        {\n          \"imageId\": \"login_button\",\n          \"threshold\": 0.9\n        }\n      ]\n    }\n  ],\n  \"processes\": [\n    {\n      \"name\": \"Login\",\n      \"actions\": [\n        {\n          \"type\": \"CLICK\",\n          \"target\": {\"type\": \"image\", \"imageId\": \"login_button\"}\n        },\n        {\n          \"type\": \"TYPE\",\n          \"text\": \"username@example.com\"\n        }\n      ]\n    }\n  ]\n}\n```\n\n### Python API\n\n```python\nfrom qontinui.json_executor import JSONRunner\n\n# Initialize runner\nrunner = JSONRunner()\n\n# Load configuration\nrunner.load_configuration(\"automation_config.json\")\n\n# Execute automation\nsuccess = runner.run(monitor_index=0)\n```\n\n### Desktop Application\n\nUse [Qontinui Runner](https://github.com/yourusername/qontinui-runner) for a GUI interface to create and run automations.\n\n## Architecture\n\n```\nqontinui/\n\u251c\u2500\u2500 src/qontinui/\n\u2502   \u251c\u2500\u2500 json_executor/       # JSON configuration execution\n\u2502   \u251c\u2500\u2500 model/               # State, Transition, Image models\n\u2502   \u251c\u2500\u2500 hal/                 # Hardware Abstraction Layer\n\u2502   \u2514\u2500\u2500 multistate_adapter/  # MultiState integration\n```\n\n## Features\n\n### Current\n- \u2705 JSON-based automation configuration\n- \u2705 Template-based image matching\n- \u2705 Multi-state state management\n- \u2705 Process and state machine execution modes\n- \u2705 Cross-platform input control (PyAutoGUI, pynput)\n- \u2705 Hardware abstraction layer for multiple backends\n\n### Planned\n- \ud83d\udd04 AI-enhanced visual recognition (SAM, CLIP)\n- \ud83d\udd04 Domain-specific language (DSL)\n- \ud83d\udd04 Advanced Brobot migration tools\n- \ud83d\udd04 Cloud execution via qontinui-web\n\n## Testing\n\nRun the test suite:\n\n```bash\n# Run all tests\npoetry run pytest\n\n# Run with coverage\npoetry run pytest --cov=src/qontinui\n\n# Run specific test file\npoetry run pytest tests/json_executor/test_json_runner.py\n```\n\n## Contributing\n\nWe welcome contributions! Please see [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.\n\nQontinui is a faithful port of Brobot. When contributing, please preserve Brobot's architecture and behavior.\n\n## Documentation\n\n- **GitHub**: [github.com/yourusername/qontinui](https://github.com/yourusername/qontinui)\n- **Issues**: [GitHub Issues](https://github.com/yourusername/qontinui/issues)\n- **MultiState Docs**: [jspinak.github.io/multistate](https://jspinak.github.io/multistate/)\n\n## License\n\nMIT License - See [LICENSE](LICENSE) file for details.\n\n## Acknowledgments\n\n- [Brobot](https://github.com/jspinak/brobot) - The original Java library\n- [MultiState](https://github.com/jspinak/multistate) - Multi-state state management\n- [PyAutoGUI](https://github.com/asweigart/pyautogui) - GUI automation\n- [OpenCV](https://opencv.org/) - Computer vision\n\n## Related Projects\n\n- **[qontinui-runner](https://github.com/yourusername/qontinui-runner)** - Desktop application\n- **[qontinui-web](https://github.com/yourusername/qontinui-web)** - Web-based configuration editor\n- **[multistate](https://github.com/jspinak/multistate)** - State management library\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Model-based GUI automation with AI-enhanced perception",
    "version": "0.1.0",
    "project_urls": {
        "Documentation": "https://qontinui.github.io",
        "Homepage": "https://github.com/your-org/qontinui-core",
        "Repository": "https://github.com/your-org/qontinui-core"
    },
    "split_keywords": [
        "gui",
        " automation",
        " ai",
        " testing",
        " rpa"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "de8567871e451a6af6b56dc6f4d35080f45c5e3d320e0f7dcc878baf32abc9d2",
                "md5": "9db8f9d5ebe0846fca34fce84c771987",
                "sha256": "96c234278f1048c09732a2c57f938a2b09f6aad93d664043b88ed025fa797db1"
            },
            "downloads": -1,
            "filename": "qontinui-0.1.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "9db8f9d5ebe0846fca34fce84c771987",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<3.14,>=3.12",
            "size": 958579,
            "upload_time": "2025-10-11T12:01:29",
            "upload_time_iso_8601": "2025-10-11T12:01:29.810616Z",
            "url": "https://files.pythonhosted.org/packages/de/85/67871e451a6af6b56dc6f4d35080f45c5e3d320e0f7dcc878baf32abc9d2/qontinui-0.1.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "18faeb05da85ff67c8e12122d341d3b9fed910dccd98c8106a3438f43c2e4e9d",
                "md5": "ef687ade37e29b2f1d2e6115b900c460",
                "sha256": "85f12ba66cd2f7921d441c8731ea9c271dae9b484ca1812409bf4503bf00c648"
            },
            "downloads": -1,
            "filename": "qontinui-0.1.0.tar.gz",
            "has_sig": false,
            "md5_digest": "ef687ade37e29b2f1d2e6115b900c460",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<3.14,>=3.12",
            "size": 702313,
            "upload_time": "2025-10-11T12:01:32",
            "upload_time_iso_8601": "2025-10-11T12:01:32.200771Z",
            "url": "https://files.pythonhosted.org/packages/18/fa/eb05da85ff67c8e12122d341d3b9fed910dccd98c8106a3438f43c2e4e9d/qontinui-0.1.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-10-11 12:01:32",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "your-org",
    "github_project": "qontinui-core",
    "github_not_found": true,
    "lcname": "qontinui"
}
        
Elapsed time: 2.39998s