Metadata-Version: 2.5
Name: haze-agent
Version: 0.1.0
Summary: Haze -- pool your own machines into a private compute network
Project-URL: Homepage, https://github.com/CodeMaster747/Haze
Project-URL: Repository, https://github.com/CodeMaster747/Haze
Author: Rahul Akshath
License: MIT
Keywords: distributed-computing,lan,resource-sharing,self-hosted
Requires-Python: <3.14,>=3.12
Requires-Dist: aiosqlite>=0.20.0
Requires-Dist: cryptography>=50.0.1
Requires-Dist: fastapi>=0.115.0
Requires-Dist: psutil>=6.1.0
Requires-Dist: pydantic-settings>=2.6.0
Requires-Dist: pydantic>=2.9.0
Requires-Dist: sqlalchemy[asyncio]>=2.0.36
Requires-Dist: typer>=0.15.0
Requires-Dist: uvicorn[standard]>=0.32.0
Requires-Dist: zeroconf>=0.150.3
Provides-Extra: dev
Requires-Dist: httpx2>=2.12.0; extra == 'dev'
Requires-Dist: mypy>=1.13.0; extra == 'dev'
Requires-Dist: pytest-asyncio>=0.24.0; extra == 'dev'
Requires-Dist: pytest>=8.3.0; extra == 'dev'
Requires-Dist: ruff>=0.8.0; extra == 'dev'
Requires-Dist: types-psutil>=6.1.0; extra == 'dev'
Provides-Extra: nvidia
Requires-Dist: nvidia-ml-py>=12.560.30; extra == 'nvidia'
Description-Content-Type: text/markdown

# Haze — Node Agent

Pool your own machines into a private compute network. A weak laptop borrows a
desktop's GPU; a NAS lends its disks. You own every node, so there is no cloud
bill and no third party in the data path.

This package is the **Node Agent**: the process that runs on each machine. It
serves the Haze dashboard on `http://127.0.0.1:7433`, discovers and pairs with
your other machines over the LAN, reports live resources, and executes jobs
within limits you set.

## Install

```bash
uv tool install haze-agent     # or: pipx install haze-agent
haze up
```

The distribution is `haze-agent`; the command it installs is `haze`.

## Try it on one machine

```bash
haze devnet up -n 4 --open     # four agents with simulated hardware profiles
```

## Why the dashboard is served locally

A public HTTPS page can no longer reach a local agent: Safari hard-blocks it as
mixed content, and Chrome 142+ gates it behind a Local Network Access prompt
that Chrome 147 extended to WebSockets. Serving the UI from the agent's own
origin sidesteps all of it — the same choice Syncthing, Jellyfin, Home Assistant
and Ollama make.

Full documentation, architecture notes and the live demo:
**https://github.com/CodeMaster747/Haze**

MIT licensed.
