Sweatpants
Lazy man's automation engine. Easily create structured, composable workflows.
Sweatpants Documentation
Server-side automation engine for long-running tasks. Overview Sweatpants is a server-side Python engine for repeatable, long-running automation tasks. Write modules...
Changelog
All notable changes to Sweatpants are documented in this file. [0.4.4] - 2026-02-17 Added POST /modules/reload endpoint for hot-reloading modules...
Configuration
Sweatpants is configured via environment variables with the SWEATPANTS_ prefix. Environment Variables Directories Variable Default Description SWEATPANTS_DATA_DIR /var/lib/sweatpants Data directory...
REST API
FastAPI REST API exposed by the Sweatpants daemon on port 8420. Status GET /status Get engine status and running jobs....
CLI Commands
Command-line interface for the Sweatpants automation engine. serve Start the Sweatpants daemon. sweatpants serve [OPTIONS] Options: --host, -h — API...
Job Scheduler
Async job execution engine that manages module runs, checkpoints, and lifecycle. JobContext Context object passed to running modules providing logging...
Module Loader
Handles module installation, loading, and management. ModuleManifest Pydantic model for module.json validation. class ModuleManifest(BaseModel): id: str name: str version: str...
Browser Pool
Playwright browser pool with automatic proxy integration and lifecycle management. Import from sweatpants import get_browser get_browser @asynccontextmanager async def get_browser(...
Module Manifest
The module.json file defines a module's metadata, inputs, settings, and capabilities. Schema { "id": "string (required)", "name": "string (required)", "version":...
Module Class
Base class for all Sweatpants automation modules. Import from sweatpants import Module Overview Modules must subclass Module and implement the...
Proxy Client
HTTP client with rotating proxy support. Import from sweatpants import proxied_request proxied_request async def proxied_request( method: str, url: str, *,...