Metadata-Version: 2.4
Name: pidgen-worker
Version: 2.11.0b1
Summary: Pidgen workstation runtime for autonomous software delivery
Author: Stephen Rhoades
License-Expression: LicenseRef-Pidgen-EULA
Keywords: pidgen,agents,automation,software-delivery
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Operating System :: MacOS :: MacOS X
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Requires-Python: <3.15,>=3.12
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: aiohttp>=3.9
Requires-Dist: claude-agent-sdk==0.2.157
Requires-Dist: cryptography<49; sys_platform == "darwin" and platform_machine == "x86_64"
Requires-Dist: httpx>=0.27
Requires-Dist: jsonschema>=4.23
Requires-Dist: mcp==1.30.0
Requires-Dist: openai-codex==0.162.1
Requires-Dist: pillow>=12.0
Requires-Dist: pydantic>=2.0
Requires-Dist: python-dotenv>=1.0
Requires-Dist: pyyaml>=6.0
Requires-Dist: ruamel.yaml>=0.18
Requires-Dist: uvicorn==0.53.0
Provides-Extra: dev
Requires-Dist: mypy>=1.10; extra == "dev"
Requires-Dist: pytest>=8.0; extra == "dev"
Requires-Dist: pytest-cov>=5.0; extra == "dev"
Requires-Dist: pytest-xdist>=3.6; extra == "dev"
Requires-Dist: ruff>=0.5; extra == "dev"
Requires-Dist: twine>=6.1; extra == "dev"
Dynamic: license-file

# Pidgen worker

`pidgen-worker` runs Pidgen work on a machine you control. It connects
out to your Pidgen App Service, claims the Account's tickets that this machine can run, drives
the coding agents installed here (Claude Code, Codex, Pi) inside isolated workspaces, and
reports progress and results back. It opens no inbound port.

Pidgen has three parts, each with its own name:

| Part | What it is | Installed as | Command |
| --- | --- | --- | --- |
| Pidgen CLI | The command-line controller; installs and runs the worker for you | npm package `pidgen` | `pidgen` |
| Pidgen worker | This package: the process that runs work on your machine | PyPI distribution `pidgen-worker` | `pidgen-worker` |
| App Service | Where Accounts, Projects and tickets live | hosted | |

## Requirements

- **Linux** x86_64 or aarch64 (glibc 2.28 or newer), or **macOS 11** or newer on Apple
  silicon or Intel.
- **CPython 3.12, 3.13 or 3.14.** The worker is published as compiled wheels only, one per
  interpreter and platform; there is no source distribution.
- **Git** 2.25 or newer, **Node.js** 22.19 or newer and **npm** 10 or newer.
- At least one coding agent installed and signed in: Claude Code, Codex or Pi.
- An enrollment token from your Pidgen App Service's **Workers** page.

## Install and enroll

If you use the Pidgen CLI, `pidgen worker enroll` installs, enrolls and manages the worker
for you. To install it directly, use the version series your App Service shows on its Workers
page; the worker's `major.minor` is the protocol it speaks:

```console
uv tool install "pidgen-worker~=2.11.0"
pidgen-worker enroll --server https://your-pidgen-service.example --token <enrollment-token>
pidgen-worker doctor
```

`enroll` exchanges the one-time token for the worker's credential, writes the worker's
configuration, runs the self-check and starts the worker in the background. Afterwards:

| Command | What it does |
| --- | --- |
| `pidgen-worker doctor` | Check this machine: tools, configuration, coding agent logins |
| `pidgen-worker node start` / `stop` / `restart` | Start or stop the worker |
| `pidgen-worker capacity show` | Show how many sessions each coding agent may run |
| `pidgen-worker --help` | Everything else |

Configuration and state live in `~/.pidgen`, or the directory named by `PIDGEN_HOME`.

## Upgrading

Install the newest release of your App Service's series and restart:

```console
uv tool upgrade pidgen-worker
pidgen-worker node restart
```

## Support

When reporting a problem, include the output of `pidgen-worker --version` and
`pidgen-worker doctor`, and the full error output.

## Licence

`pidgen-worker` is proprietary software licensed under the Pidgen Worker End-User Licence
Agreement, included in the package. Installing it accepts that agreement.

## Developing the worker

Contributors with access to the source: `docs/development/README.md`,
`docs/development/building.md` and `docs/development/protocol-and-repository-notes.md`.
