{"id":17663849,"url":"https://github.com/marksmurphy/fantasy-f1-analyzer","last_synced_at":"2026-02-23T02:31:19.718Z","repository":{"id":98529792,"uuid":"498675421","full_name":"markSmurphy/fantasy-f1-analyzer","owner":"markSmurphy","description":"A command line utility which retrieves the latest Fantasy F1 results and analyses all possible constructor and driver combinations and suggests an optimum Fantasy F1 Team.","archived":false,"fork":false,"pushed_at":"2024-06-22T03:47:51.000Z","size":3560,"stargazers_count":0,"open_issues_count":4,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-24T06:46:53.440Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://www.npmjs.com/package/fantasy-f1-analyzer","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/markSmurphy.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-06-01T09:39:48.000Z","updated_at":"2022-06-01T10:25:32.000Z","dependencies_parsed_at":"2023-11-14T05:20:58.654Z","dependency_job_id":"db1a73b5-81ff-4903-93ed-8c072d324f45","html_url":"https://github.com/markSmurphy/fantasy-f1-analyzer","commit_stats":{"total_commits":82,"total_committers":1,"mean_commits":82.0,"dds":0.0,"last_synced_commit":"0345720ef826eea435980fd1d4f4e5d9db09278f"},"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/markSmurphy%2Ffantasy-f1-analyzer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/markSmurphy%2Ffantasy-f1-analyzer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/markSmurphy%2Ffantasy-f1-analyzer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/markSmurphy%2Ffantasy-f1-analyzer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/markSmurphy","download_url":"https://codeload.github.com/markSmurphy/fantasy-f1-analyzer/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239441120,"owners_count":19639118,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-23T19:42:43.534Z","updated_at":"2025-10-27T15:18:24.689Z","avatar_url":"https://github.com/markSmurphy.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Fantasy F1 Analyser\n\n![Version](https://img.shields.io/npm/v/fantasy-f1-analyzer?style=plastic)\n![node-current](https://img.shields.io/node/v/fantasy-f1-analyzer?style=plastic)\n[![Codacy Badge](https://app.codacy.com/project/badge/Grade/e77d8079c8424bb6abcc0ef1309a8a5c)](https://www.codacy.com/gh/markSmurphy/fantasy-f1-analyzer/dashboard?utm_source=github.com\u0026amp;utm_medium=referral\u0026amp;utm_content=markSmurphy/fantasy-f1-analyzer\u0026amp;utm_campaign=Badge_Grade)\n![GitHub issues](https://img.shields.io/github/issues/markSmurphy/fantasy-f1-analyzer?style=plastic)\n![Snyk Vulnerabilities for GitHub Repo](https://img.shields.io/snyk/vulnerabilities/github/markSmurphy/fantasy-f1-analyzer?style=plastic)\n![Libraries.io dependency status for latest release](https://img.shields.io/librariesio/release/npm/fantasy-f1-analyzer?style=plastic)\n![NPM Downloads Total](https://img.shields.io/npm/dt/fantasy-f1-analyzer?style=plastic)\n![NPM Downloads/Month](https://img.shields.io/npm/dm/fantasy-f1-analyzer?style=plastic)\n![Last Commit](https://badgen.net/github/last-commit/markSmurphy/fantasy-f1-analyzer/main)\n![Licence](https://img.shields.io/npm/l/fantasy-f1-analyzer?style=plastic)\n\nA command line utility which retrieves the latest Fantasy F1 results and analyses all possible constructor and driver combinations and suggests an optimum Fantasy F1 Team.\n![FF1 Analyser](./images/results.png)\n\n## Overview\n\nI started playing Fantasy F1 for the first time this season (2022) and, like most players, I'd juggle my team around before each race weekend's qualifying session. There were a few obvious front-runners but the rest of my team selection lacked any satisfactory analysis, and instead was borne from drivers I'd like to see do well who fell inside the budget cap restrictions.\n\nSo I wrote this tool.\n\nThe **Fantasy F1 Analyser** consumes the Fantasy F1 League's public APIs to retrieve the latest driver \u0026 constructor standings. It then works through \u003e150,000 permutations of possible Fantasy F1 teams and tallies their score. The team combination(s) with the highest points tally to date (and which falls with the budget cap) are reported back.\n\nIf multiple team combinations result the same highest points tally then they are all reported back. The current qualifying and finishing streaks are also reported in case that helps your selection.\n\n![FF1 Analyser - Running](./images/analysing.gif)\n\n### Disclaimer\n\nThis tool is not affiliated with the Fantasy F1 League. It is a personal project I've open sourced.\nThis tool is not a predictor; it uses historical data to retrospectively suggest what would have been a optimal team selection to this point, and is intended for use a baseline for your own team selection.\n\n## Installation\n\nInstall globally via `npm` using:\n\n```shell\nnpm install -g fantasy-f1-analyzer\n```\n\n## Usage\n\nStart an analysis via the command:\n\n```shell\nff1 [options]\n```\n\n## Options\n\nThere are a few command line options you can use:\n\n```text\n   --export \u003cfilename\u003e           Exports the results to the specified filename\n   --year \u003cnnnn\u003e                 Override the default season. Default: 2022\n   --budget \u003cnnn\u003e                Override the default budget cap. Default: 100\n   --worst                       Displays the team with the worst points tally instead of the best\n   --progressinterval \u003cn\u003e        Update analysis progress every nth team. Default: 5\n   --verbose                     Enables verbose output.\n   --debug                       Enables debugging output.\n   --no-color                    Switches off colour output.\n   --version                     Display version number.\n   --help                        Display help screen.\n```\n\n### export\n\n`--export \u003cfilename\u003e`\n\nThe **export** option allows you write the results to the specific `filename`. The output format the `CSV` and `filename` will be automatically appended with `.csv` if needed.\n\n### year\n\n`--year \u003cnnnn\u003e`\n\nSpecifies the season's year in case there's a need to override the default.\n\nDefault: The current date's four digit year (e.g. `2022`).\n\n### budget\n\n`--budget \u003cnnn\u003e`\n\nSpecifies the budget cap in case there's a need to override the default.\n\nDefault: `100`.\n\n### worst\n\n`--worst` displays the Fantasy F1 team with the worst points tally, instead of displaying the best.\nThis might be more interesting than actually useful.\n\n![worst team output](./images/worstTeamOutput.png)\n\n### progress interval\n\n`--progressinterval \u003cn\u003e`\n\nUpdate the analysis progress spinner every *n*th team that's analysed. The higher the number `n`, the less frequently the screen is updated and the faster the analysis completes.\n\nDefault: `5` (updates progress spinner for each team that's analysed).\n\n### Verbose\n\n`--verbose`\n\nEnables verbose output.\n\nDefault: `false`\n\n### Debug\n\n`--debug`\n\nEnables debugging output.\n\nDefault: `false`\n\n### No-color\n\n`--no-color`\n\nSwitches off colour output.\n\n### Version\n\n`--version`\n\nDisplays the version number.\n\n### Help\n\n`--help`\n\nDisplays the help screen.\n\n## Change Log\n\nThe **Change Log** can be found [here](CHANGELOG.md)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarksmurphy%2Ffantasy-f1-analyzer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmarksmurphy%2Ffantasy-f1-analyzer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarksmurphy%2Ffantasy-f1-analyzer/lists"}