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.1.tar.gz (29.2 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.1-py3-none-any.whl (30.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: mac_agents_manager_ai-1.0.1.tar.gz
  • Upload date:
  • Size: 29.2 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.1.tar.gz
Algorithm Hash digest
SHA256 521b5f846de61c5c103367a15c722cdff69d95806f1a21820592dfa47961e950
MD5 1508267e50d61383602f4b349934efd3
BLAKE2b-256 84e1014646cf8c9db4202855749156efe03b5ff78c09b10936fc90d93880d60a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mac_agents_manager_ai-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 2ead0fb0b86e8b0626d71424a8cd5960b37db9f09cace82fbcf7ca6f115a2d5a
MD5 0fcd1b15723a019faa1f20baca2231f1
BLAKE2b-256 cad739e86db9309f2af6746e4b047a69546b0e8c686b60c72df71446513ec747

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