Metadata-Version: 2.5
Name: molaboard-worker
Version: 0.1.0
Summary: The MolaBoard compute worker: an outbound-only daemon that turns deployments into running services on your box
Project-URL: Homepage, https://github.com/MolaLabs/molaboard-worker
Project-URL: Repository, https://github.com/MolaLabs/molaboard-worker
Project-URL: Issues, https://github.com/MolaLabs/molaboard-worker/issues
Author: MolaLabs
License-Expression: Apache-2.0
License-File: LICENSE
Keywords: deployment,mlops,model-serving,molaboard
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Requires-Python: >=3.11
Requires-Dist: httpx>=0.27
Requires-Dist: loguru>=0.7
Requires-Dist: psutil>=5.9
Requires-Dist: pydantic>=2.7
Requires-Dist: websockets>=13.0
Provides-Extra: dev
Requires-Dist: import-linter>=2.0; extra == 'dev'
Requires-Dist: mypy>=1.11; extra == 'dev'
Requires-Dist: pytest-asyncio>=0.24; extra == 'dev'
Requires-Dist: pytest>=8.0; extra == 'dev'
Requires-Dist: ruff>=0.8; extra == 'dev'
Provides-Extra: gpu
Requires-Dist: nvidia-ml-py>=12; extra == 'gpu'
Description-Content-Type: text/markdown

# molaboard-worker

## Local development

**`molaboard` isn't on PyPI yet.** Deployment env builds (`uv pip install` of the
backend-composed requirement set) will fail with *"molaboard was not found in the
package registry"* unless you tell uv where it lives. Drop uv `--override` lines
into `<agent-home>/pip-overrides.txt` (default
`~/.config/molaboard-worker/pip-overrides.txt`), sourcing the SDK from the private
repo the same way molaboard-examples' Makefile does:

```
molaboard @ git+ssh://git@github.com/MolaLabs/molaboard-sdk.git@<ref>
```

Pick a ref that contains `molaboard.serve` — deployments import it — and
`molaboard.pipeline.entry`, which is the module every pipeline run's child
process is launched as. While those only exist on an unpushed branch, point at
the local worktree instead:

```
molaboard @ file:///path/to/molaboard-sdk-serve
```

While the file exists the agent warns on every deploy and keys the affected envs
with an `-ovr-<digest>` suffix, so overridden envs are never mistaken for
pristine ones and editing/removing the file rebuilds cleanly. Delete the file
once the SDK is published.

Serving deployments and pipeline runs share one env cache (`<agent-home>/envs`,
keyed by requirement-set hash), so the overrides above apply to both — and a run
whose requirement set matches a running deployment reuses that venv as is.
