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.1.tar.gz (18.8 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.1-py3-none-any.whl (20.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: fpl_copilot-0.1.1.tar.gz
  • Upload date:
  • Size: 18.8 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.1.tar.gz
Algorithm Hash digest
SHA256 a1ae433f82c752a308ea2de705569f386422571d1412e2a66bfea8a198173f6a
MD5 84d946304ffa320af67592091b24856e
BLAKE2b-256 0e289821a021548ff9b9acde59d84342283a1b38f16ba96dfca0075ab655ac8e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: fpl_copilot-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 20.9 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 80491c11b8136c2e8662458e023c27bd0ada4088f42b1c8966234d9f3585077d
MD5 874ca76ded4db1b8c33f74dfbee9bb26
BLAKE2b-256 c33a19007e9074c9353706e27a7bad60e03a4d416ec304f4de7ebe4db534ff8d

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