Metadata-Version: 2.4
Name: hexaqueue
Version: 0.8.3
Summary: Hexaqueue - Cloud-Agnostic HPC Batch Scheduler and Distributed Job Orchestrator
Author: Richard West
Author-email: Richard West <dopplereffect.us@gmail.com>
License-Expression: Apache-2.0
Requires-Dist: hexaqueue-cli
Requires-Dist: hexaqueue-collateral
Requires-Dist: hexaqueue-core
Requires-Dist: hexaqueue-dashboard
Requires-Dist: hexaqueue-github-runner
Requires-Dist: hexaqueue-gitlab-runner
Requires-Dist: hexaqueue-kueue
Requires-Dist: hexaqueue-monitor
Requires-Dist: hexaqueue-scanner
Requires-Dist: hexaqueue-server
Requires-Dist: hexaqueue-worker
Requires-Dist: hexaqueue-workflow
Requires-Dist: pytest-hexaqueue
Requires-Dist: hexaqueue-core[dotenv] ; extra == 'dotenv'
Requires-Dist: hexaqueue-server[github] ; extra == 'github'
Requires-Dist: pytest-hexaqueue ; extra == 'pytest'
Requires-Dist: hexaqueue-worker[sentry] ; extra == 'sentry'
Requires-Python: >=3.12
Provides-Extra: dotenv
Provides-Extra: github
Provides-Extra: pytest
Provides-Extra: sentry
Description-Content-Type: text/markdown

# ⚡ `hexaqueue` (Umbrella Metapackage)

> Unified distribution providing turnkey installation and multi-component orchestration for Hexaqueue.

[![PyPI: hexaqueue](https://img.shields.io/pypi/v/hexaqueue.svg)](https://pypi.org/project/hexaqueue/)
[![Python 3.12+](https://img.shields.io/badge/python-3.12+-blue.svg)](https://www.python.org/downloads/)
[![Coverage](https://codecov.io/github/TheTrueSCU/hexaqueue/graph/badge.svg?component=hexaqueue)](https://codecov.io/github/TheTrueSCU/hexaqueue)
[![Part of Hexaqueue](https://img.shields.io/badge/part%20of-hexaqueue-blue.svg)](https://dopplereffect.us/hexaqueue/)
[![Built with Hexastack](https://img.shields.io/badge/built%20with-hexastack-blueviolet.svg)](https://dopplereffect.us/hexastack/)
[![Governed by Hexaqual](https://img.shields.io/badge/governed%20by-hexaqual-10b981.svg)](https://dopplereffect.us/hexaqual/)
[![License: Apache 2.0](https://img.shields.io/badge/license-Apache%202.0-blue.svg)](../../LICENSE)

> Part of the [**Hexaqueue Scheduler**](https://dopplereffect.us/hexaqueue/) · Built on [**Hexastack**](https://dopplereffect.us/hexastack/) · Governed by [**Hexaqual**](https://dopplereffect.us/hexaqual/).

---

## 🏗️ Architecture & Dependencies

```mermaid
graph TD
    subgraph S1["hexaqueue (Umbrella Metapackage)"]
        META["hexaqueue[all]"]
    end

    subgraph S2["Hexaqueue Workspace Packages"]
        HQ_CLI["hexaqueue-cli"]
        HQ_COLLATERAL["hexaqueue-collateral"]
        HQ_CORE["hexaqueue-core"]
        HQ_DASHBOARD["hexaqueue-dashboard"]
        HQ_GITHUB["hexaqueue-github-runner"]
        HQ_GITLAB["hexaqueue-gitlab-runner"]
        HQ_KUEUE["hexaqueue-kueue"]
        HQ_MONITOR["hexaqueue-monitor"]
        HQ_SCANNER["hexaqueue-scanner"]
        HQ_SERVER["hexaqueue-server"]
        HQ_WORKER["hexaqueue-worker"]
        HQ_WORKFLOW["hexaqueue-workflow"]
    end

    META --> HQ_CLI
    META --> HQ_COLLATERAL
    META --> HQ_CORE
    META --> HQ_DASHBOARD
    META --> HQ_GITHUB
    META --> HQ_GITLAB
    META --> HQ_KUEUE
    META --> HQ_MONITOR
    META --> HQ_SCANNER
    META --> HQ_SERVER
    META --> HQ_WORKER
    META --> HQ_WORKFLOW
```

---

## 🚀 Installation & Extras

Install the unified distribution:

```bash
# Core umbrella with default runner bridges
pip install hexaqueue

# With GitHub Actions dynamic runner autoscaler
pip install hexaqueue[github]

# With Sentry observability integrations
pip install hexaqueue[sentry]
```

---

## 💻 Namespace Usage

The umbrella package discovers and exposes installed subpackages dynamically under the top-level `hexaqueue` namespace:

```python
import hexaqueue

# Core scheduling primitives and domain models
from hexaqueue.core.domain.job import JobSpec
from hexaqueue.core.domain.resources import ResourceRequirements

# GitHub Actions runner autoscaler & webhook adapter
from hexaqueue.github_runner import (
    DynamicGitHubRunnerAutoscaler,
    GitHubWebhookAdapter,
    LabelTranslator,
)

# Interactive CLI entrypoint
from hexaqueue.cli.main import app as cli_app
```
