{"id":28508864,"url":"https://github.com/jlgingrich/nytgames","last_synced_at":"2025-08-16T01:33:43.899Z","repository":{"id":275324224,"uuid":"905403380","full_name":"jlgingrich/NYTGames","owner":"jlgingrich","description":"An F# API for various NYT word games","archived":false,"fork":false,"pushed_at":"2025-05-29T20:08:00.000Z","size":54,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-08T22:01:45.359Z","etag":null,"topics":["api","fsharp","nytimes"],"latest_commit_sha":null,"homepage":"https://www.nytimes.com/crosswords","language":"F#","has_issues":false,"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/jlgingrich.png","metadata":{"files":{"readme":"README.md","changelog":null,"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,"zenodo":null}},"created_at":"2024-12-18T18:52:57.000Z","updated_at":"2025-05-29T20:08:04.000Z","dependencies_parsed_at":"2025-02-01T18:19:09.956Z","dependency_job_id":"cfa7ef2a-5f64-401c-8a22-6598fa9a699a","html_url":"https://github.com/jlgingrich/NYTGames","commit_stats":null,"previous_names":["jlgingrich/nytgametools","jlgingrich/nytgames"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/jlgingrich/NYTGames","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jlgingrich%2FNYTGames","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jlgingrich%2FNYTGames/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jlgingrich%2FNYTGames/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jlgingrich%2FNYTGames/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jlgingrich","download_url":"https://codeload.github.com/jlgingrich/NYTGames/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jlgingrich%2FNYTGames/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263225932,"owners_count":23433604,"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":["api","fsharp","nytimes"],"created_at":"2025-06-08T22:00:49.022Z","updated_at":"2025-07-02T22:31:35.338Z","avatar_url":"https://github.com/jlgingrich.png","language":"F#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# NYTGames\n\nAn F# API for various NYT word games. Comes with a script that generates a Markdown report with the current day's solutions.\n\n## Example\n\n[Sample.fsx](Sample.fsx)\n\n```fsharp\n#r @\"NYTGames\\bin\\Debug\\net9.0\\NYTGames.dll\"\n\nopen NYTGames\n\nopen System\n\nlet printGame (res: Result\u003cWordleGame, 'a\u003e) =\n    let game = res |\u003e Result.assertOk\n\n    printfn\n        \"Wordle %s\\nBy %s\\nSolution: '%s'\\n\"\n        (game.Info.PrintDate.ToShortDateString())\n        (game.Info.EditedBy |\u003e Option.get)\n        game.Solution\n\n// Run on 12/31/2024\nGame.Wordle.getCurrentGame () |\u003e Async.RunSynchronously |\u003e printGame\n\nDateTime.Parse \"12/30/2024\"\n|\u003e Game.Wordle.getGame\n|\u003e Async.RunSynchronously\n|\u003e printGame\n```\n\n```text\nWordle 12/31/2024\nBy Tracy Bennett\nSolution: 'lemur'\n\nWordle 12/30/2024\nBy Tracy Bennett\nSolution: 'stare'\n```\n\n## How to use\n\nEach supported game is represented as a module under `Game`.\n\nAll games provide these methods:\n\n- `parse`: Transforms raw JSON into a strongly-typed F# object.\n- `getCurrentRaw`: Gets a raw unparsed JSON string description of the current puzzle from NYT. Contains unneccessary data that are ignored when parsed.\n- `getCurrentGame`: Gets a description of the puzzle for the current date, as determined by the New York Times website. All games provide this.\n\nOnly certain games provide these methods, depending on whether the API provides access to archived games:\n\n- `getRaw`: Gets a raw unparsed JSON string description of the specified puzzle from NYT. Contains unneccessary data that are ignored when parsed.\n- `getGame`: Gets a description of the puzzle on a specific date. Not all games currently provide this due to technical limitations.\n\n## Supported Games\n\n- **Connections**\n- **Connections: Sports Edition**\n- **Letter Boxed**\n  - Only current\n- **Spelling Bee**\n  - Only current\n- **Strands**\n- **Sudoko**\n  - Only current\n- **The Crossword**\n  - Only current\n- **The Mini**\n  - Only current\n- **Wordle**\n\n## Unsupported Games\n\n- **Tiles**\n  - Not word-based.\n  - Appears to generate puzzles on demand rather than fetch premade puzzles.\n\n## Future plans\n\n- Figure out how to access archived games for the following:\n  - Letter Boxed\n  - Spelling Bee\n  - The Crossword\n  - The Mini\n  - Sudoku (if it has them)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjlgingrich%2Fnytgames","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjlgingrich%2Fnytgames","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjlgingrich%2Fnytgames/lists"}