https://github.com/aurule/npc
Game master's tool to manage characters and other campaign files
https://github.com/aurule/npc
character-creation npc python python3 tabletop-gaming tool
Last synced: 5 months ago
JSON representation
Game master's tool to manage characters and other campaign files
- Host: GitHub
- URL: https://github.com/aurule/npc
- Owner: aurule
- License: gpl-3.0
- Created: 2015-11-29T01:40:18.000Z (over 10 years ago)
- Default Branch: develop
- Last Pushed: 2024-04-29T00:28:07.000Z (about 2 years ago)
- Last Synced: 2024-04-29T01:28:34.651Z (about 2 years ago)
- Topics: character-creation, npc, python, python3, tabletop-gaming, tool
- Language: Python
- Homepage:
- Size: 3.02 MB
- Stars: 12
- Watchers: 1
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE.md
Awesome Lists containing this project
README
# NPC - A GM Campaign Management Tool
[](https://badge.fury.io/gh/aurule%2Fnpc)
# About
NPC is a tool to make my life easier when I'm running tabletop RPG games. It automates and streamlines a few tedious tasks like managing plot and session notes, and managing character sheets.
NPC is very much a personal project. It works well enough for me to use at my weekly game, but that's it. That said, if you use it and come up with suggestions or bugs, open an issue! I'll at least take a look :smiley:
This readme and the [project's ReadTheDocs](https://npc.readthedocs.io/) are the main documentation for the project. The source code is pretty thoroughly documented, too.
All code is [hosted on github](https://github.com/aurule/npc).
## Installation
Each release of NPC has pre-built binaries for Linux and Windows. These can be used directly by putting them in a directory in the system's PATH. I have plans to improve this experience in the future.
Alternately, you can run npc from its source. To do so, clone or download the source and install the system libraries corresponding to the packages in `requirements.txt`. Symlink the `npc_cli` file to somewhere in your PATH and it *should* work.
# Usage
Right now, NPC is used primarily through its command line. See ReadTheDocs for details of the available comands and what they do.
NPC uses plain text files for all of its configuration and data. You can use whatever text editor you like to update characters, etc.
# Testing and Development
Development is pretty straightforward. Clone the repo and create a standard venv using Python 3.11 or later. Install packages from `requirements-dev.txt` and you should be all set.Development is pretty straightforward. Clone the repo and create a standard venv using Python 3.11 or later. Install packages from `requirements-dev.txt` and you should be all set.
## Running Tests
Go to the root project directory and run `python -m pytest` or `make test`.
To generate a coverage report, run `make coverage`.
## Building Documentation
The docs are built using Sphinx. From the root dir, you can run `make docs` to quickly generate them.
When actively working on the docs, use `scripts/live-docs.sh` to automatically rebuild the docs on change, using sphinx-autobuild.
To update the reference documentation for tags and systems, run `python scripts/build_reference_docs.py`.
# License
NPC is Copyright (C) 2015-2024 Paige Andrews
NPC is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program, in the file `LICENSE.md`. If not, see
.