Cross-platform environment variable management for Python scripts without system pollution.
HedgeBuddy makes Python automation scripts easy to configure for DIT/Data Wrangling workflows using Hedge's software ecosystem (OffShoot, FoolCat, EditReady). It consists of two components:
hedgebuddy) - Dead-simple API for reading variables in your scriptsPerfect for DITs and script developers who automate OffShoot transfers, FoolCat reports, and EditReady transcoding without hardcoding paths, webhooks, or credentials.
Install Python 3.13+ (if not already installed)
brew install python or download from python.orgInstall the desktop app (download from Releases)
Install the Python library:
pip install --user hedgebuddy
Add your variables using the GUI, fill up the corresponding variables called in your scripts.
Run your scripts - they just work! ✨
import hedgebuddy
# Required variable (raises error if not configured)
api_key = hedgebuddy.var("API_KEY")
# Optional variable with fallback
api_url = hedgebuddy.var("API_URL", "https://api.example.com")
# Check if variable exists
if hedgebuddy.exists("PREMIUM_FEATURES"):
enable_premium()
# Get all variables as a dictionary
all_variables = hedgebuddy.all_vars()
# Inject into os.environ for legacy code (optional)
hedgebuddy.inject_env(overwrite=False)
That's it! No system environment pollution, no complex setup.
✅ Zero System Pollution - Variables stored locally, never touch system environment
✅ Cross-Platform - Works seamlessly on Windows and macOS
✅ Simple API - Just hedgebuddy.var("NAME") in your scripts
✅ Beautiful GUI - Modern desktop app for variable management
✅ Type Support - String, Path, URL, and Secure variable types
✅ Validation - Built-in path and URL validation
✅ Zero Friction - Scripts work immediately after variable configuration
┌─────────────────┐
│ Desktop App │ ← User manages variables via GUI
│ (Go + Wails) │
└────────┬────────┘
│
↓ Writes to
┌─────────────────┐
│ vars.json │ ← Local storage (no system pollution)
│ (AppData/ │
│ Library) │
└────────┬────────┘
│
↓ Reads from
┌─────────────────┐
│ Python Library │ ← Scripts call hedgebuddy.var()
│ (hedgebuddy) │
└─────────────────┘
Storage Locations:
%APPDATA%\hedgebuddy\vars.json~/Library/Application Support/hedgebuddy/vars.jsonhedgebuddy/
├── python-lib/ # Python library (published to PyPI)
│ ├── hedgebuddy/ # Core library code
│ ├── tests/ # Unit tests (95% coverage)
│ └── examples/ # Example scripts
├── go-app/ # Desktop GUI application (Wails)
│ ├── frontend/ # Svelte + TypeScript UI
│ └── backend/ # Go backend logic
├── website/ # Documentation website
└── docs/ # Additional documentation
Quick Links:
Additional Resources:
python-lib/README.mdhedgebuddy-wails/README.mdpython-lib/examples/Python 3.13 or higher is required. Check if you have Python installed:
python --version
If not installed, download from python.org or use your system's package manager.
pip install --user hedgebuddy
Verify:
python -c "import hedgebuddy; print('✓ HedgeBuddy ready!')"
Download the latest release for your platform:
cd python-lib
pip install --user -e .
pytest tests/ -v
cd go-app
wails dev
Build:
wails build
For Script Developers:
For End Users:
For Everyone:
MIT License - see LICENSE file
HedgeBuddy is an independent, open-source project. It is NOT affiliated with, endorsed by, or officially associated with Hedge (hedge.co) or its parent company. This software is provided "as is" without warranty of any kind. Use at your own risk.