AutoUpdateAndLearn.update_data() now falls back to LottoWebUpdater
(lotto.de scraping) when the API chain (Lottoland/GitHub/lottoAPI)
returns no new data, matching the pattern already in production on
the Eurojackpot sibling project. Required installing beautifulsoup4
into the venv - its absence would have crashed the entire update
script the moment the fallback import was added, not just the
fallback path itself, so this needed verifying before wiring it in.
Also adds tests/test_popularity_score.py (pytest): regression coverage
for the popularity/EV score against known overplayed combinations
(1-2-3-4-5-6, 5-10-15-20-25-30) and the Superzahl EV ordering. Verified
against the pre-fix code (commit 8c2089d) that these tests would
actually have caught the sum-extremity bug fixed in e05f1f1 - this
had previously only been caught by manual spot-checking.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
AutoUpdateAndLearn.update_data() called LottoAPIUpdater with
api_name='github', which skipped the already-implemented Lottoland ->
GitHub -> lottoAPI fallback chain entirely. The GitHub archive alone
has repeatedly lagged 1-6 days behind actual draws (most recently the
Aug 5 draw, still missing as of Aug 7), causing tips to be generated
and models to be retrained on stale data. Switching to api_name='all'
tries Lottoland first, which has consistently had same-day results in
testing, with GitHub still covering full history/fallback.
Also includes the Aug 5 draw pulled in via this fix and the resulting
model retrain (data update was previously interrupted by a truncated
pipe during manual testing, this completes it).
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
- Fixed default data-dir in auto_update_and_learn.py (was pointing to old iCloud path)
- Updated run_update_and_learn.sh to explicitly pass correct data-dir
- Now saves data to /Projekte/Lotto/data instead of iCloud
This ensures automatic updates save to the correct location.
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Major improvements:
- Deep Learning integration with PyTorch LSTM (Bidirectional, 128→64 units)
- Hybrid predictor: 40% RandomForest + 60% Deep Learning
- LaunchAgent for automatic weekly tip generation (Tue/Fri 21:00)
- Health-Check system with auto-recovery and Telegram alerts
- Model caching and intelligent retraining logic
- Updated CSV data and generated tips
- Performance reports for recent draws
Technical details:
- PyTorch used instead of TensorFlow (Python 3.14 compatibility)
- Apple Silicon MPS acceleration support
- Sequence learning with 20-draw history
- Early stopping and learning rate scheduling
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This project includes multiple AI/ML-based lottery number generators for
German Lotto 6aus49, including pattern analysis, weighted predictions,
and hybrid approaches. Features automated weekly tip generation,
performance tracking, and Telegram bot integration.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>