putup - Man Page

putup – PyScaffold command-line interface

Synopsis

putup [-h] [-n NAME] [-p PACKAGE_NAME] [-d TEXT] [-l LICENSE] [-u URL] [-f] [-U] [-V] [-v] [-vv] [-P] [--list-actions] [--cirrus] [--config CONFIG_FILE [CONFIG_FILE ...] | --no-config] [--save-config [SAVE_CONFIG]] [--github-actions] [-gitlab] [-i] [--namespace NS1[.NS2]] [--no-pyproject] [--no-skeleton] [--no-tox] [--pre-commit] [--venv [VENV]] [--venv-install PACKAGE [PACKAGE ...]] PROJECT_PATH

Description

PyScaffold is a tool for easily putting up the scaffold of a Python project.

Options

Positional Arguments

PROJECT_PATH

path where to generate/update project

Optional Arguments

-h--help

show a help message and exit

-n NAME--name NAME

installable name (as in pip install/PyPI, default: basename of PROJECT_PATH)

-p PACKAGE_NAME--package PACKAGE_NAME

package name (as in import, default: NAME)

-d TEXT--description TEXT

package description

-l LICENSE--license LICENSE

package license like MIT, AGPL-3.0-or-later, AGPL-3.0-only, Apache-2.0, Artistic-2.0, 0BSD, BSD-2-Clause, BSD-3-Clause, CC0-1.0, EPL-1.0, GPL-2.0-or-later, GPL-2.0-only, GPL-3.0-or-later, GPL-3.0-only, ISC, LGPL-2.0-or-later, LGPL-2.0-only, LGPL-3.0-or-later, LGPL-3.0-only, MPL-2.0, Unlicense, Proprietary (default: MIT)

-u URL--url URL

main website/reference URL for package

-f--force

force overwriting an existing directory

-U--update

update an existing project by replacing the most important files like setup.py etc. Use additionally --force to replace all scaffold files.

-V--version

show program’s version number and exit

-v--verbose

show additional information about current actions

-vv--very-verbose

show all available information about current actions

-P--pretend

do not create project, but displays the log of all operations as if it had been created

--list-actions

do not create project, but show a list of planned actions

--cirrus

add configuration file for Cirrus CI (includes --pre-commit)

--config CONFIG_FILE [CONFIG_FILE ...]

config file to read PyScaffold’s preferences (see --help output for default)

--no-config

prevent PyScaffold from reading its default config file

--save-config [SAVE_CONFIG]

save the given options in a config file (see --help output for default)

--github-actions

add configuration file for GitHub Actions (includes --pre-commit)

--gitlab

generate GitLab CI configuration files

-i--interactive

interactively choose and configure PyScaffold’s parameters

--namespace NS1[.NS2]

put your project inside a namespace package (default: use no namespace)

--no-pyproject

do not include a pyproject.toml file in the project root, and thus avoid isolated builds as defined in PEP517 / 518 [not recommended]

--no-skeleton

omit creation of skeleton.py and test_skeleton.py

--no-tox

prevent a tox configuration file from being created

--pre-commit

generate pre-commit configuration file

--venv [VENV]

create a virtual environment for the project (using virtualenv or stdlib’s venv). Default location: “.venv”. If virtualenv is available, it will be used, since it has some advantages over stdlib’s venv (such as being faster, see https://virtualenv.pypa.io/en/stable/). Notice that even if part of Python’s stdlib, venv is not guaranteed to be installed; some OS/distributions (such as Ubuntu) require an explicit installation. If you have problems, try installing virtualenv with pip(1) and run the command again.

--venv-install PACKAGE [PACKAGE ...]

install packages inside the created venv. The packages can have dependency ranges as if they would be written to a requirements.txt file, but remember to use quotes to avoid messing with the terminal

See Also

pip(1), python(1)

pre-commit, tox, virtualenv

Cirrus CI, GitHub Actions, GitLab CI

Info

April 2022