vendy


Namevendy JSON
Version 0.0.3 PyPI version JSON
download
home_pagehttp://github.com/di/vendy
SummaryVendy is a tool for vendoring third-party packages into your project
upload_time2023-11-28 01:56:38
maintainer
docs_urlNone
authorDustin Ingram
requires_python>=2.7,!=3.0,!=3.1,!=3.2,!=3.3
license
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            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:

```toml
[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:

```diff
-from sampleproject.foo import bar
+from myproject._vendor.sampleproject.foo import bar
```

            

Raw data

            {
    "_id": null,
    "home_page": "http://github.com/di/vendy",
    "name": "vendy",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=2.7,!=3.0,!=3.1,!=3.2,!=3.3",
    "maintainer_email": "",
    "keywords": "",
    "author": "Dustin Ingram",
    "author_email": "di@python.org",
    "download_url": "https://files.pythonhosted.org/packages/c1/ec/56e9280d772964255d7cea51ac48050981bf287012b6ff5450ceae5b1c19/vendy-0.0.3.tar.gz",
    "platform": null,
    "description": "Vendy is a tool for vendoring third-party packages into your project.\n\n## Disclaimer:\nThis is not an officially supported Google product.\n\n## Example:\n\nIn a `pyproject.toml` file in the root of your package, define the target\ndirectory (should be in the same directory as the `pyproject.toml` file), and\nthe packages to vendor:\n\n```toml\n[tool.vendy]\ntarget = 'my_project'\npackages = [\n    \"sampleproject==1.2.0\",\n]\n```\n\nOn the command line:\n\n```\n$ python -m vendy\n[vendy] Using vendor dir: /private/tmp/my_project/my_project/_vendor\n[vendy] Cleaning /private/tmp/my_project/my_project/_vendor\n[vendy] Installing vendored libraries\nCollecting sampleproject==1.3.0\n  Using cached https://files.pythonhosted.org/packages/a1/fd/3564a5176430eac106c27eff4de50b58fc916f5083782062cea3141acfaa/sampleproject-1.3.0-py2.py3-none-any.whl\nInstalling collected packages: sampleproject\nSuccessfully installed sampleproject-1.3.0\n[vendy] Detected vendored libraries: bin, my_data, sample\n[vendy] Rewriting all imports related to vendored libs\n[vendy] Downloading licenses\nCollecting sampleproject==1.3.0\n  Using cached https://files.pythonhosted.org/packages/a6/aa/0090d487d204f5de30035c00f6c71b53ec7f613138d8653eebac50f47f45/sampleproject-1.3.0.tar.gz\n  Saved ./my_project/_vendor/__tmp__/sampleproject-1.3.0.tar.gz\nSuccessfully downloaded sampleproject\n[vendy] Extracting sampleproject-1.3.0/LICENSE.txt into my_project/_vendor/sampleproject.LICENSE.txt\n[vendy] Revendoring complete\n```\n\nResult:\n\n```\n$ tree\n.\n\u251c\u2500\u2500 my_project\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 __init__.py\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 _vendor\n\u2502\u00a0\u00a0     \u251c\u2500\u2500 bin\n\u2502\u00a0\u00a0     \u2502\u00a0\u00a0 \u2514\u2500\u2500 sample\n\u2502\u00a0\u00a0     \u251c\u2500\u2500 my_data\n\u2502\u00a0\u00a0     \u2502\u00a0\u00a0 \u2514\u2500\u2500 data_file\n\u2502\u00a0\u00a0     \u251c\u2500\u2500 sample\n\u2502\u00a0\u00a0     \u2502\u00a0\u00a0 \u251c\u2500\u2500 __init__.py\n\u2502\u00a0\u00a0     \u2502\u00a0\u00a0 \u2514\u2500\u2500 package_data.dat\n\u2502\u00a0\u00a0     \u2514\u2500\u2500 sampleproject.LICENSE.txt\n\u2514\u2500\u2500 pyproject.toml\n```\n\nAnd you can import from the vendored library like:\n\n```diff\n-from sampleproject.foo import bar\n+from myproject._vendor.sampleproject.foo import bar\n```\n",
    "bugtrack_url": null,
    "license": "",
    "summary": "Vendy is a tool for vendoring third-party packages into your project",
    "version": "0.0.3",
    "project_urls": {
        "Homepage": "http://github.com/di/vendy"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a87a95babb035f49a5cda516e93ed7a7218ecccac466aef92bf3310b5436389b",
                "md5": "3499f622b549999b75508dc5445dc023",
                "sha256": "d9af12563e7d1e2d829cec5c4b88f8c3d9bf6e1e108a24b79e5128bf7cb972ff"
            },
            "downloads": -1,
            "filename": "vendy-0.0.3-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "3499f622b549999b75508dc5445dc023",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=2.7,!=3.0,!=3.1,!=3.2,!=3.3",
            "size": 10855,
            "upload_time": "2023-11-28T01:55:49",
            "upload_time_iso_8601": "2023-11-28T01:55:49.395349Z",
            "url": "https://files.pythonhosted.org/packages/a8/7a/95babb035f49a5cda516e93ed7a7218ecccac466aef92bf3310b5436389b/vendy-0.0.3-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c1ec56e9280d772964255d7cea51ac48050981bf287012b6ff5450ceae5b1c19",
                "md5": "25a14add577d8b6bd9f86519dfccb51c",
                "sha256": "d80f212b59b956c0e31c958d1d27dee747e6b2c119a6622f4ea87e81d8385a03"
            },
            "downloads": -1,
            "filename": "vendy-0.0.3.tar.gz",
            "has_sig": false,
            "md5_digest": "25a14add577d8b6bd9f86519dfccb51c",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=2.7,!=3.0,!=3.1,!=3.2,!=3.3",
            "size": 10345,
            "upload_time": "2023-11-28T01:56:38",
            "upload_time_iso_8601": "2023-11-28T01:56:38.784309Z",
            "url": "https://files.pythonhosted.org/packages/c1/ec/56e9280d772964255d7cea51ac48050981bf287012b6ff5450ceae5b1c19/vendy-0.0.3.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-11-28 01:56:38",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "di",
    "github_project": "vendy",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "vendy"
}
        
Elapsed time: 0.31297s