Glossary
The words venv-patcher uses, in short.
- venv
A Python virtual environment. venv-patcher only works inside one, and only patches the venv it runs in.
- site-packages
The folder of the venv where packages are installed. The manifest lives here too.
- package
An importable name, such as
requests. venv-patcher imports it to find its folder. It must be a folder, not a single.pyfile.- package folder
The folder a package is installed in, for example
.venv/lib/python3.12/site-packages/requests/. venv-patcher turns it into a git repository.- patch
A file with changes to a package. Either from
git format-patch(forgit am) or a plain diff (forgit apply). Its paths are relative to the package folder.- patches file
A YAML or TOML file that lists patches and the package each one is for. You write it. See The patches file.
- entry
One item in the
patcheslist of a patches file. It names one package, and usually one patch. Without a patch, it only sets up git.- apply command
The command that applies a patch.
git amby default. Set withapply-command.- initial commit
The first commit in a package folder. It holds the package as it was installed.
resetgoes back to it.- patch commit
The commit a patch makes on top of the initial commit.
- manifest
The file
.venv-patcher-manifest.jsonin site-packages. It records each package, its initial commit and each patch result. See The manifest.- pinned identity
The fixed author, email and date that venv-patcher gives to its commits. It makes them the same on every run.
- sha256sum
The SHA-256 hash of a patch file. If you set it, venv-patcher only applies a patch file with exactly that hash.