Skip to main content

Algorithms for minesweeper.

Project description

ms_toollib

pypi MIT docs

A cross-platform minesweeper algorithm toolbox with a native Rust core.

Supports Python 3.7–3.13 on Windows, Linux, and macOS.


Installation

pip install ms_toollib

No additional dependencies required.


Features

Category Description
Mine Laying Random mine placement (first-click safe, Win7-style), no-guess mine generation (filter & adjustment methods)
Board Metrics 3BV, 3BV/s, openings (Op), islands (Isl), ZiNi (Greedy/Human/Random)
Probabilities Per-cell mine probability with block decomposition and enumeration
Deduction Solver 3-tier solver: direct subset, subtract-and-compare, full enumeration (≤55 cells)
Solvability Check Determine if a board is no-guess, find unsolvable structures
Game State Machine MinesweeperBoard / SafeMinesweeperBoard that accepts mouse clicks and tracks full game state
Replay Parsing Read AVF, EVF, MVF, RMV formats; save/write EVF (v0–v4) and EVFS containers
Optical Recognition Recognize board state from an RGBA image via ONNX neural network (Sobel, Hough, DP)

Quick Start

import ms_toollib as ms

# Generate a no-guess Beginner board
board = ms.laymine_solvable(9, 9, 10)
print(ms.cal_bbbv(board))          # 3BV
print(ms.cal_zini(board, 1))       # Greedy ZiNi

# Per-cell mine probability
prob = ms.cal_probability_onboard(board, 10)

# Parse a replay
video = ms.AvfVideo("replay.avf")
video.parse()
video.analyse()
print(video.bbbv)

See the full documentation for detailed API references.


Public API

Functions (30+): cal_all_solution, cal_bbbv, cal_board_numbers, cal_hzini, cal_op, cal_probability, cal_probability_onboard, cal_rzini, cal_zini, get_all_not_and_is_mine_on_board, is_able_to_solve, is_guess_while_needless, is_solvable, laymine, laymine_op, laymine_solvable, laymine_solvable_adjust, laymine_solvable_thread, mark_board, obr_board, refresh_board, refresh_matrix, refresh_matrixs, refresh_matrixses, sample_bbbvs_exp, solve_direct, solve_enumerate, solve_minus, unsolvable_structure, valid_time_period

Classes (15): AvfVideo, BaseVideo, Board, EvfVideo, Evfs, EvfsCell, GameBoard, KeyDynamicParams, MinesweeperBoard, MvfVideo, RmvVideo, SafeBoard, SafeBoardRow, SafeMinesweeperBoard, VideoActionStateRecorder


Supported Platforms

OS Architectures
Windows x86, x64
Linux x86, x86_64, aarch64, armv7, ppc64le, s390x
macOS x86_64, aarch64

Source & Issues

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ms_toollib-1.5.11.tar.gz (284.5 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

ms_toollib-1.5.11-cp38-abi3-win_amd64.whl (2.7 MB view details)

Uploaded CPython 3.8+Windows x86-64

ms_toollib-1.5.11-cp38-abi3-win32.whl (2.2 MB view details)

Uploaded CPython 3.8+Windows x86

ms_toollib-1.5.11-cp38-abi3-musllinux_1_2_x86_64.whl (3.4 MB view details)

Uploaded CPython 3.8+musllinux: musl 1.2+ x86-64

ms_toollib-1.5.11-cp38-abi3-musllinux_1_2_i686.whl (2.9 MB view details)

Uploaded CPython 3.8+musllinux: musl 1.2+ i686

ms_toollib-1.5.11-cp38-abi3-musllinux_1_2_aarch64.whl (3.3 MB view details)

Uploaded CPython 3.8+musllinux: musl 1.2+ ARM64

ms_toollib-1.5.11-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.1 MB view details)

Uploaded CPython 3.8+manylinux: glibc 2.17+ x86-64

ms_toollib-1.5.11-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.1 MB view details)

Uploaded CPython 3.8+manylinux: glibc 2.17+ ARM64

ms_toollib-1.5.11-cp38-abi3-manylinux_2_12_i686.manylinux2010_i686.whl (2.8 MB view details)

Uploaded CPython 3.8+manylinux: glibc 2.12+ i686

ms_toollib-1.5.11-cp38-abi3-macosx_11_0_arm64.whl (2.5 MB view details)

