Skip to main content

Sokoban and variants game utilities

Project description

sokoenginepy - Sokoban and variants

version license python_versions python_implementations travis docs Codacy Badge codecov

This project implements various utilities for Sokoban:

  • board representation for Sokoban, Hexoban, Trioban and Octoban variants with support for Sokoban+ and Multiban for all four variants
  • movement implementation
  • reading and writing of level collections in .sok, .xsb, .tsb, .hsb and .txt file formats

It provides two almost identical implementations:

  • sokoneginepy - Python implementation and package
  • libsokoengine - C++ library with API that is 99.99% identical to Python

On Linux, Python package can also be optionally built with native extensions so that it utilizes libsokoengine for raw speed.

libsokoengine can be built completely independently, and consumed by native C++ clients.

Why?

  • experimenting with Boost.Graph in C++ and NetworkX in Python
  • experimenting with pybind11
  • playing with Sokoban file formats; conversion and validation, especially for Hexoban variant
  • ...

Install

sokoenginepy package from [PyPi]:

pip install sokoenginepy
  • libsokoengine can be built from source code, details are in README.libsokoengine.md
  • sokoenginepy can be optionally built with native C++ extensions, details are in INSTALL.md

Documentation

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

sokoenginepy-0.5.4.tar.gz (1.5 MB view details)

Uploaded Source

Built Distribution

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

sokoenginepy-0.5.4-cp39-cp39-manylinux_2_31_x86_64.whl (7.1 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.31+ x86-64

File details

Details for the file sokoenginepy-0.5.4.tar.gz.

File metadata

  • Download URL: sokoenginepy-0.5.4.tar.gz
  • Upload date:
  • Size: 1.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/33.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.63.0 importlib-metadata/4.11.2 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.5

File hashes

Hashes for sokoenginepy-0.5.4.tar.gz
Algorithm Hash digest
SHA256 8fb76962d47f9d1a50ea8979c2d875ceb0afdcc85e6c584f8a6537f6f26c18e7
MD5 154797edc6b8d6cf35752d9d0330aa6b
BLAKE2b-256 dee8c1d37df53e2c9ffd67700042fce3bbee590847abbd2a880a8f03f5a20eb3

See more details on using hashes here.

File details

Details for the file sokoenginepy-0.5.4-cp39-cp39-manylinux_2_31_x86_64.whl.

File metadata

  • Download URL: sokoenginepy-0.5.4-cp39-cp39-manylinux_2_31_x86_64.whl
  • Upload date:
  • Size: 7.1 MB
  • Tags: CPython 3.9, manylinux: glibc 2.31+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/33.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.63.0 importlib-metadata/4.11.2 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.5

File hashes

Hashes for sokoenginepy-0.5.4-cp39-cp39-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 e3238d2c95547f35b1794aea14198e41e1a8ebcf09a9f4438bfb083fd59b6661
MD5 fc4db0d8ce96b5363a376e67f2971474
BLAKE2b-256 679fb333ab1a14859d529e4a76d152e6f5dd63a22d18865ed1908f85f907ba2f

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