Skip to main content

A developer-friendly process manager and supervisor for Hivemind workspaces

Project description

Hivemind Manager

Hivemind Manager (hm) is a developer-focused process manager built on top of Hivemind.

It provides service discovery, dependency management, supervision, automatic restarts, log management, and project-aware workflows for local development environments.

Instead of manually managing multiple Hivemind processes, hm treats your workspace as a collection of services and provides a unified CLI for operating them.


Features

  • Automatic discovery of *.hm service definitions
  • Project-aware workspace detection
  • Dependency resolution via # depends_on:
  • Supervisor process with automatic restart backoff
  • PID tracking and process lifecycle management
  • Orphaned process cleanup
  • Multi-service log management
  • Execution-based log rotation
  • Project-local configuration via pyproject.toml
  • Works from any subdirectory inside a project
  • Lightweight and Hivemind-compatible

Installation

From PyPI

pip install hivemind-manager==0.1.0

From Source

git clone git@github.com:dhruv13x/hivemind-manager.git
cd hivemind-manager
pip install -e .

Requirements

  • Python 3.8+
  • Hivemind installed and available on PATH

Verify installation:

hivemind --version

Quick Start

Inside your project:

hm init

This creates a project configuration:

[tool.hm]
home_dir = "hm"
preserve_logs = true
max_log_history = 5
max_log_size_mb = 0

Then start services:

hm up

Check status:

hm ps

Stop everything:

hm down

Service Definitions

Services are defined using standard Hivemind files.

Example: infra.hm

api: uvicorn app.main:app --host 0.0.0.0 --port 8000
worker: python -m app.worker

Example: transfer.hm

# depends_on: infra
transfer_bot: python -m services.transfer_bot.main

Dependency Management

Dependencies are declared using comments:

# depends_on: infra

When starting:

hm start transfer

hm automatically starts:

infra
└── transfer

if the dependency is not already running.


Project Discovery

hm automatically discovers project roots using:

  1. HM_PROJECT_ROOT
  2. pyproject.toml containing [tool.hm]
  3. .hm service definitions
  4. Current working directory

Commands work from anywhere inside the project:

cd scripts/dev
hm ps
hm start infra
hm logs transfer

Commands

Initialize Project

hm init

Create project configuration and HM workspace.

List Services

hm list

Example:

Detected services:

✓ infra
✓ transfer
✓ bypass
✓ uab

Show Status

hm ps

Example:

SERVICE         STATUS
----------------------
infra           running
transfer        running
uab             stopped

Start Service

hm start infra

Without log following:

hm start infra --no-follow

Stop Service

hm stop infra

Restart Service

hm restart infra

Without log following:

hm restart infra --no-follow

View Logs

hm logs infra

hm uses Inode-aware tailing, meaning the log stream persists across service restarts and rotations. You don't need to re-run the command when a service cycles.

Start All Services

hm up

Stop All Services

hm down

Diagnostics

hm doctor

Example:

Project Root : /workspace/bot_platform
HM Home      : /workspace/bot_platform/hm
Config File  : /workspace/bot_platform/pyproject.toml
Hivemind Bin : /usr/local/bin/hivemind

Log Management

Each service receives:

hm/
├── infra.log
├── infra.log.1
├── infra.log.2
├── infra.pid

Execution-based rotation preserves previous runs:

  • infra.log — current execution
  • infra.log.1 — previous execution
  • infra.log.2 — older execution

This makes debugging service restarts straightforward.


Configuration

Project configuration lives in pyproject.toml:

[tool.hm]
home_dir = "hm"
preserve_logs = true
max_log_history = 5
max_log_size_mb = 0
Option Description
home_dir Directory used for logs and PID files
preserve_logs Preserve previous execution logs
max_log_history Number of historical logs to keep
max_log_size_mb Size-based rotation threshold (0 disables)

Environment Variables

Override configuration via environment:

Variable Purpose
HM_PROJECT_ROOT Override project root detection
HM_HOME_DIR Override logs/PID directory
HM_HIVEMIND_BIN Override Hivemind binary path

Why Hivemind Manager?

Hivemind excels at running processes.

Hivemind Manager adds:

  • Service-level supervision
  • Dependency resolution
  • Project discovery
  • Log history
  • Process cleanup
  • Workspace-aware workflows

without replacing Hivemind itself.


License

MIT License
Copyright (c) dhruv13x

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hivemind_manager-4.1.0.tar.gz (22.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

hivemind_manager-4.1.0-py3-none-any.whl (18.4 kB view details)

Uploaded Python 3

File details

Details for the file hivemind_manager-4.1.0.tar.gz.

File metadata

  • Download URL: hivemind_manager-4.1.0.tar.gz
  • Upload date:
  • Size: 22.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for hivemind_manager-4.1.0.tar.gz
Algorithm Hash digest
SHA256 d0626da015c3f8f4e1463c43ebadd31dcbeef9d16ce9883116c4d46153548060
MD5 70036dc394da428f5b877e203b5e2867
BLAKE2b-256 235e13ab98cee45af2ff4348546b5f0c81ea4c78a5b8f51bc89110e2b7929219

See more details on using hashes here.

Provenance

The following attestation bundles were made for hivemind_manager-4.1.0.tar.gz:

Publisher: publish.yml on dhruv13x/hivemind-manager

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hivemind_manager-4.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for hivemind_manager-4.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7f9d57d3fb97c6eb0b1bb71c618b32d1a6bb2d6d343e4af794942b394dab2e33
MD5 808d269602b92aa9b607d5c833bf39c0
BLAKE2b-256 055b28c5cad61cd78455c7ec28fcf94e6984c1f4fbe04713dbd824aabc5799e5

See more details on using hashes here.

Provenance

The following attestation bundles were made for hivemind_manager-4.1.0-py3-none-any.whl:

Publisher: publish.yml on dhruv13x/hivemind-manager

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page