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.1.1.tar.gz (31.8 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.1.1-py3-none-any.whl (33.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: mac_agents_manager_ai-1.1.1.tar.gz
  • Upload date:
  • Size: 31.8 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.1.1.tar.gz
Algorithm Hash digest
SHA256 45f34509440340a644fec0904e3700765edbe773031e5300faecdaa0a77c7828
MD5 e50396eeac9a3c21f6fe3d66beb9fb39
BLAKE2b-256 cb17e4334e939a43e9940d05078614b990035367ca4cd07371965e0604901af2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mac_agents_manager_ai-1.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f279f64bc884965f46f3f8d7e07ba15de8f1eb33377919f1a3c7ec60f17b2adb
MD5 2f6793f916a2195e2893aa94e7782e5f
BLAKE2b-256 d5a233a3338333a8f0e9716790c999ef951622531b8ed8d554e8e8e3d15f6fd8

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