douglasdcm/guara
71.3
Strong · 22 September 2026
5k
lines of production code
Python
primary language
7
measurements over time
What this system is
Guara is a Python testing framework designed to define and execute automated transactions across web, mobile, and desktop interfaces. It provides a structured approach to UI automation through a 'Page Transactions' pattern, supporting both synchronous and asynchronous execution with features like retry policies, dry-run modes, and execution history replay. The system integrates with various drivers such as Selenium, Playwright, Appium, and native desktop automation tools to validate user flows and interface interactions.
Features
Add Appium integration example for mobile UI automation
Added a new example in \examples/mobile/appium\ demonstrating how to integrate the Guara framework with Appium for automating mobile application tests. The example includes a pytest-based test suite (\\_test\_appium\_integration.py\) that uses the Page Transactions pattern, along with transaction classes (\OpenAppiumApp\, \CloseAppiumApp\, \SubmitTextAppium\) to handle app lifecycle and UI interactions, and a README explaining the setup and usage.
examples/mobile · high confidence
Add Caqui and Arsenic web UI automation examples
New example projects have been added to demonstrate web UI automation using the Caqui and Arsenic libraries. The Caqui examples provide both synchronous and asynchronous implementations for automating browser interactions, such as opening pages, retrieving link text, and validating content, while the Arsenic example showcases asynchronous browser control using the WebDriver protocol.
_examples/web\ui/caqui · high confidence
Add Guará-based DDD Education Platform CLI example
Introduces a new example application in \examples/domain\_driven\_design\ that demonstrates a CLI-based education management platform built with the Guará framework. The example implements a use-case-driven architecture where business scenarios, implementation, and tests are unified, covering core academic operations such as student and course creation, subject management, enrollment, grade assignment, and GPA calculation. It includes domain models, a SQLite-backed repository, transaction definitions, scenario-based tests, and documentation explaining the Guará philosophy of treating use cases as code.
_examples/domain\_driven\design · high confidence
Add Linux desktop automation example using PyAutoGUI and Dogtail
A new example has been added to the \examples/linux\_desktop/pyautogui\ directory that demonstrates how to automate the GNOME Calculator on Linux. The example integrates PyAutoGUI for image-based UI interaction (clicking buttons) with Dogtail for application lifecycle management (opening and closing the app) and assertion support. It includes a test script, screen definition transactions, and a README explaining the setup and execution flow.
_examples/linux\desktop/pyautogui · high confidence
Add Playwright integration example for Guara
This change introduces a new example demonstrating how to integrate the Guara testing framework with Playwright for web UI automation. It includes both synchronous and asynchronous implementations, featuring Page Object Model (Page Transactions) patterns to navigate the Playwright documentation site and validate page content. The example provides a README explaining the setup and usage, along with test scripts and page object classes that show how to configure the Playwright driver within Guara's Application context.
_examples/web\ui/playwright · high confidence
Add PyAutoWin integration example for Windows GUI automation
Added a new example in the \examples/windows\_desktop/pyautowin\ directory that demonstrates how to integrate the Guará framework with PyAutoWin to automate interactions with local Windows applications. The example includes a \setup.py\ module for opening and closing applications, a \home.py\ transaction for submitting text via keyboard simulation, and a corresponding integration test (\\_test\_pyautowin\_integration.py\) that validates this workflow using Guará's Page Transaction pattern.
_examples/windows\desktop/pyautowin · high confidence
Add PyScript-based To-Do prototype example
Introduces a new prototyping example in \examples/prototyping/todo\ that demonstrates a browser-based To-Do list application using PyScript. The example includes a Python backend (\transactions.py\) implementing task management logic (add, remove, list, print as dictionary, get by index) via the \guara\ framework, a frontend (\main.py\, \index.html\, \style.css\) that binds these transactions to HTML buttons and inputs, and a corresponding test suite (\\_test\_todo\_prototype.py\) to verify the transaction behavior.
examples/prototyping/todo · high confidence
Add RPA integration examples for Linux desktop automation
New example files have been added to the \examples/linux\_desktop/rpa\_python\ directory to demonstrate integrating RPA for Python with the Guara framework. This includes transaction modules (\setup.py\, \home.py\) for opening/closing applications and submitting text, a test script (\\_test\_rpa\_integration.py\) that uses pytest and the Page Transactions pattern, and a \README.md\ explaining the project structure and usage.
_examples/linux\_desktop/rpa\python · high confidence
Add Selenium Stealth integration example
Added a new example in \examples/web\_ui/selenium\_stealth\ that demonstrates how to integrate the \selenium-stealth\ library with Guará's Page Transactions pattern to automate browser interactions while evading bot detection. The example includes a test class (\TestSeleniumStealthIntegration\) that configures a headless Chrome driver with stealth settings (such as spoofing vendor and platform details) and uses Guará transactions to navigate and interact with a local web page, though the test is currently skipped in the pipeline due to failures.
_examples/web\_ui/helium, examples/web\_ui/selenium\_stealth, examples/web\_ui/undetected\chromedriver · high confidence
Add Selenium-based end-to-end tests for the Vagas pra mim example app
The \examples/web\_ui/selenium/advanced\ directory now includes a complete set of Python test files (\\_test\_real\_world.py\, \home.py\, \contact.py\, \info.py\, \setup.py\) and static HTML fixtures (\index.html\, \pt.html\, \narrow-search.html\, \wide-search.html\, \about.html\, \contact.html\) that demonstrate how to use the Guara framework to automate a job-search web application. These tests verify user flows such as navigating between pages, switching the interface language between English and Portuguese, and performing both restricted (AND) and expanded (OR) resume similarity searches.
_examples/web\ui/selenium/advanced · high confidence
Add Splinter-based web UI integration example
A new example demonstrating how to integrate the Splinter browser automation library with Guará's Page Transactions pattern has been added to the examples directory. This includes transaction definitions for opening and closing a headless Chrome browser, a test case that submits text to a local HTML page and verifies the output, and documentation explaining the setup and assertions.
_examples/web\ui/splinter · high confidence
Add Windows Calculator integration example using WinAppDriver
This change introduces a new example demonstrating how to integrate Guará's Page Transactions pattern with WinAppDriver to automate the Windows Calculator application. The addition includes a setup transaction to launch and close the app, a calculator transaction to perform addition operations, and a test suite that validates these interactions using Appium under the hood. This provides a concrete reference for users looking to implement desktop UI automation on Windows.
_examples/windows\desktop/winappdriver · high confidence
Add college student grade control modeling example
Introduces a new example application in \examples/modeling\ that simulates university grade control, demonstrating the use of ubiquitous language and the Guara framework. The example includes domain entities (Student, Course, Subject), application transactions (enrollment, grade addition), and a runner for behavior-driven scenarios, along with tests verifying GPA calculation, approval status, and student locking logic.
examples/modeling · high confidence
Add dogtail Linux desktop automation example
Added a new example in the \examples/linux\_desktop/dogtail\ directory demonstrating GUI automation on Linux using the Dogtail framework. This includes a README with setup instructions and context regarding Python version compatibility, along with test code that automates the GNOME Calculator to perform addition operations.
_examples/linux\desktop/dogtail · high confidence
Add dogtail-based calculator automation examples
New example files have been added to the linux\_desktop/dogtail/screens directory to demonstrate desktop UI automation using the dogtail library. These include a transaction to open and close the calculator application, a transaction to perform a sum operation by clicking buttons and pressing enter, and an assertion to verify that a calculated value is displayed on the screen.
_examples/linux\desktop/dogtail/screens · high confidence
Add sample HTML page for UI testing
A new sample HTML page has been added to the examples/web\_ui directory to serve as a sanity-check for the design. This page includes various interactive elements such as input fields, buttons, forms, links, an iframe, and a shadow DOM component, along with JavaScript functions for handling user interactions like alerts and prompts.
_examples/web\ui · high confidence
Added REST API testing example using Guara framework
A new example demonstrating how to test a REST API using the Guara framework has been added to the \examples/rest\_api\ directory. This includes an \echo\_api.py\ module defining GET and POST transactions against the Postman Echo service, a \test\_rest\_api.py\ script (referenced as \\_test\_api.py\ in the diff) implementing pytest-based test cases for these transactions, and a \README.md\ explaining the project structure and usage.
_examples/rest\api · high confidence
Added prototyping example demonstrating Page Transactions with PyScript
Added a new \examples/prototyping\ module containing a README and \\_\init\\_.py\ that introduces a To-Do list prototype. This example demonstrates the 'Page Transactions' pattern (based on the Command Pattern) using PyScript for the front-end and Guara for back-end logic, allowing users to experiment with transaction-based architecture and front-end integration.
examples/prototyping · high confidence
Initial release of Guara transaction automation framework
Guara version 0.0.26rc3 introduces a new framework for defining and executing automated browser transactions with support for undo/revert actions, retry policies, dry-run mode, and execution history replay. Users can define transaction contracts (pre/post-conditions), configure retry and pacing behavior via environment variables or policy dataclasses, and replay past executions from JSON logs using the new CLI 'replay' command.
guara · high confidence
Initial repository scaffolding and development tooling
The repository is initialized with the Guará Python framework, including the core source code under the guara/ directory and a comprehensive set of development and testing configurations. This includes a Makefile for standard workflows (install, test, lint), tox and pytest configurations for multi-version testing (Python 3.8–3.12) and linting, pre-commit hooks, and a mutation testing setup using cosmic-ray. Documentation is configured for Read the Docs, and the project includes a README, security policy, and steering instructions for maintainers.
(repo-wide) · high confidence
Introduce asynchronous transaction and assertion framework
The \guara/asynchronous\ package now provides a new API for executing web transactions asynchronously. Users can define custom transaction steps by subclassing \AbstractTransaction\ and chaining them via the \Application\ class using fluent methods like \at\, \when\, and \and\_\. The framework includes a built-in assertion system (\IAssertion\ and implementations in \it.py\) for validating transaction results, and supports dry-run modes for safe testing without driver interaction.
guara/asynchronous · high confidence
New AENA flight data crawler example added
Added a new Python example in the \examples/crawler\ directory that scrapes flight arrival data from the AENA (Spanish airport authority) website. The script uses Selenium for browser automation and BeautifulSoup for HTML parsing to collect flight details for a predefined list of Spanish airports, storing the results in a JSON file with a 5-day history retention policy.
examples/crawler · high confidence
New examples index and copyright header
Added a new README.md file that serves as an index for the examples directory, categorizing them into Development usage (modeling, prototyping, rest\_api) and Test Automation usage (crawler, linux\_desktop, mobile/appium, unit\_test, web\_ui, windows\desktop). Also added an \\init\\_.py file containing the MIT license copyright notice for the Guara project.
examples · high confidence
Test coverage
2 commits adding/updating tests in tests/performance; Added integration tests for application retry logic and natural language DSL; Added performance benchmarking tests for async and sync modes; Added unit tests for Guara transaction policies and application behavior.
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
How this codebase got here
This is the PUBLIC form of this artifact. Findings are listed in full, but the details of SECURITY findings — which rule fired, in which file, on which line, and how to fix it — are deliberately withheld, and any secret-scanner results are excluded entirely. Where detail is absent here it was REMOVED FOR PUBLICATION; it is not missing from the analysis. The complete artifact is available from the repository owner.
Score
- CAI 62 → 71 (+9.2)
- Rubric changed (rubric-2026.08.19 → rubric-2026.09.15) — scores are not directly comparable.
Lenses
- Code Health 99 → 97 (-2.3)
- Architecture 100 → 97 (-3.3)
- Maturity 70 → 72 (+1.5)
- Readiness 59 → 65 (+6.4)
- Security 52 → 68 (+15.7)
- Domain Modelling 100 (new)
Resolved (14)
- Coverage not included — suite not readable by the collector
- Dependency hygiene not measured — dependency manifest found but not parsed for hygiene
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- LLM evaluation failed
- No exposed public API
- Off-boarding risk: anonymized user #1
- Test reliability not included
- main.main (cognitive 17) (examples/domain_driven_design/main.py)
- main.main (cyclomatic 17) (examples/domain_driven_design/main.py)
New (27)
- Application.at (cognitive 46) (guara/transaction.py)
- Application.at (cyclomatic 29) (guara/transaction.py)
- Application.replay (cognitive 22) (guara/transaction.py)
- Dependency hygiene PARTLY measured — Python dependencies read, no exact pin to grade for currency
- Documentation: no installation or build instructions (README.md)
- Documentation: no installation or build instructions (examples/web_ui/arsenic/README.md)
- Documentation: no project overview (examples/web_ui/arsenic/README.md)
- Documentation: no usage examples (README.md)
- Duplicated block (21 lines × 3) (examples/web_ui/caqui/synchronous/setup.py)
- Duplicated block (5 lines × 3) (examples/web_ui/browserist/_test_browserist_integration.py)
- Duplicated block (7–9 lines × 2) (examples/web_ui/caqui/synchronous/_test_sync.py)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- …and 7 more
Changes since last survey
- 6 commits — 6 feature/other, 0 fixes
By area
- (root) — 3 commits
- .github/workflows — 1 commit
- docs/WHAT_IS_NEW.md — 1 commit
- tests/unit_test — 1 commit
Notable commits
- change: Add new features (#190)
- change: Bump version 0.0.26rc2 (#195)
- change: Bump version to release candidate (#194)
- change: Improve contract validation (#193)
- change: Improve contracts (#197)
- change: Update publish.yml
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
douglasdcm/guara was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.
About this page
- The score is its most recent published measurement, taken on 22 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit 5eeb5fe409b2743ffbeca28b1a239a62bab5cacf — the exact code this score is about.
- Scored under rubric-2026.09.15 — the same rubric and the same method as every other entry in this index.
- Measured by watchdog.canine.dev using codehealth-analyzer preprod-821afab8930d.