pl_vendor
pl_vendor copies Git repositories into another repository as ordinary files and
records their exact commits in a deterministic YAML lockfile. It supports optional
downstream patches and can verify that checked-in vendor trees still match their
locked upstream commits.
Requirements
- Python 3.13 or newer
- Git 2.30 or newer
- uv 0.9 or newer by default
The package has no Python runtime dependencies.
Every command runs a preflight check before reading or changing vendored trees. Library
callers that use another environment runner can pass an ExecutableBackend to
VendorProject.discover(); that executable and its declared minimum version are checked
in place of uv. Git is always checked.
Configuration
Create vendor.toml at the root of the consuming Git repository:
schema_version = 1
[dependencies.example]
path = "vendor/example"
url = "https://github.com/example/example.git"
branch = "release"
The generated vendor-lock.yaml records the resolved commit:
lockfileVersion: 1
dependencies:
example: '0123456789abcdef0123456789abcdef01234567'
Optional patches live at .vendor-patches/<dependency-name>.patch and are applied
after copying the upstream tree.
Commands
pl-vendor update
pl-vendor update example
pl-vendor check
pl-vendor verify
Each command discovers the consuming repository from the current directory. Pass
--root PATH after the command to operate on a different repository.
Development
uv sync --dev
uv run pytest
uv run pyright
uv run ruff format --check .
The internal test suite is kept in src/pl_vendor/tests so the package remains
self-contained while it is developed or embedded elsewhere.
Release files for pl_vendor 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pl_vendor-0.1.0.tar.gz | 11.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pl_vendor-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 24.5 kB
Release files / pl_vendor-0.1.0.tar.gz
| Download URL | pl_vendor-0.1.0.tar.gz |
|---|---|
| Size | 11.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f1c326f310c63e4158f41cee4b3542361c2f85ac193d743b2b0d737498c8d76b
|
|
BLAKE2b-256 checksum How to use checksums |
c892bf978a2d6a9b2b184b536b6c2f94c8c4a8b707d9c088bb7da5247fd7680a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.17 {"installer":{"name":"uv","version":"0.12.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 19, 2026.
Transparency logRelease files / pl_vendor-0.1.0-py3-none-any.whl
| Download URL | pl_vendor-0.1.0-py3-none-any.whl |
|---|---|
| Size | 13.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
61560e764c77c86ba7af2d8a3dd300edd841506a097c279d91fa14f8b14df642
|
|
BLAKE2b-256 checksum How to use checksums |
20c06cb0ed840b0740def805440585ced21e044f8a1c8f7d6c017ca8e4ccdd3e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.17 {"installer":{"name":"uv","version":"0.12.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 19, 2026.
Transparency log