{"id":28640353,"url":"https://github.com/huangsam/rustoku","last_synced_at":"2025-10-18T13:38:39.724Z","repository":{"id":295569097,"uuid":"990474618","full_name":"huangsam/rustoku","owner":"huangsam","description":"Lightning-fast Sudoku 🦀","archived":false,"fork":false,"pushed_at":"2025-07-21T08:47:40.000Z","size":308,"stargazers_count":23,"open_issues_count":0,"forks_count":3,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-07-29T11:23:26.546Z","etag":null,"topics":["bitflags","cargo","clap","crates-io","criterion","learn-to-code","puzzle","rust","rust-rand","sudoku","thiserror"],"latest_commit_sha":null,"homepage":"https://crates.io/crates/rustoku-cli","language":"Rust","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/huangsam.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2025-05-26T07:07:24.000Z","updated_at":"2025-07-21T08:47:44.000Z","dependencies_parsed_at":"2025-05-26T09:14:38.813Z","dependency_job_id":"4494e9f6-ec4a-447d-ab63-471f16af69ce","html_url":"https://github.com/huangsam/rustoku","commit_stats":null,"previous_names":["huangsam/rustoku"],"tags_count":26,"template":false,"template_full_name":null,"purl":"pkg:github/huangsam/rustoku","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/huangsam%2Frustoku","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/huangsam%2Frustoku/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/huangsam%2Frustoku/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/huangsam%2Frustoku/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/huangsam","download_url":"https://codeload.github.com/huangsam/rustoku/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/huangsam%2Frustoku/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":268883500,"owners_count":24323148,"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","status":"online","status_checked_at":"2025-08-05T02:00:12.334Z","response_time":2576,"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":["bitflags","cargo","clap","crates-io","criterion","learn-to-code","puzzle","rust","rust-rand","sudoku","thiserror"],"created_at":"2025-06-12T20:06:12.196Z","updated_at":"2025-10-18T13:38:39.618Z","avatar_url":"https://github.com/huangsam.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Rustoku\n\n[![GitHub Actions Workflow Status](https://img.shields.io/github/actions/workflow/status/huangsam/rustoku/ci.yml)](https://github.com/huangsam/rustoku/actions)\n[![docs.rs](https://img.shields.io/docsrs/rustoku-lib)](https://docs.rs/crate/rustoku-lib/latest)\n[![License](https://img.shields.io/github/license/huangsam/rustoku)](https://github.com/huangsam/rustoku/blob/main/LICENSE)\n\n**Lightning-fast Sudoku solving and generation, crafted in Rust.**\n\nRustoku is a highly optimized Sudoku puzzle solver and generator built with a focus on speed and clarity.\nIt leverages [bitmasking] for constraint tracking and a backtracking algorithm with [MRV] for\npuzzle navigation. Available as a Rust [library] and [CLI].\n\n- **Fast solving with clear solve paths:** Rustoku can find solutions in microseconds, even\nfor the most complex puzzles. Plus, it shows you the step-by-step solve path for understanding\nhow the solution was reached\n- **Unique and configurable puzzle generation:** Create Sudoku puzzles that are guaranteed to\nhave only one solution. You can also customize the difficulty by generating puzzles with a\nspecific number of clues\n- **Human-like puzzle solving:** Take control with Rustoku's CLI interface. Beyond raw speed, it\nmimics human expertise, employing a full range of techniques from [Naked Singles] to [X-Wing]\nto solve puzzles with precision\n\n## Getting Started\n\nCommands to get you going:\n\n```bash\n# This installs the binary at $HOME/.cargo/bin\ncargo install rustoku-cli\n\n# Generate puzzles\nrustoku-cli generate\nrustoku-cli generate --clues 45\n\n# Solve puzzles\nrustoku-cli solve any 530070000600195000098000060800060003400803001700020006060000280000419005000080079\nrustoku-cli solve all 295743001431865900876192543387459216612387495549216738763500000000000000000000000\n\n# Check solutions\nrustoku-cli check 295743861431865927876192543387459216612387495549216738763524189154938672928671354\n\n# Display puzzle\nrustoku-cli show 900507400007080000830401006402000300090000065000050080200908000080074000700210803\n```\n\nExample output from the `show` command:\n\n```\n+-------+-------+-------+\n| 9 . . | 5 . 7 | 4 . . |\n| . . 7 | . 8 . | . . . |\n| 8 3 . | 4 . 1 | . . 6 |\n+-------+-------+-------+\n| 4 . 2 | . . . | 3 . . |\n| . 9 . | . . . | . 6 5 |\n| . . . | . 5 . | . 8 . |\n+-------+-------+-------+\n| 2 . . | 9 . 8 | . . . |\n| . 8 . | . 7 4 | . . . |\n| 7 . . | 2 1 . | 8 . 3 |\n+-------+-------+-------+\nLine format: 900507400007080000830401006402000300090000065000050080200908000080074000700210803\n```\n\nTry some more examples from these sites:\n\n- [HoDoKu](https://hodoku.sourceforge.net/en/index.php)\n- [heetbeet/purge-and-merge](https://github.com/heetbeet/purge-and-merge)\n- [ruohanrao/sudoku](https://www.kaggle.com/datasets/rohanrao/sudoku)\n- [Ritvik19/Sudoku-Dataset](https://huggingface.co/datasets/Ritvik19/Sudoku-Dataset)\n\nDive into the world of high-performance Sudoku today!\n\n[bitmasking]: https://www.geeksforgeeks.org/what-is-bitmasking/\n[MRV]: https://www.alooba.com/skills/concepts/data-science-6/minimum-remaining-values/\n[library]: https://crates.io/crates/rustoku-lib\n[CLI]: https://crates.io/crates/rustoku-cli\n[Naked Singles]: https://hodoku.sourceforge.net/en/tech_singles.php#n1\n[X-Wing]: https://hodoku.sourceforge.net/en/tech_fishb.php#bf2\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhuangsam%2Frustoku","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhuangsam%2Frustoku","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhuangsam%2Frustoku/lists"}