2fff895a7399fae97c135f98c97a53cb7c946afb
- Simplify supervisor.sh following TigerBeetle pattern - Remove complex functions, use simple while loop - Add || sleep 600 for resilience against crashes - Use git switch --discard-changes for clean updates - Run pipelines every hour (SQLMesh handles scheduling) - Use POSIX sh instead of bash - Remove /repo subdirectory nesting - Repository clones directly to /opt/materia - Simpler paths throughout - Move systemd service to repo - Bootstrap copies from repo instead of hardcoding - Service can be updated via git pull - Automate bootstrap in CI/CD - deploy:supervisor now auto-bootstraps on first deploy - Waits for SSH to be ready (retry loop) - Injects secrets via SSH environment - Idempotent: detects if already bootstrapped Result: Push to master and supervisor "just works" 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
Materia Environment Setup
We use uv as our Python package manager for faster, more reliable dependency management.
https://docs.astral.sh/uv/
We recommend using vscode as your IDE. https://code.visualstudio.com/
1. Install UV
curl -LsSf https://astral.sh/uv/install.sh | sh
2. Setup the env
Simply run:
uv sync
This will install python & the dependencies declared so far
3. Setup pre-commit
pre-commit install
4. Adding a dependency
uv add requests
Managing a project with uv
https://docs.astral.sh/uv/guides/projects/#managing-dependencies
test
Description
Languages
Python
50.8%
HTML
33.7%
Jupyter Notebook
8.3%
Shell
3.6%
CSS
2.9%
Other
0.7%