Skip to content

System Utilities

Configure application logging with sensible defaults:

from utils.system import set_logger
# Basic setup
logger = set_logger()
# Custom configuration
logger = set_logger(
level="DEBUG",
format="json",
output="file",
filename="app.log"
)
from utils.system import env
# Get environment variables
database_url = env.get("DATABASE_URL")
# Get with type conversion
port = env.get_int("PORT", default=8000)
debug = env.get_bool("DEBUG", default=False)
# Required variables
api_key = env.require("API_KEY")
from utils.system import ProcessManager
# Start background process
with ProcessManager() as pm:
process = pm.start_process("my_script.py")
# Monitor process
is_running = process.is_alive()
# Graceful shutdown
process.terminate()
from utils.system import FileManager
# Safe file operations
with FileManager() as fm:
# Atomic write
fm.atomic_write("config.json", '{"setting": "value"}')
# Secure read
content = fm.secure_read("sensitive.txt")
  • Add process pool management
  • Document signal handling
  • Add file watching utilities
  • Include system metrics collection
  • Document cleanup handlers
  • Add Windows-specific features