Skip to main content

A DCSS Webtile API for Rust.

Project description

dcss-api

dcss-api is an easy to use Rust and Python wrapper for Dungeon Crawl Stone Soup's (DCSS) Webtile websocket API. It supports logging in, starting a game and sending commands during game play.

Documentation

The documentation for the dcss-api can be found here. The best way to start is to look at the examples here for Rust and here for Python. Please see the Setup in order to be able to run these examples.

In depth documentation about the DCSS websocket API can also be found here (not yet finalized).

Setup

Building DCSS Webtile

The API works for both local and public version of DCSS Webtiles. To run on a public server, you must limit the connection to a maximum of one command every 100 milliseconds (i.e. 10 commands per seconds), by setting the speed_ms option to 100 while connecting. Follow any other rules required by the server's owner.

Due to this, it is preferred to run the API against a local version of DCSS Webtile. You can find installation information on the DCSS Webtiles Server page.

A summary (after installing all prerequisites):

git clone "https://github.com/crawl/crawl.git"
cd crawl/crawl-ref/source/
git checkout stone_soup-0.29
make WEBTILES=y
python webserver/server.py

Building Python

The python package for dcss-api is a PyO3 Python wrapper for the Rust package. It can be built using the following commands:

mkdir pyo3
python -m venv pyo3
source pyo3/bin/activate
pip install maturin patchelf
maturin develop -r

Testing

In order to run cargo test or pytest, a local DCSS Webtile, with the stone_soup-0.29 or stone_soup-0.30 branch, must be exposed on localhost:8080 and two users must be created: Username and Username2, both with the password set to Password.

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

dcss_api-0.1.4-cp312-none-win_amd64.whl (509.3 kB view hashes)

Uploaded CPython 3.12 Windows x86-64

dcss_api-0.1.4-cp312-none-win32.whl (494.0 kB view hashes)

Uploaded CPython 3.12 Windows x86

dcss_api-0.1.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.4 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

dcss_api-0.1.4-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl (3.4 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ s390x

dcss_api-0.1.4-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (3.4 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ ppc64le

dcss_api-0.1.4-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl (3.4 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ i686

dcss_api-0.1.4-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (3.0 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ ARMv7l

dcss_api-0.1.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.1 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ ARM64

dcss_api-0.1.4-cp312-cp312-macosx_11_0_arm64.whl (664.4 kB view hashes)

Uploaded CPython 3.12 macOS 11.0+ ARM64

dcss_api-0.1.4-cp312-cp312-macosx_10_7_x86_64.whl (687.3 kB view hashes)

Uploaded CPython 3.12 macOS 10.7+ x86-64

dcss_api-0.1.4-cp311-none-win_amd64.whl (509.5 kB view hashes)

Uploaded CPython 3.11 Windows x86-64

dcss_api-0.1.4-cp311-none-win32.whl (493.9 kB view hashes)

Uploaded CPython 3.11 Windows x86

dcss_api-0.1.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.4 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

dcss_api-0.1.4-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl (3.4 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ s390x

dcss_api-0.1.4-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (3.4 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ppc64le

dcss_api-0.1.4-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl (3.4 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ i686

dcss_api-0.1.4-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (3.0 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ARMv7l

dcss_api-0.1.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.1 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ARM64

dcss_api-0.1.4-cp311-cp311-macosx_11_0_arm64.whl (669.7 kB view hashes)

Uploaded CPython 3.11 macOS 11.0+ ARM64

dcss_api-0.1.4-cp311-cp311-macosx_10_7_x86_64.whl (688.4 kB view hashes)

Uploaded CPython 3.11 macOS 10.7+ x86-64

dcss_api-0.1.4-cp310-none-win_amd64.whl (509.4 kB view hashes)

Uploaded CPython 3.10 Windows x86-64

dcss_api-0.1.4-cp310-none-win32.whl (494.1 kB view hashes)

Uploaded CPython 3.10 Windows x86

dcss_api-0.1.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.4 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

dcss_api-0.1.4-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl (3.4 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ s390x

dcss_api-0.1.4-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (3.4 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ppc64le

dcss_api-0.1.4-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl (3.4 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ i686

dcss_api-0.1.4-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (3.0 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARMv7l

dcss_api-0.1.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.1 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARM64

dcss_api-0.1.4-cp310-cp310-macosx_11_0_arm64.whl (666.0 kB view hashes)

Uploaded CPython 3.10 macOS 11.0+ ARM64

dcss_api-0.1.4-cp310-cp310-macosx_10_7_x86_64.whl (688.5 kB view hashes)

Uploaded CPython 3.10 macOS 10.7+ x86-64

dcss_api-0.1.4-cp39-none-win_amd64.whl (509.8 kB view hashes)

Uploaded CPython 3.9 Windows x86-64

dcss_api-0.1.4-cp39-none-win32.whl (495.2 kB view hashes)

Uploaded CPython 3.9 Windows x86

dcss_api-0.1.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.4 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

dcss_api-0.1.4-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl (3.4 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ s390x

dcss_api-0.1.4-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (3.4 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ppc64le

dcss_api-0.1.4-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl (3.4 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ i686

dcss_api-0.1.4-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (3.0 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ARMv7l

dcss_api-0.1.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.1 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ARM64

dcss_api-0.1.4-cp39-cp39-macosx_11_0_arm64.whl (666.4 kB view hashes)

Uploaded CPython 3.9 macOS 11.0+ ARM64

dcss_api-0.1.4-cp39-cp39-macosx_10_7_x86_64.whl (689.0 kB view hashes)

Uploaded CPython 3.9 macOS 10.7+ x86-64

dcss_api-0.1.4-cp38-none-win_amd64.whl (509.4 kB view hashes)

Uploaded CPython 3.8 Windows x86-64

dcss_api-0.1.4-cp38-none-win32.whl (494.0 kB view hashes)

Uploaded CPython 3.8 Windows x86

dcss_api-0.1.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.4 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

dcss_api-0.1.4-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl (3.4 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ s390x

dcss_api-0.1.4-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (3.4 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ ppc64le

dcss_api-0.1.4-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl (3.4 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ i686

dcss_api-0.1.4-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (3.0 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ ARMv7l

dcss_api-0.1.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.1 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ ARM64

dcss_api-0.1.4-cp38-cp38-macosx_11_0_arm64.whl (669.9 kB view hashes)

Uploaded CPython 3.8 macOS 11.0+ ARM64

dcss_api-0.1.4-cp38-cp38-macosx_10_7_x86_64.whl (689.3 kB view hashes)

Uploaded CPython 3.8 macOS 10.7+ x86-64

Supported by

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