Skip to main content
Join the official 2020 Python Developers SurveyStart the survey!

The swiss knife for Dice roll : Command line, API (documented!), advanced dice notation parser, compilable patterns...etc.

Project description

Build Status Coverage Status Documentation Status


xdice is a lightweight python library for managing dice, scores, and dice-notation patterns.

  • Parse almost any Dice Notation pattern: ‘1d6+1’, ‘d20’, ‘3d%’, ‘1d20//2 - 2*(6d6+2)’, ‘max(1d4+1,1d6)’, ‘3D6L2’, ‘R3(1d6+1)’, ‘3dF’…etc.
  • API help you to easily manipulate dices, patterns, and scores as objects
  • A command line tool for convenience

Python Versions

xdice has been tested with python 3.4+


For more, see the Documentation


import dice

# Roll simple dices with rolldice()
    # eg: 2d6

score = rolldice(6, amount=2)

# manipulates the score as an integer

>> 11
print(score * 2)
>> 22
print(score == 11)
>> True

# Or iterates over the results

for result in score:
>> 5
>> 6

# Parse patterns with roll() and get a PatternScore object

ps = roll("2d6+18")

>> 28
>> '[5,6]+18'

    # Use special notations, as selective dice
ps = roll("6D%L2")

>> 315
>> '6D%L2(scores:[80, 70, 76, 89], dropped:[2, 49])'


Run python [options] <expr>

usage: roll [-h] [-V] [-n] [-v] expression [expression ...]

Command Line Interface for the xdice library

positional arguments:
  expression      mathematical expression(s) containing dice <n>d<s> patterns

optional arguments:
  -h, --help      show this help message and exit
  -V, --version   print the xdice version string and exit
  -n, --num_only  print numeric result only
  -v, --verbose   print a verbose result


Any opinion / contribution is welcome, please contact us.


pip install xdice


xdice is under GNU License


Olivier Massot, 2017


dice roll d20 game random parser dices role board

Project details

Download files

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

Files for xdice, version 1.2.1
Filename, size File type Python version Upload date Hashes
Filename, size xdice-1.2.1-py3-none-any.whl (19.3 kB) File type Wheel Python version py3 Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page