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

Uploaded CPython 3.8+Windows x86-64

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

Uploaded CPython 3.8+Windows x86

ms_toollib-1.5.14-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.14-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.14-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.14-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.14-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.14-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.14-cp38-abi3-macosx_11_0_arm64.whl (2.6 MB view details)

Uploaded CPython 3.8+macOS 11.0+ ARM64

ms_toollib-1.5.14-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.14.tar.gz.

File metadata

  • Download URL: ms_toollib-1.5.14.tar.gz
  • Upload date:
  • Size: 312.1 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.14.tar.gz
Algorithm Hash digest
SHA256 f244138611a268a955761ca7649efcf3fc28354760deee2916c5e1e133774d72
MD5 4507d7d22b23c1cf52dc2e9ad617c99e
BLAKE2b-256 bec97de36dfee07fa27740e8a105cf1dc85c6b2544866b00d9b27b0118b3986b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ms_toollib-1.5.14-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.14-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 2564200ac4b95a71d0ec2304090e6c09d0c99abda7611346d44c67cbcff3291a
MD5 3096a2ed4158c6e4263389ecbf8cd17f
BLAKE2b-256 3099cda9642e947688926d56a887e3a3463767188caddb39a922d8f33c015b4b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ms_toollib-1.5.14-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.14-cp38-abi3-win32.whl
Algorithm Hash digest
SHA256 f9cde66b165da09ed5c596643b084c637c3ca1928042800df28004fc982b860c
MD5 52514e10b53724d41486c0e7e58bb9f5
BLAKE2b-256 685115b7fb67b70a220990570e9a4ebfda77dd53a7bb9ae01fe57822629e6424

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ms_toollib-1.5.14-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.14-cp38-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 79db2a52d41c96169b12ac2f11f24c88a8740cd2a5914ea7461f5df385583db4
MD5 e1b732980009d138418d06fa2d80eb67
BLAKE2b-256 3671a8f3c20da065694f0812fafbd8e8ae2c716f7117567cb702b686f0d3c4a9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ms_toollib-1.5.14-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.14-cp38-abi3-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 ecd9af8c70fcf1e556d55eec40c3521c2b8eff8579e54632870e72094bd47ed8
MD5 1032442d2c9847b7534a00de1ec9dfe4
BLAKE2b-256 4a71ba994ec8b2bac417bbf361dd9eba1fa027a9a1b3490283b2c1d47afe5704

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ms_toollib-1.5.14-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.14-cp38-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 8f75bb7bb710f5cf51e15baecf9fe1683d33e7742cc5727b523f36903d3790fd
MD5 884b0e9a257ea180acaab6388f8ec67f
BLAKE2b-256 5f90231638cb543010b31cfda7307b2f787eec0d9ad4ddb01ecb5b1e88214416

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ms_toollib-1.5.14-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.14-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 062460b3237b2164dd8b07c0379c823763b253de6671fe75b3beb8be94a6c03c
MD5 5f8c097df453d20e6b4e6e7e424a3175
BLAKE2b-256 7715b448a7a80fd7ca591cec603bc50c7d623100878c67133a0228b674babb13

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ms_toollib-1.5.14-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.14-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 274bccfc4de821caf60ca20beada3bef1ae6eff46ee335925801e5e31883e285
MD5 0d4fbe5cf83b5cdbac4da1cc0584c856
BLAKE2b-256 743343697837aa37c8ef52b914973b811f48f136301015de4029d156397e64a4

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ms_toollib-1.5.14-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.14-cp38-abi3-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm Hash digest
SHA256 4c149d44f33f58da12e6ba32f98a7733d3c3698a21092d4c03a7edc6487d10e7
MD5 afa91145275f62d6c772bc69c832ac17
BLAKE2b-256 3e3c9d2aa43cf966a47ee9b38e6d5c1930a2c557547333dc5a29fdf7ecbdc03d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ms_toollib-1.5.14-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.14-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 511977a7fc0fb27c2b82a2132b2aa6fdf9df5e33f057da269a97d970ec28da12
MD5 a883beb77d6fb097c2ddf6384557f420
BLAKE2b-256 595e8ef9f65fd883fff90f75f37ac7497f67dbe93999e213135326eda4e5a3ae

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ms_toollib-1.5.14-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.14-cp38-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 3120d55744618a70c6856baaf965adabd18789caf3238e67e3ebba3bd62873c1
MD5 06a9f7e64e5bd626c403507b70836873
BLAKE2b-256 6482350e6617989ae25f1bd7484083dd75c40f53d3ffa849c1f10ce9d1c06404

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