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_coreitself.
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.tomland 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
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - 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
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 Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
db2aa03558fa93c83cea01240fa64adbf0b89a5072cf48f54f5329a1f0c013f7
|
|
| MD5 |
f7e32b10d6280d1560470273b71d9c47
|
|
| BLAKE2b-256 |
ee7fc79b41627245c79a9c4f056014dd7816902449b94df43e2eafa774fc94dd
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a5b8d66b3a02ca48ba73621a050a13d13b5574f23819b40886e3dc9916c19f52
|
|
| MD5 |
945b3e0dc67033deab5482393f0ff9a0
|
|
| BLAKE2b-256 |
c01fb3137774a8bfdda4bd3e75eac4487ad60fa2fb1ce1932ade258eef6abe07
|