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

Start all and follow combined logs:

hm up --follow

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-5.0.0.tar.gz (23.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-5.0.0-py3-none-any.whl (18.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: hivemind_manager-5.0.0.tar.gz
  • Upload date:
  • Size: 23.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-5.0.0.tar.gz
Algorithm Hash digest
SHA256 9391b97c82b8961904a20eadb3601e5bbbb12bcf197a6bcc1795d306bcd48021
MD5 2383951263da163114719d45c44c7814
BLAKE2b-256 739b00161c124016ff3418b12f7739da96ced923c6ee9bd18ab72794378811c5

See more details on using hashes here.

Provenance

The following attestation bundles were made for hivemind_manager-5.0.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-5.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for hivemind_manager-5.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 34c6f103111c9a34b30d455e1727673b797e1589245562309a784946190930cc
MD5 4424d9b310e3011047b0f9340cc41ea0
BLAKE2b-256 ec8cda17cdfb39ae0b56010cfbd900e2219c2fbb1dc6ced28d69ee516c32eb10

See more details on using hashes here.

Provenance

The following attestation bundles were made for hivemind_manager-5.0.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