Installing NPC#

The best way to install NPC right now is to download the binaries from the latest release. Once downloaded, you’ll have to unpack the archive and ensure the npc_cli and npc_gui binaries are in your path. I like to symlink npc_cli to npc on my posix systems. Binaries are available for Linux and Windows.

Note

I have not created bespoke packages or installers yet. These instructions will be updated if those become available.

Once installed, you’ll have access to the npc cli utility and gui app. See CLI Basics and CLI Quickstart for an intro to using the command line program, and GUI Basics and GUI Quickstart for the graphical app.

Installing from Source#

You can install the latest development version of NPC by installing it from source. This is also the only way to run NPC on MacOS right now.

To do so, follow these steps:

  1. Clone the repository

  2. Ensure you have Python 3.11 or later

  3. Install the system packages which correspond to the packages listed in requirements.txt

  4. You will likely have to install NPC as an editable system package using pip install -e . from the repo’s root

  5. Create a script named npc somewhere in your path (like ~/bin) which invokes python3 npc

After that, you can update with a simple git pull.

Development#

For working on NPC, follow these steps:

  1. Clone the repository

  2. Create a Python 3.11 virtualenv and activate it

  3. Install the dev requirements:

pip install -r requirements-dev.txt
  1. Install npc as an editable package:

pip install -e .

To make sure that everything works, run poe test.

  1. If dependencies may have updated, you can run pip-sync requirements-dev.txt to synchronize your installed packages with NPC’s requirements. Just remember to run pip install -e . afterward, as pip-sync will remove the local package.