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.13.tar.gz (311.9 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.13-cp38-abi3-win_amd64.whl (2.7 MB view details)

Uploaded CPython 3.8+Windows x86-64

ms_toollib-1.5.13-cp38-abi3-win32.whl (2.3 MB view details)

Uploaded CPython 3.8+Windows x86

ms_toollib-1.5.13-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.13-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.13-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.13-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.2 MB view details)

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

ms_toollib-1.5.13-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.2 MB view details)

Uploaded CPython 3.8+manylinux: glibc 2.17+ ARM64

ms_toollib-1.5.13-cp38-abi3-manylinux_2_12_i686.manylinux2010_i686.whl (2.9 MB view details)

Uploaded CPython 3.8+manylinux: glibc 2.12+ i686

ms_toollib-1.5.13-cp38-abi3-macosx_11_0_arm64.whl (2.6 MB view details)

Uploaded CPython 3.8+macOS 11.0+ ARM64

ms_toollib-1.5.13-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.13.tar.gz.

File metadata

  • Download URL: ms_toollib-1.5.13.tar.gz
  • Upload date:
  • Size: 311.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.26 {"installer":{"name":"uv","version":"0.11.26","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.13.tar.gz
Algorithm Hash digest
SHA256 90d0a48ef67df0d075359e23dae752f6447911780578b13904ccb972f0005e20
MD5 f0a6c976b65f0882968cf5dbf591358e
BLAKE2b-256 46d25f4e37803d8c48365f41916830d4d8a9ea79b3e0fa1a9d01a1e1b0a17dfd

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ms_toollib-1.5.13-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.26 {"installer":{"name":"uv","version":"0.11.26","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.13-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 76f4ba53cf0002c5014d5eeed3c9c9c82ae63faa90589052a35a83803f3361c6
MD5 db695c442dc44c323c2b9422ddfeb619
BLAKE2b-256 7adc1fbef03144e200d1f3626cff915abb0cbcee32d2bcdab02e952fb67336ba

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ms_toollib-1.5.13-cp38-abi3-win32.whl
  • Upload date:
  • Size: 2.3 MB
  • Tags: CPython 3.8+, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.26 {"installer":{"name":"uv","version":"0.11.26","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.13-cp38-abi3-win32.whl
Algorithm Hash digest
SHA256 ddc2c33f02c1db2cf1ed7f2e626a442ecd28e6860114680ed1f3d79e3f727f89
MD5 fd61858bc19943bd28c04cd69c670a88
BLAKE2b-256 148f1ff11b26dee122db77c55872e823915c7e11801df13144b302dd086b802a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ms_toollib-1.5.13-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.26 {"installer":{"name":"uv","version":"0.11.26","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.13-cp38-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 c1498fa6f5c89863f9d17d7d7581590f6d95a580230c3a0b2d891e3a4871ef2a
MD5 0116d3596fa77b26a2dc1acfc6e30ce2
BLAKE2b-256 c81d745f89dea41c9fd27acc0e212de0d347fb3ae77aa532dd377adf33b48fd5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ms_toollib-1.5.13-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.26 {"installer":{"name":"uv","version":"0.11.26","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.13-cp38-abi3-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 b67855c691fbcfce491c850a97ba8daedf2d4b1c5ff937bf082327ccb7a01ebd
MD5 992be41cb5403b06012ac884cd5a1dcf
BLAKE2b-256 685659751004e749ec07cbff69067403c011047b2b03ff5af64371845b44655f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ms_toollib-1.5.13-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.26 {"installer":{"name":"uv","version":"0.11.26","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.13-cp38-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 75da82c05927c88d866fc45110a517469ddedf8ab5845e6a2d8606b52a3c737f
MD5 e069e24eb20be9f6e944f79d970a4212
BLAKE2b-256 a90770a98fe4cef5030b82f5e88312e4ca94e9d7253c9a5482423b78f6f7768c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ms_toollib-1.5.13-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
  • Upload date:
  • Size: 3.2 MB
  • Tags: CPython 3.8+, manylinux: glibc 2.17+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.26 {"installer":{"name":"uv","version":"0.11.26","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.13-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9e502a49213cbe9b21fe4048a05bb2dfcd7778491acb380c650f00ffaa61ecd9
MD5 8f1a5631fd11f1a86beec89aed5e9952
BLAKE2b-256 384aaee731b3ee90eb4c92276fd597bd67737c3ae0c43e1874babdb6d0e7cf82

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ms_toollib-1.5.13-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
  • Upload date:
  • Size: 3.2 MB
  • Tags: CPython 3.8+, manylinux: glibc 2.17+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.26 {"installer":{"name":"uv","version":"0.11.26","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.13-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 ade4357acb717a81b5f6f356eb271a55b953aae7cb43ef8eb6ec0ef5d6cccdbd
MD5 a602e2c56c924de0086fa6450bc6cef7
BLAKE2b-256 ff01bf5a987a2e359ac695b58514f5729855a60a5604e359a98170aab1318df1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ms_toollib-1.5.13-cp38-abi3-manylinux_2_12_i686.manylinux2010_i686.whl
  • Upload date:
  • Size: 2.9 MB
  • Tags: CPython 3.8+, manylinux: glibc 2.12+ i686
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.26 {"installer":{"name":"uv","version":"0.11.26","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.13-cp38-abi3-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm Hash digest
SHA256 714a36db80656cf49018207e37409cce192760f77cf254fb4b064344d3eb3868
MD5 a3cfed9fbe69950412aae027fdf571f8
BLAKE2b-256 b5b2f29f6e9f6f3a422e5d9c5f451950d56cf33c298e4519ba93c4b646cb156a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ms_toollib-1.5.13-cp38-abi3-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 2.6 MB
  • Tags: CPython 3.8+, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.26 {"installer":{"name":"uv","version":"0.11.26","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.13-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ee7d03f5c1d22a2ee7a209465bd51c37b314d4ad1bc76d250a5544484292edbb
MD5 c19fc5608ce612b193a757605118d8ba
BLAKE2b-256 acd5d1320a9d1d1397e845867b013de900b165dd94b53f6ef58ff797c59b4e13

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ms_toollib-1.5.13-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.26 {"installer":{"name":"uv","version":"0.11.26","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.13-cp38-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 a18b38b548072db596f3232479aab0034c7e5ff35e649d379803af2d15c15462
MD5 e335b08c6b199dc970dd580a953b5145
BLAKE2b-256 d1ad035f264d1db99f6312c185f781e667ec17dc3f4e4f575827128e3b20d36d

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