Skip to content

Latest commit

Β 

History

History
71 lines (47 loc) Β· 2.34 KB

File metadata and controls

71 lines (47 loc) Β· 2.34 KB

πŸ‹οΈβ€β™‚οΈ Boostcamp API: Gainz for your Python Scripts

An unofficial, asynchronous Python client for the Boostcamp fitness app API. Because your data deserves a heavy lifting session too! πŸš€

Modeled after the sleek monarchmoney client, this library lets you pull your workout data, training history, and program details without breaking a sweat.

✨ Features

  • Asynchronous & Fast: Built on aiohttp for maximum performance.
  • Full History: Get every rep and set you've ever logged. πŸ“ˆ
  • Program Discovery: Search the entire Boostcamp library for your next challenge.
  • Dashboard Stats: Track your streaks, total volume, and muscle distribution. 🦾
  • Session Persistence: Login once, save your session, and stay authenticated.

πŸ›  Requirements

  • Python 3.8+
  • aiohttp (The heavy lifter)

πŸš€ Quick Start

Installation

# Clone and install in editable mode
pip install -e .

Basic Usage

import asyncio
from boostcampapi import BoostcampAPI

async def main():
    api = BoostcampAPI()
    
    # Login (or load a saved session)
    if not api.load_session():
        await api.login("beast@mode.com", "lightweight_baby")
    
    # Get your dashboard summary
    summary = await api.get_home_summary()
    print(f"πŸ”₯ Current Streak: {summary['data']['week_streak']} weeks")
    
    # Fetch your lifting history
    history = await api.get_training_history()
    print(f"πŸ“š You've logged {len(history['data'])} days of workouts!")

asyncio.run(main())

πŸ” Authentication Note (Google/Apple Users)

If you usually tap the Google or Apple button to log in, you'll need to set a "traditional" password to use this API:

  1. Head to the Boostcamp Login Page.
  2. Enter your email and click "Forgot Password?".
  3. Set your new password via the email link.
  4. Use those credentials to start scripting! πŸ”“

πŸ“Š Discovered Endpoints

Check out BOOSTCAMP_API.md for the full breakdown of everything we've reverse-engineered so far.

🀝 Contributing

Found a new endpoint? Want to add a feature? Open a PR! Let's build the ultimate tool for data-driven athletes. 🀝


Disclaimer: This is an unofficial project and is not affiliated with Boostcamp. Use responsibly and don't be a jerk to their servers.