{"id":40407600,"url":"https://github.com/aurule/npc","last_synced_at":"2026-01-20T14:02:31.920Z","repository":{"id":51143195,"uuid":"47045977","full_name":"aurule/npc","owner":"aurule","description":"Game master's tool to manage characters and other campaign files","archived":false,"fork":false,"pushed_at":"2024-04-29T00:28:07.000Z","size":3166,"stargazers_count":12,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"develop","last_synced_at":"2024-04-29T01:28:34.651Z","etag":null,"topics":["character-creation","npc","python","python3","tabletop-gaming","tool"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aurule.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2015-11-29T01:40:18.000Z","updated_at":"2024-04-29T01:28:36.375Z","dependencies_parsed_at":"2023-10-17T05:18:20.392Z","dependency_job_id":"671317c6-2d26-43c9-9dfa-9976f1772209","html_url":"https://github.com/aurule/npc","commit_stats":null,"previous_names":[],"tags_count":36,"template":false,"template_full_name":null,"purl":"pkg:github/aurule/npc","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aurule%2Fnpc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aurule%2Fnpc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aurule%2Fnpc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aurule%2Fnpc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aurule","download_url":"https://codeload.github.com/aurule/npc/tar.gz/refs/heads/develop","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aurule%2Fnpc/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28604712,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-20T12:01:53.233Z","status":"ssl_error","status_checked_at":"2026-01-20T12:01:46.545Z","response_time":117,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["character-creation","npc","python","python3","tabletop-gaming","tool"],"created_at":"2026-01-20T14:02:30.867Z","updated_at":"2026-01-20T14:02:31.914Z","avatar_url":"https://github.com/aurule.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# NPC - A GM Campaign Management Tool\n\n[![GitHub version](https://badge.fury.io/gh/aurule%2Fnpc.svg)](https://badge.fury.io/gh/aurule%2Fnpc)\n\n# About\n\nNPC 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. \n\nNPC 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:\n\nThis 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.\n\nAll code is [hosted on github](https://github.com/aurule/npc).\n\n## Installation\n\nEach 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.\n\nAlternately, 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.\n\n# Usage\n\nRight now, NPC is used primarily through its command line. See ReadTheDocs for details of the available comands and what they do.\n\nNPC uses plain text files for all of its configuration and data. You can use whatever text editor you like to update characters, etc.\n\n# Testing and Development\n\nDevelopment 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.\n\n## Running Tests\n\nGo to the root project directory and run `python -m pytest` or `make test`.\n\nTo generate a coverage report, run `make coverage`.\n\n## Building Documentation\n\nThe docs are built using Sphinx. From the root dir, you can run `make docs` to quickly generate them.\n\nWhen actively working on the docs, use `scripts/live-docs.sh` to automatically rebuild the docs on change, using sphinx-autobuild.\n\nTo update the reference documentation for tags and systems, run `python scripts/build_reference_docs.py`.\n\n# License\n\nNPC is Copyright (C) 2015-2024 Paige Andrews\n\nNPC is free software: you can redistribute it and/or modify\nit under the terms of the GNU General Public License as published by\nthe Free Software Foundation, either version 3 of the License, or\n(at your option) any later version.\n\nThis program is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\nGNU General Public License for more details.\n\nYou should have received a copy of the GNU General Public License\nalong with this program, in the file `LICENSE.md`. If not, see\n\u003chttps://www.gnu.org/licenses/\u003e.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faurule%2Fnpc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faurule%2Fnpc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faurule%2Fnpc/lists"}