Configure PoPy

The machine-level settings of your PoPy installation are stored in <PoPy installation folder>\popy_config.pyml which can be modified in your chosen text editor.

We recommend, however, that you do not alter this file unless you know exactly what you are doing; the default settings should be sufficient for most users.

Should you edit your ‘popy_config.pyml’ and PoPy stops functioning correctly, please restore to the following default settings:

# path to graphviz dot.exe for creating diagrams
graphviz_dot_path: auto

# path to sphinx confuration options - used when generating html or latex
sphinx_conf_folder: ${POPY_PYTHON_PATH}/conf

Upon running PoPy for the first time, a user-level configuration file will also (on Microsoft Windows only) be created in the user’s roaming profile which is typically found at

C:\Users\<username>\AppData\Roaming\PoPy\<SHA>-config.pyml

where <username> is the user’s login username and <SHA> is the unique identifier for the version of PoPy being configured, as displayed when running popy info. Settings in the user’s local configurations override those in the global configuration. In this way, we provide user- and installation-specific configuration of PoPy for finer-grained control over PoPy’s behaviour.

Sharing PoPy Among Users

By default, PoPy is installed for a single user on a given machine, and the path to PoPy scripts will be added to the Path environment variable of the user who installed PoPy.

If another user wants to use the same installation of PoPy, they should run popy-cmd from the installation folder where they will be asked whether they wish to add PoPy to their user path, and will be given three options.

  • Answering “Y” (for Yes) to this question will add PoPy to their path so that

they can then call popy commands from any Command Prompt, not just the popy-cmd prompt. We recommend this choice.

  • Answering “N” (for No) will continue running PoPy but will ask again for

subsequent calls to PoPy (including subscripts of scripts). An alternative for skipping this check is to add the –skip-path-check argument when calling PoPy, e.g.,

popy info --skip-path-check
  • Answering “V” (for neVer) will skip the path check on this call *and all subsequent

calls* to PoPy, recording this choice in the user’s local configuration file.