# Barebones RPG Framework
[](https://badge.fury.io/py/barebones-rpg)
[](https://www.python.org/downloads/)
[](https://opensource.org/licenses/MIT)
[](https://piercegov.github.io/barebones_rpg/)
A flexible, code-first RPG framework for building turn-based games with support for procedural generation and AI-driven content.
**[Documentation](https://piercegov.github.io/barebones_rpg/)**
## What is this?
Barebones RPG is a Python framework designed to be a foundation for creating RPG games. It provides all the essential systems needed for an RPG (combat, entities, items, quests, dialog, world management, etc.), but with **no content** - making it a perfect starting point for your own games.
The framework is code-first (Python classes and functions), fully extensible (hooks and events throughout), and supports both hand-crafted and procedurally generated content.
## Installation
### Requirements
- Python 3.11+
### For Users
```bash
# Install from PyPI
pip install barebones-rpg
```
### For Development
```bash
# Clone the repository
git clone https://github.com/PierceGov/barebones_rpg.git
cd barebones_rpg
# Install with uv (recommended)
uv sync --dev
# Or with pip
pip install -e ".[dev]"
```
## Running the Examples
```bash
# Run the main example
uv run python main.py
# Or run specific examples
uv run python -m barebones_rpg.examples.simple_combat_example
uv run python -m barebones_rpg.examples.mini_rpg
uv run python -m barebones_rpg.examples.tile_based_example
```
## Running Tests
```bash
# Run all tests
uv run pytest
# Run with coverage
uv run pytest --cov=barebones_rpg
```
## Documentation
**[View the full documentation online](https://piercegov.github.io/barebones_rpg/)**
The documentation is also available locally in the `sphinx_docs/` directory. To build and view:
```bash
./build_docs.sh
# Then open sphinx_docs/_build/html/index.html
```
The documentation includes:
- Getting Started Guide
- Core Concepts and Architecture
- Complete API Reference
- Step-by-Step Tutorials
- In-Depth Guides
- Example Breakdowns
## Quick Example
```python
from barebones_rpg import Game, GameConfig, Character, Enemy, Stats, Combat
# Create game
game = Game(GameConfig(title="My RPG"))
# Create characters
hero = Character(name="Hero", stats=Stats(hp=100, atk=15, defense=5))
goblin = Enemy(name="Goblin", stats=Stats(hp=30, atk=8, defense=2))
# Start combat
combat = Combat(
player_group=[hero],
enemy_group=[goblin],
events=game.events
)
combat.start()
```
See `barebones_rpg/examples/` for complete working examples.
## Project Structure
```
barebones_rpg/
├── core/ # Game engine, events, save/load
├── entities/ # Characters, NPCs, enemies, stats, AI
├── combat/ # Turn-based combat system
├── items/ # Items, inventory, equipment, loot
├── quests/ # Quest and objective tracking
├── dialog/ # Conversation trees
├── world/ # Maps, locations, tiles
├── rendering/ # Pygame renderer
├── loaders/ # Data loaders (JSON/YAML)
└── examples/ # Example games
```
## Contributing
Contributions are welcome!
## License
MIT License - See [LICENSE.md](LICENSE.md) for details
Raw data
{
"_id": null,
"home_page": null,
"name": "barebones-rpg",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.11",
"maintainer_email": null,
"keywords": "framework, game, game-development, procedural-generation, pygame, rpg, turn-based",
"author": null,
"author_email": "Pierce Governale <piercegovernale@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/cb/5f/2c26efbbb020d32e2e84992ab764f9300ed34fac2297c00440efd692afc5/barebones_rpg-0.1.0.tar.gz",
"platform": null,
"description": "# Barebones RPG Framework\n\n[](https://badge.fury.io/py/barebones-rpg)\n[](https://www.python.org/downloads/)\n[](https://opensource.org/licenses/MIT)\n[](https://piercegov.github.io/barebones_rpg/)\n\nA flexible, code-first RPG framework for building turn-based games with support for procedural generation and AI-driven content.\n\n**[Documentation](https://piercegov.github.io/barebones_rpg/)**\n\n## What is this?\n\nBarebones RPG is a Python framework designed to be a foundation for creating RPG games. It provides all the essential systems needed for an RPG (combat, entities, items, quests, dialog, world management, etc.), but with **no content** - making it a perfect starting point for your own games.\n\nThe framework is code-first (Python classes and functions), fully extensible (hooks and events throughout), and supports both hand-crafted and procedurally generated content.\n\n## Installation\n\n### Requirements\n\n- Python 3.11+\n\n### For Users\n\n```bash\n# Install from PyPI\npip install barebones-rpg\n```\n\n### For Development\n\n```bash\n# Clone the repository\ngit clone https://github.com/PierceGov/barebones_rpg.git\ncd barebones_rpg\n\n# Install with uv (recommended)\nuv sync --dev\n\n# Or with pip\npip install -e \".[dev]\"\n```\n\n## Running the Examples\n\n```bash\n# Run the main example\nuv run python main.py\n\n# Or run specific examples\nuv run python -m barebones_rpg.examples.simple_combat_example\nuv run python -m barebones_rpg.examples.mini_rpg\nuv run python -m barebones_rpg.examples.tile_based_example\n```\n\n## Running Tests\n\n```bash\n# Run all tests\nuv run pytest\n\n# Run with coverage\nuv run pytest --cov=barebones_rpg\n```\n\n## Documentation\n\n**[View the full documentation online](https://piercegov.github.io/barebones_rpg/)**\n\nThe documentation is also available locally in the `sphinx_docs/` directory. To build and view:\n\n```bash\n./build_docs.sh\n# Then open sphinx_docs/_build/html/index.html\n```\n\nThe documentation includes:\n- Getting Started Guide\n- Core Concepts and Architecture\n- Complete API Reference\n- Step-by-Step Tutorials\n- In-Depth Guides\n- Example Breakdowns\n\n## Quick Example\n\n```python\nfrom barebones_rpg import Game, GameConfig, Character, Enemy, Stats, Combat\n\n# Create game\ngame = Game(GameConfig(title=\"My RPG\"))\n\n# Create characters\nhero = Character(name=\"Hero\", stats=Stats(hp=100, atk=15, defense=5))\ngoblin = Enemy(name=\"Goblin\", stats=Stats(hp=30, atk=8, defense=2))\n\n# Start combat\ncombat = Combat(\n player_group=[hero],\n enemy_group=[goblin],\n events=game.events\n)\ncombat.start()\n```\n\nSee `barebones_rpg/examples/` for complete working examples.\n\n## Project Structure\n\n```\nbarebones_rpg/\n\u251c\u2500\u2500 core/ # Game engine, events, save/load\n\u251c\u2500\u2500 entities/ # Characters, NPCs, enemies, stats, AI\n\u251c\u2500\u2500 combat/ # Turn-based combat system\n\u251c\u2500\u2500 items/ # Items, inventory, equipment, loot\n\u251c\u2500\u2500 quests/ # Quest and objective tracking\n\u251c\u2500\u2500 dialog/ # Conversation trees\n\u251c\u2500\u2500 world/ # Maps, locations, tiles\n\u251c\u2500\u2500 rendering/ # Pygame renderer\n\u251c\u2500\u2500 loaders/ # Data loaders (JSON/YAML)\n\u2514\u2500\u2500 examples/ # Example games\n```\n\n## Contributing\n\nContributions are welcome!\n\n## License\n\nMIT License - See [LICENSE.md](LICENSE.md) for details\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "A flexible, code-first RPG framework for building turn-based games with support for procedural generation and AI-driven content",
"version": "0.1.0",
"project_urls": {
"Bug Tracker": "https://github.com/piercegov/barebones_rpg/issues",
"Documentation": "https://piercegov.github.io/barebones_rpg/",
"Homepage": "https://github.com/piercegov/barebones_rpg",
"Repository": "https://github.com/piercegov/barebones_rpg"
},
"split_keywords": [
"framework",
" game",
" game-development",
" procedural-generation",
" pygame",
" rpg",
" turn-based"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "660e24d4ccc9ef72fdb7c27ccd531557e435254b591ba3616d6575664b97364b",
"md5": "18dbe9aa4950077b8ddb51097fea8bb4",
"sha256": "59123cc062dfa23cf234a99df65f59260c43ccf115068601612c82982259c91f"
},
"downloads": -1,
"filename": "barebones_rpg-0.1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "18dbe9aa4950077b8ddb51097fea8bb4",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.11",
"size": 112373,
"upload_time": "2025-11-02T06:00:26",
"upload_time_iso_8601": "2025-11-02T06:00:26.928470Z",
"url": "https://files.pythonhosted.org/packages/66/0e/24d4ccc9ef72fdb7c27ccd531557e435254b591ba3616d6575664b97364b/barebones_rpg-0.1.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "cb5f2c26efbbb020d32e2e84992ab764f9300ed34fac2297c00440efd692afc5",
"md5": "f2fbdbf4f8c7e46ba60e0ab2ba12ee2e",
"sha256": "0d1c6b914376f7e7eb796891f54b882d59ec772241a2500f2d2c0a7bded22a6b"
},
"downloads": -1,
"filename": "barebones_rpg-0.1.0.tar.gz",
"has_sig": false,
"md5_digest": "f2fbdbf4f8c7e46ba60e0ab2ba12ee2e",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.11",
"size": 194980,
"upload_time": "2025-11-02T06:00:28",
"upload_time_iso_8601": "2025-11-02T06:00:28.764145Z",
"url": "https://files.pythonhosted.org/packages/cb/5f/2c26efbbb020d32e2e84992ab764f9300ed34fac2297c00440efd692afc5/barebones_rpg-0.1.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-11-02 06:00:28",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "piercegov",
"github_project": "barebones_rpg",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "barebones-rpg"
}