Skip to main content

GNOLL

Build + Test GitHub license GitHub last commit Donate

An easy to integrate dice notation library for C, C++, Perl and Python. Use for instant support of common syntax and a library that can scale with your demands, rather than a sticky taped monstrousity of regular expressions and tears.

Here's an example of how you might use GNOLL:

   Grindon The Brave: I want to steal from the goblin sitting at the bar.
   Dungeon Master: Okay, give me a stealth check!
   Grindon The Brave: Okay, that's a <1d20+5>
   [GNOLL]: 21
   Dungeon Master: Hurrah! You successfully pickpocket the goblin! However, all he had in there were some crummy dice...

You can follow Grindon's adventure through the world of dice notation in our Wiki

Current Status

🧑‍💻 Language Support

We wrote GNOLL to be the definitive solution to dice notation. We've written all the code in C, but fear not! We will be adding more wrappers for you to access GNOLL's functionality through different languages in the near future.

  • C / C++
  • Python
  • Perl

Tested on Linux (Ubuntu) and Windows (10, WSL).

🎲 Dice Notation

  • XdY notation
  • Arithmetic
  • Fate Dice
  • Miscellaneous Symbolic Dice
  • Macros
  • Explosions
  • Drop/Keep

For the specific details of supported notation, we've got a dedicated section in our wiki. And feel free to ask for anything we're missing!

Getting Started

🛠️ Prerequisites

  • Linux Support (We have an open issue with support on POSIX systems e.g. Cygwin, WSL)
sudo apt-get install bison flex make python3-pip -y
make all

That's it for the basics, for specific language installs, check the wiki!

To verify your setup, try our tests:

   make test

Or, just try some commands yourself!

$ ./dice 1d20
20

(Note that not all commands may not be able to be used this way as some symbols are reserved for use by different terminal interfaces (e.g. bash uses ! and #))

🐛 Issues / Bugs / FAQs / Feature Requests

We are currently building a Wiki to help you in building on top of GNOLL. In the meantime, if you encounter any issues, please file them in our Issue Tracker. You can vote on prospective new features on FeatHub

Please bear with us as we build a project charter to define the scope of the project.

✋ Contributing

Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.

🔢 Versioning

We use SemVer for versioning. For the versions available, see the tags on this repository.

🤹 Authors / Contributers / Attributions

See also the list of contributors who participated in this project.

📃 License

This project is licensed under the GNU General Public License v3.0 - see the LICENSE.md file for details.

Individiual licensing arrangements can be made if this is an issue for your project - Contact Me at LinkedIn to discuss.

👏 Acknowledgments

  • Billie Thompson - README & Contribution Templates - PurpleBooth

🏗️ Built With

💰 Donate

Keep this project alive

Download files

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

Source Distribution

gnoll-2.3.7.tar.gz (4.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

gnoll-2.3.7-py3-none-any.whl (5.0 kB view details)

Uploaded Python 3

File details

Details for the file gnoll-2.3.7.tar.gz.

File metadata

  • Download URL: gnoll-2.3.7.tar.gz
  • Upload date:
  • Size: 4.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for gnoll-2.3.7.tar.gz
Algorithm Hash digest
SHA256 4c8caae520599762768ff2b74738e2661143d90daa56ebd5ac0814728b7178e2
MD5 6067d84fe80981ce25a53ac7e211806c
BLAKE2b-256 72da1c61960b394ab8fe0c0dc0a533a9696c54be0c16547f4c6af21528e2b660

See more details on using hashes here.

File details

Details for the file gnoll-2.3.7-py3-none-any.whl.

File metadata

  • Download URL: gnoll-2.3.7-py3-none-any.whl
  • Upload date:
  • Size: 5.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for gnoll-2.3.7-py3-none-any.whl
Algorithm Hash digest
SHA256 724940dfab8bef7ad5eb7383e06544950efdb5577cb2b95fb311d4a1b926aff3
MD5 98cda2015eeded834bc77927fa2aec83
BLAKE2b-256 664697f46a95f9dcce3b91785d5aa4a36052f488a7c24aab52b015e5f55d7ff6

See more details on using hashes here.

Release history Release notifications | RSS feed

4.5.5

2 files

4.5.3

1 file

4.5.2

1 file

4.4.0

3 files

4.3.4

5 files

4.3.0

3 files

4.2.7

2 files

4.2.5

2 files

4.2.0

2 files

4.1.0

2 files

4.0.1

2 files

3.2.0

2 files

3.1.0

2 files

3.0.0

2 files

2.12.0

2 files

2.11.1

2 files

2.11.0

2 files

2.10.0

2 files

2.9.0

2 files

2.8.9

2 files

2.8.8

2 files

2.8.7

2 files

2.8.5

2 files

2.8.4

2 files

2.8.3

2 files

2.8.2

2 files

2.8.1

2 files

2.7.2

2 files

2.7.0

2 files

2.6.0

2 files

2.5.0

2 files

2.4.2

2 files

2.4.1

2 files

2.4.0

2 files

This release

2.3.7 This release

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page