Fantasy League Almanac

Turn years of fantasy-baseball history into a league record book.

Fantasy League Almanac is a desktop application that extracts the history of a league you can access, processes it locally, and builds a browsable almanac. Its optional Google workflow creates a workbook in your own Drive.

A live demo dashboard, a web layer over the same data.

How it works

Your league goes in. A historical record book comes out.

The supported public workflow currently focuses on ESPN fantasy-baseball leagues. It reconstructs seasons, teams, owners, players, matchups, standings, drafts, transactions, records, and derived historical comparisons from the data ESPN provides.

1

Read your league

You provide access to an ESPN league you are authorized to use. ESPN credentials stay on your computer; they are not sent to Kyle or a hosted Almanac service.

2

Build locally

The application extracts data to local Parquet files, loads DuckDB, and runs the project models on your machine. No Snowflake or hosted warehouse account is required.

3

Create the almanac

The result is a record book with league history and comparisons. If you choose the Google workflow, the application creates a new workbook in the Google account you select.

Google Drive access

One narrow permission, used for the workbook the app creates.

Google identifies this permission as drive.file. Fantasy League Almanac uses it to create, write, share, and verify its own workbook. It does not use that permission to browse unrelated files in your Drive.

  • The Google workbook is optional.
  • The app cannot browse your general Drive.
  • The workbook begins private.
  • Link viewing is enabled only after an explicit confirmation.
  • You can revoke Google access or delete the workbook later.

Data boundaries

Designed to run under the user’s control.

The supported v1.9 public Google-workbook workflow runs on Windows and stores its Google authorization in Windows Credential Locker. The broader project remains open for inspection on GitHub.

Local credentials and data

ESPN cookies, extracted league data, and the local DuckDB database remain on the user’s computer by default.

No maintainer backend

There is no hosted Almanac account database, analytics service, advertising, payment collection, telemetry, or automatic upload of logs or workbook links.

User-controlled sharing

The app names the real league content that may appear before asking whether to enable anyone-with-the-link viewer access.

Learn more

Review the code, documentation, and data practices.

The repository contains the application and setup documentation. The Privacy Policy explains how league information and Google authorization are handled.