{"id":25631198,"url":"https://github.com/boompig/sudoku","last_synced_at":"2026-06-20T13:31:01.825Z","repository":{"id":47754689,"uuid":"9984607","full_name":"boompig/sudoku","owner":"boompig","description":"Sudoku Solver","archived":false,"fork":false,"pushed_at":"2024-07-09T17:28:55.000Z","size":39,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-22T20:19:53.285Z","etag":null,"topics":["game-ai","python","sudoku"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/boompig.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-05-10T15:45:03.000Z","updated_at":"2021-08-14T15:39:39.000Z","dependencies_parsed_at":"2022-09-23T18:51:11.144Z","dependency_job_id":null,"html_url":"https://github.com/boompig/sudoku","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/boompig/sudoku","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/boompig%2Fsudoku","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/boompig%2Fsudoku/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/boompig%2Fsudoku/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/boompig%2Fsudoku/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/boompig","download_url":"https://codeload.github.com/boompig/sudoku/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/boompig%2Fsudoku/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34572423,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-20T02:00:06.407Z","response_time":98,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["game-ai","python","sudoku"],"created_at":"2025-02-22T20:19:28.050Z","updated_at":"2026-06-20T13:31:01.807Z","avatar_url":"https://github.com/boompig.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"Sudoku Solver\n======\n\nThis is a modified implementation of my Sudoku Solver for my CSC384 class in Spring 2012.\n\nI made some small changes so it would run over the command line and with Python3.\nThe engine is largely unchanged since 2012. Please don't judge me too harshly for code quality. I was only an undergrad.\n\nThe solver implements 4 strategies for which state to expand next:\n\n- `FIRST_FOUND` - choose the first unassigned cell\n- `MIN_ROW` - choose a cell in the row which has the fewest but non-zero unassigned cells. This is recomputed on each state expansion.\n- `MIN_HEAP` - choose a cell in the row/col/subsquare which has the fewest but non-zero unassigned cells. There is book-keeping which keeps track of these numbers throughout program execution.\n- `MIN_HEAP_2` - choose the cell which is under the most constraints. There is book-keeping which keeps track of these numbers throughout program execution.\n\nTake a look at their relative performance in `data/results`.\n\n## Implementation\n\nThis sudoku solver works via DFS. There are much smarter ways to implement a Sudoku solver.\n\n## Run\n\n```\npython -m sudoku [-f fname] [-d dirname] [-s strategy] [--help]\n```\n\n## Testing\n\n```\npytest test\n```\n\nor with coverage\n\n```\npytest test --cov=sudoku --cov-report=html\n```\n\n## Linting\n\n```\nflake8 test sudoku\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fboompig%2Fsudoku","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fboompig%2Fsudoku","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fboompig%2Fsudoku/lists"}