dyce


General purpose python dice toolkit, with custom expression parser.

Dyce

Dyce is a toolkit for rolling dice. It's a friendly wrapper around python's random module.

Dyce also has a mini-language for expressing random number patterns, including common dice notation, making it ideal for easily storing random number generators in config files.

Finally, Dyce has basic support for rolling against result tables stored as INI-style text files.

Project meta-goal

A further goal of Dyce, as a small project, is to exemplify some best practices in documentation, packaging, style, etc. It should be helpful as a live example of good techniques for managing and maintaining a python project, small or large.

Currently

  • automation: Dyce uses Vellum to provide automation of common tasks.

  • packaging: Dyce uses setuptools for packaging, and is registered at PyPI.

  • environment: Dyce uses zc.buildout to manage the development environment, including local installation of dependencies. This keeps Dyce from ever clobbering your system python's site-packages.

  • style: Dyce tries to follow Python's style guide, PEP 8.

Needs Improvement

  • testing: Portions of Dyce are well-tested using python's unittest framework, with a couple of good 3rd-party testing tools, nose and testoob.

  • documentation: Dyce is fairly thoroughly documented, but needs some improvement here to truly be an exemplar. Dyce makes use of Epydoc to automatically generate API documentation.

  • ChangeLog: Dyce has just adopted, and is adjusting to good changelog practice.

Project Information

Labels:
python game dice