Skip to main content

Core browser UI automation framework

Project description

BRUI Core (Browser UI Automation Core)

A flexible and robust browser UI automation framework that provides essential functionality for browser-based UI automation projects.

Features

  • Browser Management: Automated browser launching and control across different operating systems
  • Configuration Handling: Flexible configuration management with TOML and environment variable support
  • Clipboard Integration: Easy clipboard monitoring and manipulation
  • UI Integration Base: Extensible base classes for UI automation
  • Cross-Platform Support: Works on Linux and macOS

Installation

From PyPI (recommended)

pip install brui_core

From source (editable)

git clone https://github.com/AutoByteus/brui_core.git
cd brui_core
python -m venv .venv
source .venv/bin/activate  # or .venv\\Scripts\\activate on Windows
pip install -r requirements.txt  # installs the package via -e .

Development / testing extras

pip install -r requirements-dev.txt  # pulls in brui_core[test]

Dependencies only (no package install)

pip install -r requirements-deps.txt

Use this when you want all runtime dependencies without installing brui_core itself.

Build the distribution

This project uses modern packaging via pyproject.toml and setuptools. To produce sdist/wheel artifacts:

pip install build
python -m build

Quick Start

from brui_core.ui_integrator import UIIntegrator

async def main():
    # Initialize the UI integrator
    ui = UIIntegrator()
    await ui.initialize()
    
    try:
        # Your automation code here
        pass
    finally:
        # Clean up
        await ui.close()

# Run with asyncio
import asyncio
asyncio.run(main())

Requirements

  • Python 3.8+
  • Playwright (pinned in pyproject.toml and installed automatically)
  • Chrome/Chromium browser installed
  • Pillow, pyperclip, and other transitive dependencies installed with the package

Configuration

The framework supports configuration via TOML files or environment variables:

[browser]
chrome_profile_directory = "Profile 1"
remote_debugging_port = 9222
remote_host = "localhost"

Environment variables:

  • BROWSER_CONFIG_PATH: Path to custom browser configuration
  • CHROME_PROFILE_DIRECTORY: Override chrome profile directory
  • CHROME_DOWNLOAD_DIRECTORY: Override download directory

Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details.

Support

For support, please open an issue in the GitHub repository.

Acknowledgments

  • Built with Playwright
  • Developed by AutoByteus

Project details


Download files

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

Source Distribution

brui_core-1.1.0.tar.gz (10.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

brui_core-1.1.0-py3-none-any.whl (11.1 kB view details)

Uploaded Python 3

File details

Details for the file brui_core-1.1.0.tar.gz.

File metadata

  • Download URL: brui_core-1.1.0.tar.gz
  • Upload date:
  • Size: 10.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.12

File hashes

Hashes for brui_core-1.1.0.tar.gz
Algorithm Hash digest
SHA256 db2aa03558fa93c83cea01240fa64adbf0b89a5072cf48f54f5329a1f0c013f7
MD5 f7e32b10d6280d1560470273b71d9c47
BLAKE2b-256 ee7fc79b41627245c79a9c4f056014dd7816902449b94df43e2eafa774fc94dd

See more details on using hashes here.

File details

Details for the file brui_core-1.1.0-py3-none-any.whl.

File metadata

  • Download URL: brui_core-1.1.0-py3-none-any.whl
  • Upload date:
  • Size: 11.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.12

File hashes

Hashes for brui_core-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a5b8d66b3a02ca48ba73621a050a13d13b5574f23819b40886e3dc9916c19f52
MD5 945b3e0dc67033deab5482393f0ff9a0
BLAKE2b-256 c01fb3137774a8bfdda4bd3e75eac4487ad60fa2fb1ce1932ade258eef6abe07

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page