
A powerful, modern Python tool for managing, scheduling, and executing Python scripts and projects with ease.
Python 3.13+ License: MIT Built with uv
✨ What is PEM?
PEM is your all-in-one solution for Python execution management. Whether you're running one-off scripts, managing complex projects, or scheduling automated tasks, PEM makes it simple and reliable.
🎯 Perfect for:
DevOps Engineers managing deployment scripts and automation
Data Scientists running scheduled data processing jobs
Python Developers organizing and executing multiple projects
System Administrators automating maintenance tasks
Anyone who needs reliable Python script execution with logging
🌟 Key Features
📋 Job Management
Two Job Types: Handle both standalone scripts and full Python projects
Dependency Management: Automatically install and manage script dependencies using uv
Smart Execution: Uses uv run for fast, isolated script execution
Project Support: Full support for Python projects with virtual environments
⏰ Flexible Scheduling
Multiple Schedule Types:
once - Run at a specific date/time
interval - Run every X seconds/minutes/hours/days
cron - Use cron expressions for complex schedules
until_done - Keep retrying until the job succeeds
Background Execution: All scheduled jobs run in the background
Persistent Storage: Schedules survive system restarts
📊 Comprehensive Logging & Tracking
Detailed Logs: Every execution is logged with timestamps and output
Execution History: Track all job runs with status, exit codes, and timing
SQLite Database: Local storage for jobs, schedules, and execution history
Real-time Status: See what's running, what succeeded, and what failed
🛠 Developer-Friendly CLI
Intuitive Commands: Simple, memorable command structure
Rich Output: Colored terminal output with emojis for better UX
Flexible Options: Extensive command-line options for all use cases
Built with Typer: Modern, type-safe CLI framework
pythonuvcli-tooldeveloper-toolpython