Skip to main content

A web UI for managing macOS LaunchAgents -- create, edit, start, stop, and reload agents from your browser

Project description

Mac Agents Manager

A web UI for managing macOS LaunchAgents. Create, view, edit, start, stop, and reload user LaunchAgents from your browser.

Install

Option A: pip (recommended)

pip install mac-agents-manager-ai
mam

Then open http://localhost:8081.

Option B: Install as a LaunchAgent (auto-start on login)

cd ~/workspace
git clone https://github.com/pkasinathan/mac-agents-manager.git
cd mac-agents-manager
bash install.sh

This will:

  • Create a Python virtual environment in venv/
  • Install the package in editable mode
  • Generate and load a user-specific plist at ~/Library/LaunchAgents/user.productivity.mac_agents_manager.plist
  • Start the web app at http://localhost:8081

Option C: Run from source

git clone https://github.com/pkasinathan/mac-agents-manager.git
cd mac-agents-manager
python3 -m venv venv
source venv/bin/activate
pip install -e .
mam

Project Structure

src/mac_agents_manager/
    __init__.py         Package version
    app.py              Flask app and routes
    cli.py              CLI entry point (mam command)
    models.py           LaunchAgent parsing, serialization, and UI data
    launchctl.py        Thin wrapper around launchctl commands
    templates/          HTML templates
    static/             CSS styles
  • install.sh -- Creates venv, installs package, installs/loads LaunchAgent
  • start_mac_agents_manager.sh -- Start script used by the LaunchAgent
  • pyproject.toml -- Package metadata for PyPI

Common Commands

Unload / reload the app agent:

launchctl unload ~/Library/LaunchAgents/user.productivity.mac_agents_manager.plist
launchctl load   ~/Library/LaunchAgents/user.productivity.mac_agents_manager.plist

Or use the Makefile:

make stop
make start
make logs

Environment Variables

Variable Description
FLASK_DEBUG Set to 1 or true to enable Flask debug mode (default: off)
MAM_PORT Port to listen on (default: 8081)
MAM_LABEL_PREFIXES Comma-separated extra label prefixes to include (e.g. com.myorg.,com.acme.)

Security

This tool binds to 127.0.0.1 only and is designed for single-user, localhost use. See SECURITY.md for the full security model and vulnerability reporting instructions.

Development

git clone https://github.com/pkasinathan/mac-agents-manager.git
cd mac-agents-manager
python3 -m venv venv
source venv/bin/activate
pip install -e ".[dev]"
make lint
make test

Notes

  • Default port is 8081. Override with MAM_PORT env var.
  • If you move the project folder, re-run install.sh (it rebuilds the venv and refreshes the LaunchAgent paths).

License

Apache-2.0. See LICENSE for details.

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

mac_agents_manager_ai-1.0.0.tar.gz (29.0 kB view details)

Uploaded Source

Built Distribution

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

mac_agents_manager_ai-1.0.0-py3-none-any.whl (30.5 kB view details)

Uploaded Python 3

File details

Details for the file mac_agents_manager_ai-1.0.0.tar.gz.

File metadata

  • Download URL: mac_agents_manager_ai-1.0.0.tar.gz
  • Upload date:
  • Size: 29.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for mac_agents_manager_ai-1.0.0.tar.gz
Algorithm Hash digest
SHA256 757fc7225ca44f853df5bc0890112682bbbff8bba5620b8908a608483e7ed7b2
MD5 67d4243ae7914ec42f6ae4b40088324a
BLAKE2b-256 30dc07e5ad99aec4465e208bee8895aee6990636735d9916b25de682a198f318

See more details on using hashes here.

File details

Details for the file mac_agents_manager_ai-1.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for mac_agents_manager_ai-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1c22e27439d4f22a59c16fd94dcbc29d3993c3b5395e2e391b863b0e2152ffd7
MD5 eade8ded4abc1e2943fcfaa756c1f4d7
BLAKE2b-256 65b8f6ff2e5ad31fc9545f17dca5cf2121d87cc314b7acafb2068f4302fcb579

See more details on using hashes here.

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