Metadata-Version: 2.4
Name: codecraftai-uia
Version: 1.5.0
Summary: The Code Craft AI - User Interface Automation Package
License-Expression: LicenseRef-CodeCraftAI-Source-Available
License-File: LICENSE.md
Keywords: python
Author: Myron Walker
Author-email: myron.walker@gmail.com
Requires-Python: >=3.10,<4.0
Classifier: Programming Language :: Python :: 3
Classifier: Operating System :: MacOS :: MacOS X
Requires-Dist: codecraftai-arcli (<2.0.0)
Requires-Dist: codecraftai-credentials (<2.0.0)
Requires-Dist: codecraftai-foundations (<2.0.0)
Requires-Dist: codecraftai-this-app (<2.0.0)
Requires-Dist: pygobject (>=3.42.0,<4.0.0) ; sys_platform == "linux"
Requires-Dist: pyobjc-core (>=11.1,<12.0.0) ; sys_platform == "darwin"
Requires-Dist: pyobjc-framework-applicationservices (>=11.1,<12.0.0) ; sys_platform == "darwin"
Requires-Dist: pyobjc-framework-cocoa (>=11.1,<12.0.0) ; sys_platform == "darwin"
Requires-Dist: pyobjc-framework-scriptingbridge (>=11.1,<12.0.0) ; sys_platform == "darwin"
Requires-Dist: python-xlib (>=0.33,<0.34.0) ; sys_platform == "linux"
Requires-Dist: pywin32 (==310) ; sys_platform == "win32"
Requires-Dist: pyyaml (>=6.0.1,<7.0.0)
Requires-Dist: uiautomation (==2.0.28) ; sys_platform == "win32"
Project-URL: Issues, https://github.com/code-craft-ai-company/codecraftai-uia/issues
Project-URL: Repository, https://github.com/code-craft-ai-company/codecraftai-uia
Description-Content-Type: text/x-rst

=======================
Code Craft AI UIA
=======================

The ``codecraftai-uia`` package provides cross-platform (Linux, Windows, macOS) user-interface automation capabilities. The code attempts to consolidate the UI patterns of multiple operating systems into a common object model that scripts can use to automate application user interfaces.

Highlights
==========

- Platform backends under ``uia/platforms/`` for macOS, Linux, and Windows.
- Common object model under ``uia/model/`` for applications, windows, and UI elements.
- Support utilities under ``uia/support/`` including Linux-specific helpers.
- CLI command tree under ``uia/cli/cmdtree/`` for operator-style interaction.
- Designed for consumption by higher-level testing frameworks with a focus on debuggability and clarity.

Repository Structure
====================

- ``development/`` - Runtime environment scripts.
- ``repository-setup/`` - Repository homing and setup scripts.
- ``source/packages/`` - Package source code.
- ``source/testroots/ccai/`` - TestBase test roots, factories, and shared fixtures.
- ``source/examples/`` - Example usage scripts.
- ``specs/`` - Scope, API, and design documentation.
- ``userguide/`` - Standards, conventions, and documentation.

Environment Setup
=================

When working in a Codex container:

.. code-block:: bash

   ./development/setup-agent-container

For local development:

.. code-block:: bash

   ./repository-setup/rehome-repository
   ./development/setup-envrionment

Running Tests
=============

Activate the virtual environment:

.. code-block:: bash

   source .venv/bin/activate

Run the single-host test suite:

.. code-block:: bash

   testbase testing run --root source/testroots/ccai --includes=ccai.tests.singlehost.uia --output=./.output

Standards and Conventions
=========================

- Naming conventions: ``userguide/10-02-naming-conventions.rst``
- Code organization: ``userguide/10-01-code-organization.rst``
- Coding standards: ``userguide/10-00-coding-standards.rst``

Additional Resources
====================

- User guide entry point: ``userguide/userguide.rst``
- Scope: ``specs/01-scope.md``
- API: ``specs/02-api.md``
- Test matrix: ``specs/03-test-matrix.md``

