progfiguration core command#

The core progfiguration command performs some miscellaneous tasks. Normal interaction with progfiguration typically happens with the progfigsite command instead.

Command-line help#

usage: progfiguration [-h] [--debug]
                      [--log-stderr {CRITICAL,ERROR,WARNING,INFO,DEBUG,NOTSET,NONE}]
                      {version,build,validate,newsite} ...

Positional Arguments#

action

Possible choices: version, build, validate, newsite

Named Arguments#

--debug, -d

Open the debugger if an unhandled exception is encountered

Default: False

--log-stderr

Possible choices: CRITICAL, ERROR, WARNING, INFO, DEBUG, NOTSET, NONE

Log level to send to stderr. Defaults to NOTSET (all messages, including debug). NONE to disable.

Default: “NOTSET”

Sub-commands#

version#

Show progfiguration core version

progfiguration version [-h] [--quiet]
Named Arguments#
--quiet, -q

Only print the version string

Default: False

build#

Build the package

progfiguration build [-h] [--progfigsite-fspath PROGFIGSITE_FSPATH]
                     [--progfigsite-modname PROGFIGSITE_MODNAME]
                     {pyz,pip} ...
Positional Arguments#
buildaction

Possible choices: pyz, pip

Named Arguments#
--progfigsite-fspath

The filesystem path to a progfigsite package, like /path/to/progfigsite. You must also pass –progfigsite-modname with this argument, because we do not read pyproject.toml or any other file to find the module name automatically.

--progfigsite-modname

The module name for a progfigsite package, like ‘my_progfigsite’. If –progfigsite-fspath is specified, use this name for the module found at that path on the filesystem. If –progfigsite-fspath is not specified, expect to find a progfigsite module with this name in the Python path already.

Sub-commands#
pyz#

Build a zipapp .pyz file containing the Python module. Must be run from an editable install.

progfiguration build pyz [-h] pyzfile
Positional Arguments#
pyzfile

Save the resulting pyz file to this path

pip#

Build a pip package containing the Python module. Must be run from an editable install.

progfiguration build pip [-h] [--outdir OUTDIR] [--keep-injected-files]
Named Arguments#
--outdir

Save the resulting pip package to this path. Defaults to ./dist

Default: ./dist

--keep-injected-files

Keep the injected files in the package after building. This is useful for debugging.

Default: False

validate#

Validate the progfigsite that it matches the required API

progfiguration validate [-h] [--progfigsite-fspath PROGFIGSITE_FSPATH]
                        [--progfigsite-modname PROGFIGSITE_MODNAME]
Named Arguments#
--progfigsite-fspath

The filesystem path to a progfigsite package, like /path/to/progfigsite. You must also pass –progfigsite-modname with this argument, because we do not read pyproject.toml or any other file to find the module name automatically.

--progfigsite-modname

The module name for a progfigsite package, like ‘my_progfigsite’. If –progfigsite-fspath is specified, use this name for the module found at that path on the filesystem. If –progfigsite-fspath is not specified, expect to find a progfigsite module with this name in the Python path already.

newsite#

Create a new progfigsite package

progfiguration newsite [-h] [--name NAME] [--path PATH]
                       [--description DESCRIPTION]
                       [--controller-age-key-path CONTROLLER_AGE_KEY_PATH]
Named Arguments#
--name

The name of the progfigsite package to create. Defaults to ‘“progfigsite”’.

Default: “progfigsite”

--path

The path to create the progfigsite package in. Defaults to a directory named after the –name argument in the current directory.

--description

The description of the progfigsite package to create. Defaults to ‘“A progfigsite package”’.

Default: “A progfigsite package”

--controller-age-key-path

The path to the controller age key. Defaults to ‘SITENAME.controller.age’ in the current directory. Make sure this is stored securely!