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.2.tar.gz (19.0 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.2-py3-none-any.whl (21.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: fpl_copilot-0.1.2.tar.gz
  • Upload date:
  • Size: 19.0 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.2.tar.gz
Algorithm Hash digest
SHA256 570de345396fe3da3f2f94130ae6114bb114c207cb58410488760225c04127e3
MD5 c84fcb5e89260310166ad786c13c1a3c
BLAKE2b-256 c14f964c1e601cf17ed2a255e511add62370978b37f2c4f5075973d8d99c3489

See more details on using hashes here.

File details

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

File metadata

  • Download URL: fpl_copilot-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 21.1 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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 1aefb97f61eaa6115cdf2bbbcf09bb23c75199d121c7bf2982e904eb7a01ac95
MD5 fd152ba6ea75b8ac2bce790cabcb616d
BLAKE2b-256 26fa4b8814034fa504f521026706781b6166969006a5616a8d2fc18662220e7c

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