Skip to main content

A conversational CLI copilot for Fantasy Premier League, powered by Claude

Project description

FPL Copilot

A conversational CLI copilot for Fantasy Premier League. Chat with Claude to analyze your team, scout players, check fixtures, and execute transfers — all from your terminal.

Think of it like Claude Code, but for FPL.

Prerequisites

  • Python 3.11+
  • An Anthropic API key
  • Your FPL team ID (find it in the URL when viewing your team on the FPL website)
  • (Optional) FPL login credentials for executing transfers
  • (Optional) Firecrawl API key for enhanced player news

Installation

git clone git@github.com:amit3992/fpl-copilot.git
cd fpl-copilot
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
playwright install chromium

Copy .env.example to .env and fill in your keys:

cp .env.example .env

Usage

python cli.py

What you can ask

  • "Show me my team" — view your full squad with form, price, and status
  • "How's my budget looking?" — bank balance, free transfers, available chips
  • "Any injury news?" — check which of your players are flagged
  • "Tell me about Palmer" — detailed stats, recent form, upcoming fixtures
  • "Who should I replace Salah with?" — top 5 ranked alternatives within budget
  • "Is it worth taking a hit to bring in Haaland for Watkins?" — projected net gain analysis
  • "What are Arsenal's next 5 fixtures?" — fixture difficulty ratings
  • "Transfer out Salah, bring in Palmer" — stages the transfer for your approval
  • "Show my transfer history" — past transfers from previous sessions

Commands

Command Description
/quit Exit the CLI
/clear Clear conversation history
/history Show conversation history
/debug Toggle verbose tool call logging

Environment Variables

Variable Required Description
ANTHROPIC_API_KEY Yes Your Anthropic API key
FPL_TEAM_ID Yes Your FPL team ID
FPL_EMAIL No FPL login email (needed for transfers)
FPL_PASSWORD No FPL login password (needed for transfers)
FIRECRAWL_API_KEY No Firecrawl API key for enhanced news scraping

Architecture

cli.py              → Chat loop (Rich UI + Anthropic API)
core/fpl.py         → Async FPL API wrapper (aiohttp)
core/scoring.py     → Player scoring and ranking logic
tools/team.py       → Team, budget, and player stat tools
tools/news.py       → Injury news and player availability
tools/analysis.py   → Transfer recommendations and fixture analysis
tools/browser.py    → Playwright-based login and transfer execution
tools/registry.py   → Anthropic tool definitions and handler mapping
db/schema.sql       → SQLite schema for session state and transfer history

Claude handles all orchestration — no LangGraph or agent frameworks. The CLI sends your message plus the tool definitions to Claude, which decides what to call based on your question. Transfers require explicit y confirmation before executing.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fpl_copilot-0.1.0.tar.gz (18.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

fpl_copilot-0.1.0-py3-none-any.whl (20.8 kB view details)

Uploaded Python 3

File details

Details for the file fpl_copilot-0.1.0.tar.gz.

File metadata

  • Download URL: fpl_copilot-0.1.0.tar.gz
  • Upload date:
  • Size: 18.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for fpl_copilot-0.1.0.tar.gz
Algorithm Hash digest
SHA256 9e7a4d1a81e1689f6e6e5e0ceeaabb183ddbd3602a2cc3f27d9eceded1b87f02
MD5 28a819f7046348b23be1dd30c10fb048
BLAKE2b-256 2306e04d4f32bcd6be310016ac35e6a95292f0479fc8375bdaddc172751181db

See more details on using hashes here.

File details

Details for the file fpl_copilot-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: fpl_copilot-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 20.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for fpl_copilot-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b05632c992c9fb65c71497dd9604997910858a85f462b8e48fef9af9e7f67991
MD5 b35847098462b6245e04b67539357954
BLAKE2b-256 172ec36a449477935a73c9251c402288afc5e5da5a1d351cb1ff9283172c49d2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page