Git Product home page Git Product logo

npc's Introduction

NPC - A GM Campaign Management Tool

GitHub version

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 ๐Ÿ˜ƒ

This readme and the project's ReadTheDocs are the main documentation for the project. The source code is pretty thoroughly documented, too.

All code is hosted on github.

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 https://www.gnu.org/licenses/.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.