Skip to main content

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)

Source distribution for pl_vendor 0.1.0
File Size Uploaded
pl_vendor-0.1.0.tar.gz 11.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pl_vendor 0.1.0
File Interpreter ABI Platform
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 log

Release 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

Release history Release notifications | RSS feed

0.4.3

2 release files

0.4.2

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.4

2 release files

0.3.3

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.0

2 release files

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page