Interactivity tools for dyce
Project description
Copyright and other protections apply.
Please see the accompanying LICENSE file for rights and restrictions governing use of this software.
All rights not expressly waived or licensed are reserved.
If that file is missing or appears to be modified from its original, then please contact the author before viewing or using this software in any capacity.
anydyce – Application experiments for dyce
anydyce is a testing ground for various interactive interfaces to dyce (the dice mechanic modeling library).
Currently, it includes:
- A JupyterLite graphing widget using Matplotlib and
Jupyter Widgetsfor visualizing histograms and pools: - 💥 New! 💥 A fully functioning, (mostly1) compatible, pure-Python AnyDice language interpreter and interactive playground. Quite a bit of detail is provided on how it was built, how it differs from the original, and all the pitfalls and nuances discovered along the way.
!!! danger "JupyterLite may not save your work!"
JupyterLite attempts to make use of your browser’s local storage for saving notebook changes.
Browser environments vary, including how long local storage is persisted.
Further, Binder loses all state once its instances shut down after a period of inactivity.
Be careful to download any notebooks you wish to keep.
If you find anything lacking in any way, please don’t hesitate to bring it to my attention.
Running locally
anydyce is also available as a PyPI package and as source.
To try it on your own hardware, use the quickstart-local.sh script to create a local virtual environment and bootstrap a local copy.
% git clone https://github.com/posita/anydyce.git anydyce && ./anydyce/quickstart-local.sh
...
INFO - Documentation built in 4.84 seconds
INFO - [20:39:05] Serving on http://127.0.0.1:8000/
Once loaded, try the following:
- Introduction Jupyter Lite notebook - http://127.0.0.1:8000/jupyter/lab/?path=anydyce_intro.ipynb
- AnyDice-compatible playground - http://127.0.0.1:8000/playground/
Requirements
anydyce requires a relatively modern version of Python:
It has the following runtime dependencies:
dycefor dice mechanic modeling- Lark for the AnyDice interpreter
- Matplotlib (optional) for visualizing histograms and pools
Jupyter Widgets(optional) for interactivity in Jupyter
anydyce is proudly 100% Bear-ified™! 👌🏾🐻
License
anydyce is licensed under the MIT License.
See the included LICENSE file for details.
Source code is available on GitHub.
-
It is not bug-compatible, instead including fixes for several longstanding implementation errors in AnyDice itself. Further, it does not support AnyDice’s
legacy "..."syntax. ↩
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file anydyce-0.5.0rc1.tar.gz.
File metadata
- Download URL: anydyce-0.5.0rc1.tar.gz
- Upload date:
- Size: 417.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
73edd361ab797f6e5d74e8ef003a1cdf30051580a745ee199540e5afc43c8910
|
|
| MD5 |
813148bec167e94c464616b9f8c5a322
|
|
| BLAKE2b-256 |
240dbc9b0c2e32a31f84aa3764621efa87ad29220a961e850b8d50d1b6a7f895
|
Provenance
The following attestation bundles were made for anydyce-0.5.0rc1.tar.gz:
Publisher:
publish.yml on posita/anydyce
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
anydyce-0.5.0rc1.tar.gz -
Subject digest:
73edd361ab797f6e5d74e8ef003a1cdf30051580a745ee199540e5afc43c8910 - Sigstore transparency entry: 1877814480
- Sigstore integration time:
-
Permalink:
posita/anydyce@caaabda6222567451dbb06cbf5da76079e2f4cbd -
Branch / Tag:
refs/tags/v0.5.0rc1 - Owner: https://github.com/posita
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@caaabda6222567451dbb06cbf5da76079e2f4cbd -
Trigger Event:
push
-
Statement type:
File details
Details for the file anydyce-0.5.0rc1-py3-none-any.whl.
File metadata
- Download URL: anydyce-0.5.0rc1-py3-none-any.whl
- Upload date:
- Size: 62.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
636f0e0d357841d185a3a408be46e166a3341b08765676f408eda140e0df308a
|
|
| MD5 |
9c7e56b2dce381a2e6fb244a8e9f5690
|
|
| BLAKE2b-256 |
59d1505dd26a8644a3399792382d938acd2c5cece69251aa2ce9597704b646a9
|
Provenance
The following attestation bundles were made for anydyce-0.5.0rc1-py3-none-any.whl:
Publisher:
publish.yml on posita/anydyce
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
anydyce-0.5.0rc1-py3-none-any.whl -
Subject digest:
636f0e0d357841d185a3a408be46e166a3341b08765676f408eda140e0df308a - Sigstore transparency entry: 1877814562
- Sigstore integration time:
-
Permalink:
posita/anydyce@caaabda6222567451dbb06cbf5da76079e2f4cbd -
Branch / Tag:
refs/tags/v0.5.0rc1 - Owner: https://github.com/posita
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@caaabda6222567451dbb06cbf5da76079e2f4cbd -
Trigger Event:
push
-
Statement type: