Skip to main content

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

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+

Documentation

For more, see the Documentation

Examples:

import dice

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

score = rolldice(6, amount=2)

# manipulates the score as an integer

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

# Or iterates over the results

for result in score:
    print(result)
>> 5
>> 6

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

ps = roll("2d6+18")

print(ps)
>> 28
print(ps.format())
>> '[5,6]+18'

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

print(ps)
>> 315
print(ps.format(verbose=True))
>> '6D%L2(scores:[80, 70, 76, 89], dropped:[2, 49])'

CLI

Run python roll.py [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

CONTRIBUTION

Any opinion / contribution is welcome, please contact us.

TO INSTALL

pip install xdice

License

xdice is under GNU License

Author

Olivier Massot, 2017

Tags

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.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

xdice-1.2.1-py3-none-any.whl (19.3 kB view details)

Uploaded Python 3

File details

Details for the file xdice-1.2.1-py3-none-any.whl.

File metadata

  • Download URL: xdice-1.2.1-py3-none-any.whl
  • Upload date:
  • Size: 19.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/45.0.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.0

File hashes

Hashes for xdice-1.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 95e7afe18a6111a0497a949b7a5464596df758d5d8bd2f18279cb57d9527a399
MD5 ac14c2988d16297e29043c5850f6354a
BLAKE2b-256 8877b9a0d73690e276bdd202fa186c3ed72a2e08b9df2953332f42616b2335b7

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page