Vendy is a tool for vendoring third-party packages into your project.
Disclaimer:
This is not an officially supported Google product.
Example:
In a pyproject.toml file in the root of your package, define the target
directory (should be in the same directory as the pyproject.toml file), and
the packages to vendor:
[tool.vendy]
target = 'my_project'
packages = [
"sampleproject==1.2.0",
]
On the command line:
$ python -m vendy
[vendy] Using vendor dir: /private/tmp/my_project/my_project/_vendor
[vendy] Cleaning /private/tmp/my_project/my_project/_vendor
[vendy] Installing vendored libraries
Collecting sampleproject==1.3.0
Using cached https://files.pythonhosted.org/packages/a1/fd/3564a5176430eac106c27eff4de50b58fc916f5083782062cea3141acfaa/sampleproject-1.3.0-py2.py3-none-any.whl
Installing collected packages: sampleproject
Successfully installed sampleproject-1.3.0
[vendy] Detected vendored libraries: bin, my_data, sample
[vendy] Rewriting all imports related to vendored libs
[vendy] Downloading licenses
Collecting sampleproject==1.3.0
Using cached https://files.pythonhosted.org/packages/a6/aa/0090d487d204f5de30035c00f6c71b53ec7f613138d8653eebac50f47f45/sampleproject-1.3.0.tar.gz
Saved ./my_project/_vendor/__tmp__/sampleproject-1.3.0.tar.gz
Successfully downloaded sampleproject
[vendy] Extracting sampleproject-1.3.0/LICENSE.txt into my_project/_vendor/sampleproject.LICENSE.txt
[vendy] Revendoring complete
Result:
$ tree
.
├── my_project
│ ├── __init__.py
│ └── _vendor
│ ├── bin
│ │ └── sample
│ ├── my_data
│ │ └── data_file
│ ├── sample
│ │ ├── __init__.py
│ │ └── package_data.dat
│ └── sampleproject.LICENSE.txt
└── pyproject.toml
And you can import from the vendored library like:
-from sampleproject.foo import bar
+from myproject._vendor.sampleproject.foo import bar
Metadata
Release files for vendy 0.0.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| vendy-0.0.3.tar.gz | 10.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| vendy-0.0.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 21.2 kB
Release files / vendy-0.0.3.tar.gz
| Download URL | vendy-0.0.3.tar.gz |
|---|---|
| Size | 10.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d80f212b59b956c0e31c958d1d27dee747e6b2c119a6622f4ea87e81d8385a03
|
|
BLAKE2b-256 checksum How to use checksums |
c1ec56e9280d772964255d7cea51ac48050981bf287012b6ff5450ceae5b1c19
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.10.4
|
Release files / vendy-0.0.3-py3-none-any.whl
| Download URL | vendy-0.0.3-py3-none-any.whl |
|---|---|
| Size | 10.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d9af12563e7d1e2d829cec5c4b88f8c3d9bf6e1e108a24b79e5128bf7cb972ff
|
|
BLAKE2b-256 checksum How to use checksums |
a87a95babb035f49a5cda516e93ed7a7218ecccac466aef92bf3310b5436389b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.10.4
|