Skip to content

posita/anydyce

Repository files navigation

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.

Tests Coverage Version Development Stage License Supported Python Versions Supported Python Implementations pre-commit dyce-powered! Bear-ified™

anydyce – Application experiments for dyce

anydyce is a testing ground for various interactive interfaces to dyce (the dice mechanic modeling library). Currently, it includes:

  1. A JupyterLite graphing widget using Matplotlib and Jupyter Widgets for visualizing histograms and pools:
    • Try it! 👉 Try dyce 👈
  2. 💥 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.
    • Try it! 👉 Try the AnyDice-compatible playground 👈

!!! 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:

Requirements

anydyce requires a relatively modern version of Python:

It has the following runtime dependencies:

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.

Footnotes

  1. 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.

About

Visualization tools for dyce

Resources

License

Stars

8 stars

Watchers

1 watching

Forks

Packages

 
 
 

Contributors