Commit 7d66d21
committed
Add comprehensive MotorHandPro integration with www.primaltechinvest.com
Complete web integration for public result publishing and firmware distribution.
New Components:
1. primaltechinvest_integration.py (475 lines)
- REST API client for PrimalTechInvest.com
- Automatic result uploads
- Best config publishing
- Leaderboard updates
- Webhook notifications
- Firmware distribution endpoints
- Complete integration workflow
2. API Features:
- test_connection() - Verify API access
- upload_sweep_results() - Upload parameter sweeps
- publish_best_config() - Publish optimal firmware
- update_leaderboard() - Update public rankings
- send_webhook() - Event notifications
- get_firmware_download_url() - Public downloads
- upload_dashboard() - Interactive dashboards
3. sweep_motorhand_drive.py Updates:
- Added --publish-web flag
- Added --no-web flag (skip auto-publish)
- Auto-integration after sweeps (unless --no-web)
- Standalone publish mode
- Graceful fallback if API unavailable
4. CI/CD Integration (.github/workflows/motorhand-ci.yml):
- Auto-publish to website after every sweep
- PRIMALTECH_API_KEY secret support
- Requests library installation
- Public result visibility
5. Configuration (.primaltechconfig):
- API endpoint settings
- Publishing preferences
- Firmware versioning
- Leaderboard configuration
- Webhook settings
- Dashboard preferences
6. Documentation (PRIMALTECHINVEST_INTEGRATION.md - 850 lines):
- Complete integration guide
- Quick start tutorial
- Feature documentation (6 major features)
- Command-line usage
- Python API reference
- CI/CD setup guide
- Configuration reference
- Troubleshooting guide
- Security best practices
- Advanced usage patterns
Features:
- Public leaderboards with real-time rankings
- Firmware distribution (latest/versioned/channeled)
- Live dashboard embedding
- REST API access for programmatic queries
- Webhook notifications (Slack, Discord, custom)
- Multi-site deployment support
- Privacy controls and anonymization
- HTTPS encryption for all communication
- Checksum verification for downloads
Integration Workflow:
1. Run parameter sweep
2. Auto-export best config
3. Auto-upload results to PrimalTechInvest.com
4. Update public leaderboards
5. Publish firmware for download
6. Send webhook notifications
7. Update live dashboard
Public Endpoints:
- https://www.primaltechinvest.com/motorhand - Main page
- https://www.primaltechinvest.com/motorhand/leaderboard - Rankings
- https://www.primaltechinvest.com/motorhand/firmware/latest - Downloads
- https://www.primaltechinvest.com/motorhand/dashboard - Live dashboard
- https://api.primaltechinvest.com/v1/* - REST API
Usage:
# Auto-publish (default)
python sweep_motorhand_drive.py --quick
# Skip web integration
python sweep_motorhand_drive.py --quick --no-web
# Publish existing results
python sweep_motorhand_drive.py --publish-web
# Standalone integration
python primaltechinvest_integration.py
Ready for production deployment with automatic website publishing.1 parent 1803caf commit 7d66d21
File tree
5 files changed
+1373
-1
lines changed- .github/workflows
5 files changed
+1373
-1
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
32 | 32 | | |
33 | 33 | | |
34 | 34 | | |
35 | | - | |
| 35 | + | |
36 | 36 | | |
37 | 37 | | |
38 | 38 | | |
| |||
53 | 53 | | |
54 | 54 | | |
55 | 55 | | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
56 | 63 | | |
57 | 64 | | |
58 | 65 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
0 commit comments