PUTUP(1)
π PUTUP(1) β like, the PyScaffold command-line interface bestie π
okay so this is the manual page for putup, which lives in section 1 of the User Commands manual. if you've ever been like "i want a python project but i do NOT want to hand-make forty files", this is the girl for you. she's serving scaffolding. she's giving structure. she's literally the blueprint era. π
β¨ 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
like. look at all those flags. she's got range. π¦
πΈ DESCRIPTION πΈ
PyScaffold is a tool for easily putting up the scaffold of a Python project.
that's it. that's the whole vibe. you point it at a path and it manifests a whole project structure out of thin air. no cap. β¨
π OPTIONS π
π«Ά POSITIONAL ARGUMENTS
PROJECT_PATHβ the path where you want to generate/update the project. this is the "where does the magic happen" slot, bestie.
π₯ OPTIONAL ARGUMENTS
-h,--helpβ shows you a help message and then dips (exits).-n NAME,--name NAMEβ the installable name, like the one you'd use inpip install/ on PyPI. default is the basename ofPROJECT_PATH. so if you don't pick one, she'll just name it after the folder. lowkey iconic.-p PACKAGE_NAME,--package PACKAGE_NAMEβ the package name, as in what you'dimport. default isNAME.-d TEXT,--description TEXTβ package description. tell the world what this thing does, briefly.-l LICENSE,--license LICENSEβ the package license. the accepted girlies are: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 isMIT.-u URL,--url URLβ the main website/reference URL for the package. drop your link, queen. π-f,--forceβ forces overwriting an existing directory. β οΈ yeah she will absolutely steamroll what's there if you ask her to. only say it if you mean it.-U,--updateβ updates an existing project by replacing the most important files likesetup.pyetc. and if you also want every single scaffold file replaced, throw--forceon top. combo move.-V,--versionβ shows the program's version number and exits. quick lil flex.-v,--verboseβ shows additional information about current actions. she gets chatty.-vv,--very-verboseβ shows all available information about current actions. she gets extremely chatty. π-P,--pretendβ does NOT create the project, but displays the log of all operations as if it had been created. dress rehearsal energy, we love her for it.--list-actionsβ also does not create the project, but shows you a list of the planned actions instead.--cirrusβ adds a configuration file for Cirrus CI. this one includes--pre-commit. two birds, one flag. π¦--config CONFIG_FILE [CONFIG_FILE ...]β config file(s) to read PyScaffold's preferences from. (peep the--helpoutput for the default, bestie, it's in there.)--no-configβ stops PyScaffold from reading its default config file. girl goes in blind.--save-config [SAVE_CONFIG]β saves the given options into a config file. (again,--helpoutput has the default.) so future-you doesn't have to type all this again. self care. π«Ά--github-actionsβ adds a configuration file for GitHub Actions. this one also includes--pre-commit.--gitlabβ generates GitLab CI configuration files.-i,--interactiveβ interactively choose and configure PyScaffold's parameters. it's giving choose-your-own-adventure but for project setup. β¨--namespace NS1[.NS2]β puts your project inside a namespace package. default is to use no namespace at all.--no-pyprojectβ does not include apyproject.tomlfile in the project root, and therefore avoids isolated builds as defined in PEP517 / 518. and listen, the manual itself says [not recommended]. she said it, not me. π--no-skeletonβ omits creation ofskeleton.pyandtest_skeleton.py. no lil demo files for you.--no-toxβ prevents a tox configuration file from being created.--pre-commitβ generates a pre-commit configuration file.--venv [VENV]β creates a virtual environment for the project (usingvirtualenvor stdlib'svenv). default location is.venv. ifvirtualenvis available, it will be used, since it has some advantages over stdlib'svenv(such as being faster, see https://virtualenv.pypa.io/en/stable/). and heads up: even though it's part of Python's stdlib,venvis not guaranteed to be installed β some OS/distributions (such as Ubuntu) require an explicit installation. if you have problems, try installingvirtualenvwithpip(1)and run the command again. π§--venv-install PACKAGE [PACKAGE ...]β installs packages inside the created venv. the packages can have dependency ranges as if they would be written to arequirements.txtfile, but remember to use quotes to avoid messing with the terminal. π quote it or regret it, bestie.
π SEE ALSO π
and that's the whole page, no crumbs left. this manual came out of the User Commands section dated April 2022 β so like, shoutout to that era, she ate and left no notes. π
now go scaffold something cute. periodt. πβ¨
π¦ where this page comes from
- fedora 43: python3-pyscaffold 4.6-9.fc43 Β· MIT and 0BSD
- fedora 44: python3-pyscaffold 4.6-10.fc44 Β· MIT and 0BSD
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms