Skip to main content

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

Metadata

Release files for ms_toollib 1.5.20

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ms_toollib 1.5.20
File Size Uploaded
ms_toollib-1.5.20.tar.gz 314.9 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for ms_toollib 1.5.20
File
ms_toollib-1.5.20-cp38-abi3-win_amd64.whl CPython 3.8 abi3 Windows x86-64 Details
ms_toollib-1.5.20-cp38-abi3-win32.whl CPython 3.8 abi3 Windows x86-32 Details
ms_toollib-1.5.20-cp38-abi3-musllinux_1_2_x86_64.whl CPython 3.8 abi3 Linux musl 1.2+ x86-64 Details
ms_toollib-1.5.20-cp38-abi3-musllinux_1_2_i686.whl CPython 3.8 abi3 Linux musl 1.2+ x86-32 Details
ms_toollib-1.5.20-cp38-abi3-musllinux_1_2_aarch64.whl CPython 3.8 abi3 Linux musl 1.2+ ARM64 Details
ms_toollib-1.5.20-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.8 abi3 Linux glibc 2.17+ x86-64 Details
ms_toollib-1.5.20-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.8 abi3 Linux glibc 2.17+ ARM64 Details
ms_toollib-1.5.20-cp38-abi3-manylinux_2_12_i686.manylinux2010_i686.whl CPython 3.8 abi3 Linux glibc 2.12+ x86-32 Details
ms_toollib-1.5.20-cp38-abi3-macosx_11_0_arm64.whl CPython 3.8 abi3 macOS 11.0+ ARM64 Details
ms_toollib-1.5.20-cp38-abi3-macosx_10_12_x86_64.whl CPython 3.8 abi3 macOS 10.12+ x86-64 Details

Total release size: 29.4 MB

Release files / ms_toollib-1.5.20.tar.gz

Download URL ms_toollib-1.5.20.tar.gz
Size 314.9 kB
Tags Source
SHA-256 checksum
How to use checksums
55dc8430b4c402352084720d2de4a5b621162a46d17b51009a6ddbf1aebdb138
BLAKE2b-256 checksum
How to use checksums
6bdd3df232f43fe14bf11b445a5c196e6e6baec4c639f69c9dd7d53be101777c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","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}

Release files / ms_toollib-1.5.20-cp38-abi3-win_amd64.whl

Download URL ms_toollib-1.5.20-cp38-abi3-win_amd64.whl
Size 2.7 MB
Tags CPython 3.8 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
21a67c3e26605ce2dbfd194f87a18b1caddc7b226d1d31580d9b938b53039487
BLAKE2b-256 checksum
How to use checksums
db522e3908d939715a239045121a2ead684f10e8b7fc493914d8a715435f92d5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","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}

Release files / ms_toollib-1.5.20-cp38-abi3-win32.whl

Download URL ms_toollib-1.5.20-cp38-abi3-win32.whl
Size 2.3 MB
Tags CPython 3.8 Windows x86-32 abi3
SHA-256 checksum
How to use checksums
5032c0f42a4d82c3ce74493cc5d598d6fb6b66af2b5fc60db12ca72ba1d0d0e1
BLAKE2b-256 checksum
How to use checksums
78bee14d732d3ad15a8bcbc898d862be2036d60def6a9da278655157667877ab
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","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}

Release files / ms_toollib-1.5.20-cp38-abi3-musllinux_1_2_x86_64.whl

Download URL ms_toollib-1.5.20-cp38-abi3-musllinux_1_2_x86_64.whl
Size 3.4 MB
Tags CPython 3.8 Linux musl 1.2+ x86-64 abi3
SHA-256 checksum
How to use checksums
c5ca8f9d18673a2475311507f52c99c89d03d9540f5a30afe1369ed78d40d4cd
BLAKE2b-256 checksum
How to use checksums
c57d8f1eb80accaff42a51f3fe9c7ddc51b2ff5ac28ac1e34d5c0ad03d67b42c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","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}

Release files / ms_toollib-1.5.20-cp38-abi3-musllinux_1_2_i686.whl

Download URL ms_toollib-1.5.20-cp38-abi3-musllinux_1_2_i686.whl
Size 2.9 MB
Tags CPython 3.8 Linux musl 1.2+ x86-32 abi3
SHA-256 checksum
How to use checksums
f4952b19f062ac6839ae6d3aa09cf4459ffaac870c81d4583e7b6733f5d57e35
BLAKE2b-256 checksum
How to use checksums
3265f19e5cb64a787caca914e8b0a12173fe2a2491a5b81ff5a624866be64fab
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","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}

