Welcome, guest | Sign In | My Account | Store | Cart

Notice! PyPM is being replaced with the ActiveState Platform, which enhances PyPM’s build and deploy capabilities. Create your free Platform account to download ActivePython or customize Python with the packages you require and get automatic updates.

pypm install diceroll

How to install diceroll

  1. Download and install ActivePython
  2. Open Command Prompt
  3. Type pypm install diceroll
 Python 2.7Python 3.2Python 3.3
Windows (32-bit)
2.4 Available View build log
Windows (64-bit)
2.4 Available View build log
Mac OS X (10.5+)
2.4 Available View build log
Linux (32-bit)
2.4 Available View build log
0.5 Failed View build log
0.3 Failed View build log
Linux (64-bit)
2.4 Available View build log
0.5 Failed View build log
0.3 Failed View build log
Lastest release
version 2.4 on Aug 7th, 2013
Latest PyPI version Number of PyPI downloads

diceroll is a simple command line dice roller.

It can be invoked through the roll command once installed.


Requires the pyparsing library.

Expression syntax

The basic components of diceroll expressions are dice and integers, which can then have operators applied to them. The expression is always read left-to-right, so operators are called in order of position, not order of precedence.

Multiple expressions can be given, seperated by commas (,).

Dice are expressed in the form <N>d<S>, where N is the number of dice that will be rolled, and S is the number of sides those dice have.

Integers are simply expressed as one or more digits (i.e. 0-9).

Subexpressions can be placed in parenthesis (), and are evaluated in full before the main expression is evaluated.

Unary operators

These operators act on the previous component, and almost always accept only dice.


<D>t, <D> total: Returns the sum total of the diceroll (as an integer value).


<D>s, <D>sort: Sorts diceroll D.


<D>x, <D>explode: Rolls an extra die for every diceroll that hits the maximum.

Binary Operators

These operators act on two components (the previous and the next).


<X>*<Y>, <X>/<Y>, <X>+<Y>, <X>-<Y>

Performs a basic operation on two components - respectively multiplication, division, addition, subtraction. Dicerolls are converted to integers, using the sum total of the rolls.

Drop and Keep

<X>v<Y>, <X>drop<Y>: Drop the Y lowest rolls from diceroll X. <X>^<Y>, <X>keep<Y>: Similar to drop, keeps the Y highest rolls from X.

Reroll and Recursive Reroll

<D>r<N>, <D>reroll<N>: Reroll any dice in D that are equal to or lower than N.

<D>rr<N>, <D>rreroll<N>: The same as reroll, but does so recursively - any rerolled dice equal to or lower than N are also rerolled


<X>~<Y>, <X>diff<Y>: Returns the difference between X and Y.


<D> success [C][B] <N> Returns the count of dice in D that land equal to or higher than N. C and B are optional flags: C removes a success every time a die hits the minimum, B adds a success every time a die lands on the maximum.

Subscribe to package updates

Last updated Aug 7th, 2013

Download Stats

Last month:1

What does the lock icon mean?

Builds marked with a lock icon are only available via PyPM to users with a current ActivePython Business Edition subscription.

Need custom builds or support?

ActivePython Enterprise Edition guarantees priority access to technical support, indemnification, expert consulting and quality-assured language builds.

Plan on re-distributing ActivePython?

Get re-distribution rights and eliminate legal risks with ActivePython OEM Edition.