Skip to content

kamv23/Mac-Python-Launcher

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 

Repository files navigation

Python Launcher (macOS)

Run and manage your Python scripts from a polished macOS app. Flip iOS-style toggles to start/stop scripts, watch live logs, and install packages with one click. The DMG includes everything it needs — no separate Java install.

🎯 What this is

A desktop control panel for your Python scripts. Point the app at a base folder once, and it will organize an optional portable Python, an isolated site-packages area, and a scripts folder. Every .py file you drop in shows up as a toggle you can turn on or off.

💡 Why you might want it • ✅ Prefer a friendly UI to start/stop multiple scripts • ✅ Want each project’s packages isolated from your global Python • ✅ Need a live console to see output and type input • ✅ Your scripts sometimes launch other scripts and you want the UI to stay in sync

🔑 Core features • iOS-style ON/OFF toggles for every script in the scripts folder (green = running, red = stopped) • Live console: realtime stdout and stderr, with input to the active process • Graceful start/stop that terminates the whole process tree (no orphaned Python processes) • External-launch awareness: a background ScriptScanner detects scripts started by other scripts and auto-syncs the toggles • One-click package management: “Install Packages…” or “Install requirements…” places dependencies into python/imports, kept separate from user site-packages • Optional portable Python: “Download Python…” pulls a self-contained Python 3 into python/ and sets it as the interpreter for this app only • Cross-platform JAR for developers who prefer to run it with their own Java runtime

🧭 How it works (at a glance) • Your base folder (chosen on first launch) becomes the app’s home • Inside it, you’ll see: • python/ (optional portable interpreter) • python/imports/ (isolated site-packages) • scripts/ (drop .py files here; they appear as toggles) • The app sets PYTHONPATH to python/imports and disables user site-packages, so your managed dependencies take precedence • Start/Stop controls manage the full process tree to avoid zombies and port leaks

🛠️ Typical workflows • Simple script runner: drop a few utilities into scripts, toggle on/off as needed, watch logs in the console • Small service host: run a couple of long-lived scripts (APIs, bots, watchers) with clean shutdowns • Repeatable environments: install requirements into python/imports and optionally ship a portable interpreter in python/

🖥️ Requirements • DMG app: macOS 12 or newer on Apple Silicon (arm64). No Java required. Note: this DMG is arm64-only. Intel Macs should use the JAR. • JAR: Java 25 or newer (built with OpenJDK 25). For broader compatibility, rebuild targeting release 17.

🚀 Quick start 1. Install the DMG, then open the app 2. Click Choose Base Folder — the app creates python/, python/imports/, and scripts/ 3. Drop your .py files into scripts — they appear with toggles 4. Optional: set Python… to your interpreter, or use Download Python… to install a portable one into python/ 5. Optional: use Install Packages… or Install requirements… to populate python/imports 6. Toggle ON to run a script. Use Stop to end it. Watch logs in the console

⚠️ Limitations • The scanner does not map python -m or python -c invocations to a specific .py file • If a script daemonizes in unusual ways, it may not be associated back to the right file • The included DMG is arm64 only

🧯 Troubleshooting quick hits • App won’t open (unsigned): Right-click the app → Open → Open again • Imports not found: packages install into python/imports; the app sets PYTHONPATH and disables user site-packages • High CPU: common BLAS thread env vars are capped per process; tune inside your script if needed • JAR won’t run: ensure java -version is 25 or newer, or rebuild targeting release 17

📦 Project status

Version 1.0.0. New in this release: animated iOS-style toggles, interactive console, isolated package installs, ScriptScanner for external launches, and DMG packaging with a bundled runtime.

About

No description or website provided.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages