Skip to content

rpgleveler

A Python library and CLI for leveling up characters in the Basic Fantasy RPG system.

Features

  • Class-based progression (XP, attack bonus, saving throws)
  • Spell slot progression
  • Thief skill progression
  • Turn undead mechanics
  • Immutable character updates

Example

rpgleveler character_lvl1.json
from rpgleveler import level_up, load_character
from diceroller.core import DiceRoller

rng = DiceRoller()
character = load_character("character.json")
new_character, result = level_up(character, rng=rng)
print(new_character.to_dict())

Project Structure

The project is organized into a few core modules:

Module Purpose
core Common data classes
data Data tables for level progression
io Utilities to import/export character data
engine Core character leveling logic

See the API Reference section for full documentation.


Next Steps

  • See Getting Started to install the project
  • See CLI Reference for command line usage
  • See Character Leveling to understand the rules implemented
  • See API Reference for the Python interface

License

This project is distributed under the MIT License.

Basic Fantasy RPG is an open tabletop RPG by Chris Gonnerman and distributed under the terms of the Creative Commons Attribution-ShareAlike 4.0 International License.

This project is a fan-made utility and is not affiliated with the original authors or publishers.