A collection of small utilities and trading tools. Production deployments use a dedicated Python virtual environment to isolate dependencies. Services run as root inside an unprivileged Proxmox LXC.
CryptoTrading/get_oversold_pairs.py— scans Kraken USD pairs for oversold mean-reversion setups and emails alerts.get_new_kraken_assets.py— monitors Kraken for new trading pairs and emails alerts.
utils.py— shared helpers (if any)requirements.txt— pinned dependencies for server installspyproject.toml— local packaging and tooling (optional)docs/— this documentation
We standardize on a single venv on servers at (Python 3.11 preferred):
/usr/local/bin/python-scripts/venvActivate it:
source /usr/local/bin/python-scripts/venv/bin/activateLocal development (Windows/PowerShell):
. .\.venv\Scripts\Activate.ps1- Create and activate a venv
- Install requirements
- Run a script
python -m venv .venv
source .venv/bin/activate # PowerShell: . .\.venv\Scripts\Activate.ps1
pip install -r requirements.txt
python CryptoTrading/get_oversold_pairs.py- Email alerts use an SMTP relay, configured inside each script (
EMAIL_*variables). On servers, you can override with environment variables via systemd. - Logs: scripts write to
/var/log/crypto-oversold.logor fall back to/tmp/crypto-oversold.log. Usejournalctl -u <service>for service logs.
- Stop services
- Pull latest code (PAT-only, read access)
- Activate venv and install requirements
- Start services
systemctl stop kraken_oversold.service kraken_newlistings.service
cd /usr/local/bin/python-scripts
git pull --rebase --autostash
source /usr/local/bin/python-scripts/venv/bin/activate
pip install -r requirements.txt
systemctl start kraken_oversold.service kraken_newlistings.serviceSee deployment details in docs/deployment-debian.md.
- Use feature branches and PRs
- Keep runtime artifacts out of the repo (logs, caches, service files)
- Add minimal docs for any new script