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.0.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.0-py3-none-any.whl (33.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: mac_agents_manager_ai-1.1.0.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.0.tar.gz
Algorithm Hash digest
SHA256 2fa46eec3fd3df7ee2cd89b272001c105231a3a1c96ce33e9ed8d50bcde15286
MD5 7383f52361c47ceb64fa12f6ef0d1626
BLAKE2b-256 b4e6ad473023602df20082e812a3b6aa1be45972171490a01c59146b377be899

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mac_agents_manager_ai-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3bc2146728ec9d27978fbb313d19746b5f1c161a105152d49ef74bac63eb738d
MD5 910acc87f4a4c1d56ee166d9df3aaf8b
BLAKE2b-256 749951c8d30a0a2312b467b37d734b12538db24d020159cf08de35c096441290

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