Release files / ms_toollib-1.5.20-cp38-abi3-musllinux_1_2_aarch64.whl

Download URL ms_toollib-1.5.20-cp38-abi3-musllinux_1_2_aarch64.whl
Size 3.3 MB
Tags CPython 3.8 Linux musl 1.2+ ARM64 abi3
SHA-256 checksum
How to use checksums
78e04709a5cdca1f2912c654175d587c56b318f2e46eaad05d5afdc4cf2f0ec4
BLAKE2b-256 checksum
How to use checksums
ab1d4c95f676d37cd4eda351f8f7e85e4f0b4abd2dbebc0ba30cde362c86e939
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","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}

Release files / ms_toollib-1.5.20-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL ms_toollib-1.5.20-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 3.2 MB
Tags CPython 3.8 Linux glibc 2.17+ x86-64 abi3
SHA-256 checksum
How to use checksums
9885ad7ceb0e88d6cf54dcb0be08f862cea7d7e258345115d033de7e68d125ff
BLAKE2b-256 checksum
How to use checksums
aa7ecc831e29552bb6dd29fd10ed4bc14029ac7d6716e9d93d74bc0279f68264
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","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}

Release files / ms_toollib-1.5.20-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL ms_toollib-1.5.20-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 3.2 MB
Tags CPython 3.8 Linux glibc 2.17+ ARM64 abi3
SHA-256 checksum
How to use checksums
0ed2207662d3e75f21d9b1e67de0f7e83267950c6dc722a16b4e7b1981f292fc
BLAKE2b-256 checksum
How to use checksums
3de1516f34207f71396652efa9073701bca5d448d9b43b8d8f2441633b98dcb4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","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}

Release files / ms_toollib-1.5.20-cp38-abi3-manylinux_2_12_i686.manylinux2010_i686.whl

Download URL ms_toollib-1.5.20-cp38-abi3-manylinux_2_12_i686.manylinux2010_i686.whl
Size 2.8 MB
Tags CPython 3.8 Linux glibc 2.12+ x86-32 abi3
SHA-256 checksum
How to use checksums
08b4337c05da3405d1c34d6f9a02b926d7199a254f91077ee9f040dbaa53a6bd
BLAKE2b-256 checksum
How to use checksums
f9b23f565e8d10930005b0fb3cb9303665db163a572e956f662e49c2c48be3ad
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","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}

Release files / ms_toollib-1.5.20-cp38-abi3-macosx_11_0_arm64.whl

Download URL ms_toollib-1.5.20-cp38-abi3-macosx_11_0_arm64.whl
Size 2.6 MB
Tags CPython 3.8 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
e66a76962ebab6df6bd1fd2c8a2037133e7ea985c3691d23ada9948d025595ec
BLAKE2b-256 checksum
How to use checksums
9ec8d8d3ff098132ca4b20e908cd416b9413cf2a0dd8decba88c5243bf705f91
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","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}

Release files / ms_toollib-1.5.20-cp38-abi3-macosx_10_12_x86_64.whl

Download URL ms_toollib-1.5.20-cp38-abi3-macosx_10_12_x86_64.whl
Size 2.7 MB
Tags CPython 3.8 abi3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
556b67b69051b67c037079245c1678bd0f8600498eef4164cc5d2a5edbfd20d8
BLAKE2b-256 checksum
How to use checksums
435735c6f9aaa822126fd42ae9a6edce64a54c096fcd6bf62a6511e57ebed674
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","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}

Release history Release notifications | RSS feed

This release

1.5.20 This release

11 release files

1.5.8

21 release files

1.5.7

21 release files

1.5.6

21 release files

1.5.5

21 release files

1.5.4

21 release files

1.5.3

21 release files

1.5.2

21 release files

1.5.1

14 release files

1.4.9

11 release files

1.4.8

11 release files

1.4.7

1 release file

1.4.6

2 release files

1.4.5

1 release file

1.4.4

2 release files

1.4.3

2 release files

1.4.1

2 release files

1.4.0

2 release files

1.3.13

2 release files

1.3.11

1 release file

1.3.10

2 release files

1.3.9

2 release files

1.3.8

2 release files

1.3.7

2 release files

1.3.6

3 release files

1.3.4

2 release files

1.3.3

2 release files

1.3.2

2 release files

1.3.1

2 release files

1.3.0

2 release files

1.2.12

2 release files

1.2.11

2 release files

1.2.10

2 release files

1.2.9

2 release files

1.2.7

1 release file

1.2.2

1 release file

1.2.1

1 release file

1.2.0

1 release file

1.1.1

1 release file

1.1.0

1 release file

1.0.9

1 release file

1.0.6

1 release file

1.0.5

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page