Uploaded CPython 3.8+macOS 11.0+ ARM64

ms_toollib-1.5.11-cp38-abi3-macosx_10_12_x86_64.whl (2.7 MB view details)

Uploaded CPython 3.8+macOS 10.12+ x86-64

File details

Details for the file ms_toollib-1.5.11.tar.gz.

File metadata

  • Download URL: ms_toollib-1.5.11.tar.gz
  • Upload date:
  • Size: 284.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.24 {"installer":{"name":"uv","version":"0.11.24","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for ms_toollib-1.5.11.tar.gz
Algorithm Hash digest
SHA256 80e8acb080f48dfcc35ae2183de0ad1ddb76450ed12f650bdae2cc8cc3964454
MD5 86cb8499828976bb927df0b4492cba7b
BLAKE2b-256 3258c502b6dd49bd90bee56306042a2b7b259a00406ab6bc10ac9c3cd0dfbec2

See more details on using hashes here.

File details

Details for the file ms_toollib-1.5.11-cp38-abi3-win_amd64.whl.

File metadata

  • Download URL: ms_toollib-1.5.11-cp38-abi3-win_amd64.whl
  • Upload date:
  • Size: 2.7 MB
  • Tags: CPython 3.8+, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.24 {"installer":{"name":"uv","version":"0.11.24","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for ms_toollib-1.5.11-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 04579f8cb5c701ae43a55e89e3a3fa793b03cec1e0f6b583697d4bca997941e3
MD5 b3522e48e32fc151e143eaaa88a0f276
BLAKE2b-256 35df72c6084847c6f06cf46a5cfc9fd6309356cfac7cedde22e6c06f63c39110

See more details on using hashes here.

File details

Details for the file ms_toollib-1.5.11-cp38-abi3-win32.whl.

File metadata

  • Download URL: ms_toollib-1.5.11-cp38-abi3-win32.whl
  • Upload date:
  • Size: 2.2 MB
  • Tags: CPython 3.8+, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.24 {"installer":{"name":"uv","version":"0.11.24","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for ms_toollib-1.5.11-cp38-abi3-win32.whl
Algorithm Hash digest
SHA256 2c3cec368ce2d775632160499f9db5d2937d5ecddd2ecd0f78b5ee06c34034aa
MD5 a7b4bb686cbecb830aafe0e44854a6d7
BLAKE2b-256 ec9ec77e5c9bfbf61dd7edc0dc283b8502ba742a359f1bb07901d7db40cd0f41

See more details on using hashes here.

File details

Details for the file ms_toollib-1.5.11-cp38-abi3-musllinux_1_2_x86_64.whl.

File metadata

  • Download URL: ms_toollib-1.5.11-cp38-abi3-musllinux_1_2_x86_64.whl
  • Upload date:
  • Size: 3.4 MB
  • Tags: CPython 3.8+, musllinux: musl 1.2+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.24 {"installer":{"name":"uv","version":"0.11.24","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for ms_toollib-1.5.11-cp38-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 70e97b5b43b57fa24072f7c62fa9e598b28f1cfd893ecbaca7eabfa3475df2e2
MD5 591bab173fd558e702c8043558c2d31c
BLAKE2b-256 5b73592fbdd9430bf3c2309ad7b0d7da12de4c1a4cbbec67a57ee11de8564b32

See more details on using hashes here.

File details

Details for the file ms_toollib-1.5.11-cp38-abi3-musllinux_1_2_i686.whl.

File metadata

  • Download URL: ms_toollib-1.5.11-cp38-abi3-musllinux_1_2_i686.whl
  • Upload date:
  • Size: 2.9 MB
  • Tags: CPython 3.8+, musllinux: musl 1.2+ i686
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.24 {"installer":{"name":"uv","version":"0.11.24","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for ms_toollib-1.5.11-cp38-abi3-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 047d5824216a65be98e172d418f3ebbcf99660677079bf03a12f2b07ff9b6915
MD5 cf9eca217d5f405e80ea3e132d0f38a3
BLAKE2b-256 45c1095e54e5fd170333420fa07cc2b19e9da48c17a1a8991e69504bad8b21a8

See more details on using hashes here.

File details

Details for the file ms_toollib-1.5.11-cp38-abi3-musllinux_1_2_aarch64.whl.

File metadata

  • Download URL: ms_toollib-1.5.11-cp38-abi3-musllinux_1_2_aarch64.whl
  • Upload date:
  • Size: 3.3 MB
  • Tags: CPython 3.8+, musllinux: musl 1.2+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.24 {"installer":{"name":"uv","version":"0.11.24","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for ms_toollib-1.5.11-cp38-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 f695d9728f29b55806cfdf3bfdf43b51eb93086baf1c9b2dbcf3be17608e2280
MD5 4d8efc763015ee0f5e4be49271470715
BLAKE2b-256 1826cbc7ca7abfa737f5b63889f1c3ec671ef28f1e9d1584630596572dd7d8a8

See more details on using hashes here.

File details

Details for the file ms_toollib-1.5.11-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

  • Download URL: ms_toollib-1.5.11-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
  • Upload date:
  • Size: 3.1 MB
  • Tags: CPython 3.8+, manylinux: glibc 2.17+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.24 {"installer":{"name":"uv","version":"0.11.24","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for ms_toollib-1.5.11-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0a3a6c7498ad617b3fc490bf4a87583b0266e963c867dbe1d9801ec6d94c11ce
MD5 4fc3f7e0927fbc04dca38b19354e91b9
BLAKE2b-256 e196c67e4547e5661c8adcfca9ba9ff866df9cc7a210b085c374079208ba22b5

See more details on using hashes here.

File details

Details for the file ms_toollib-1.5.11-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

  • Download URL: ms_toollib-1.5.11-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
  • Upload date:
  • Size: 3.1 MB
  • Tags: CPython 3.8+, manylinux: glibc 2.17+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.24 {"installer":{"name":"uv","version":"0.11.24","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for ms_toollib-1.5.11-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 2e374fed2c151795fc6553638ee535e69c4d54463d84d74902573825ccd524c4
MD5 e4567152ff8914f4d087a03e1c00b267
BLAKE2b-256 da5b391c3cb82991cfd2fa994914f271d4def03dbe163b6af35a6468b25276e9

See more details on using hashes here.

File details

Details for the file ms_toollib-1.5.11-cp38-abi3-manylinux_2_12_i686.manylinux2010_i686.whl.

File metadata

  • Download URL: ms_toollib-1.5.11-cp38-abi3-manylinux_2_12_i686.manylinux2010_i686.whl
  • Upload date:
  • Size: 2.8 MB
  • Tags: CPython 3.8+, manylinux: glibc 2.12+ i686
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.24 {"installer":{"name":"uv","version":"0.11.24","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for ms_toollib-1.5.11-cp38-abi3-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm Hash digest
SHA256 59f7f0a137f126a91e035c40d19938145e11c1d5d619ff1a239d900b3c3a71dd
MD5 6f80fa098ac0d79c06e3b5fae9c41878
BLAKE2b-256 96f8740805a3410d328f6c79cc50258f7a2cb04162bd0280fc3d414ed5122209

See more details on using hashes here.

File details

Details for the file ms_toollib-1.5.11-cp38-abi3-macosx_11_0_arm64.whl.

File metadata

  • Download URL: ms_toollib-1.5.11-cp38-abi3-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 2.5 MB
  • Tags: CPython 3.8+, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.24 {"installer":{"name":"uv","version":"0.11.24","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for ms_toollib-1.5.11-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 93ee8e7a9d9cafd589d8623caac14fb962d8e108c3903bcfd7474b93cd026130
MD5 40dce792b092736f7b5fdcc4d9176324
BLAKE2b-256 03adc0bdf23ad690304d15cada92b215d4a3ee61f0586debd125653b2054aa4a

See more details on using hashes here.

File details

Details for the file ms_toollib-1.5.11-cp38-abi3-macosx_10_12_x86_64.whl.

File metadata

  • Download URL: ms_toollib-1.5.11-cp38-abi3-macosx_10_12_x86_64.whl
  • Upload date:
  • Size: 2.7 MB
  • Tags: CPython 3.8+, macOS 10.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.24 {"installer":{"name":"uv","version":"0.11.24","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for ms_toollib-1.5.11-cp38-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 fe82050dfa826843c226044f5f6da85318c89ca50bb8ea45d746819d9056afeb
MD5 0a80fa9433522e7f9bd2c4273730800e
BLAKE2b-256 c089cf9756834cea7d6b4781f7e1d774e7607f91ac3deb3fac4300d9344f090e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page