| Crates.io | sabita |
| lib.rs | sabita |
| version | 0.5.3 |
| created_at | 2025-01-04 15:55:26.167344+00 |
| updated_at | 2025-11-18 23:14:39.011127+00 |
| description | Sabita is a Sudoku solver / generator made with Rust |
| homepage | |
| repository | https://github.com/MikyStar/Sabita |
| max_upload_size | |
| id | 1504022 |
| size | 122,942 |
Sabita is a Sudoku solver / generator made with Rust
'Sabita' (錆びた) means 'rusty' in japanese
curl --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/MikyStar/Sabita/refs/heads/main/install.sh | sh
You will need to install Rust
cargo install sabita
# Generator
sabita g file/to/create # Generate a sudoku with no missing value
sabita g file/to/create 50 # Generate a sudoku with 50 missing values
# Solver
sabita s file/to/solve # Solve the sudoku (check out file sudoku.example) to see format
# Help
sabita -h
sabita --help
# Version
sabita -v
sabita --version
Benchmarks are handle through two libs, Perfos and Criterion
Perfos will be storing the results in the benchmarks folder
Many aliases and sequences are handled through cargo-make you will need to install it
cargo run # Builds and run the project
cargo fmt # Format code
cargo fmt -- --check # Throw error if unformated code
cargo clippy # Advanced linter
cargo clippy --fix # Fix auto fixable
cargo build # Only build it
cargo test # Run all unit tests
cargo test <file without extension> # Run specific test file inside the 'tests' folder (don't write it in path)
cargo test <specific function name> # Run specific test function
cargo add <package> [--dev] # Install a project dependency (or a dev dependency)
cargo install <package> # Install a system wide dependency
cargo doc # Generates HTML documentation
cargo clean # Remove 'targer' directory (build artifacts, doc ...)
cargo publish # Publish project to crates.io registry
cargo tree # Recursize list of lib dependencies
cargo bench --bench perfos
cargo bench --bench criterion
cargo bench # Run all of them
Git hooks are handled with rusty-hook, to enable them after a fresh install, run cargo test
Using CLI-Manager for task handling.