# python-vagrant-metadata
python-vagrant-metadata is a library for download vagrant box in vagrant cloud or customs site.
```python
import requests
from vagrant_metadata import fetch, forge_metadata_url
metadata = fetch(forge_metadata_url('ubuntu/trusty64'))
url = metadata.url_for_youngest_version('virtualbox')
response = requests.get(url)
if response.ok:
with open('mybox.box', 'wb') as f:
f.write(response.content)
```
If you need the checksum of box for specific versions, you can use provider as like
```python
import requests
from vagrant_metadata import fetch, forge_metadata_url
metadata = fetch(forge_metadata_url('ubuntu/trusty64'))
url = metadata.url_for('20190514.0.0','virtualbox')
response = requests.get(url)
if response.ok:
with open('mybox.box', 'wb') as f:
f.write(response.content)
```
If you need the checksum of box, you can use provider as like
```python
from vagrant_metadata import fetch, forge_metadata_url
metadata = fetch(forge_metadata_url('ubuntu/trusty64'))
provider = metadata.youngest()['virtualbox']
print(provider.url)
print(provider.checksum)
```
If you need the checksum of box for specific versions, you can use provider as like
```python
from vagrant_metadata import fetch, forge_metadata_url
metadata = fetch(forge_metadata_url('ubuntu/trusty64'))
provider = metadata['20190514.0.0']['virtualbox']
print(provider.url)
print(provider.checksum)
```
If you want only version with the specific provider, you can filtering as like
```python
from vagrant_metadata import fetch, forge_metadata_url
metadata = fetch(forge_metadata_url('ubuntu/trusty64'))
provider = metadata.keep_only_provider('virtualbox').youngest()['virtualbox']
print(provider.url)
print(provider.checksum)
```
# Build package
```python
python3 setup.py bdist_wheel
python3 -m twine upload --skip-existing --repository testpypi dist/*
python3 -m pip install --index-url https://test.pypi.org/simple/ python-vagrant-metadata
```
Raw data
{
"_id": null,
"home_page": "https://github.com/LeConTesteur/python-vagrant-metadata",
"name": "python-vagrant-metadata",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.6",
"maintainer_email": "",
"keywords": "vagrant",
"author": "LeConTesteur",
"author_email": "",
"download_url": "https://files.pythonhosted.org/packages/47/c9/23c16e69ea67c5efe423da79deb12b33a115054cf4d372c1e90f4dd59f4c/python-vagrant-metadata-0.0.5.tar.gz",
"platform": null,
"description": "# python-vagrant-metadata\n\npython-vagrant-metadata is a library for download vagrant box in vagrant cloud or customs site.\n\n```python\nimport requests\nfrom vagrant_metadata import fetch, forge_metadata_url\n\nmetadata = fetch(forge_metadata_url('ubuntu/trusty64'))\nurl = metadata.url_for_youngest_version('virtualbox')\n\nresponse = requests.get(url)\nif response.ok:\n with open('mybox.box', 'wb') as f:\n f.write(response.content)\n```\n\nIf you need the checksum of box for specific versions, you can use provider as like\n```python\nimport requests\nfrom vagrant_metadata import fetch, forge_metadata_url\n\nmetadata = fetch(forge_metadata_url('ubuntu/trusty64'))\nurl = metadata.url_for('20190514.0.0','virtualbox')\n\nresponse = requests.get(url)\nif response.ok:\n with open('mybox.box', 'wb') as f:\n f.write(response.content)\n```\n\n\nIf you need the checksum of box, you can use provider as like\n```python\nfrom vagrant_metadata import fetch, forge_metadata_url\n\nmetadata = fetch(forge_metadata_url('ubuntu/trusty64'))\nprovider = metadata.youngest()['virtualbox']\nprint(provider.url)\nprint(provider.checksum)\n```\n\nIf you need the checksum of box for specific versions, you can use provider as like\n```python\nfrom vagrant_metadata import fetch, forge_metadata_url\n\nmetadata = fetch(forge_metadata_url('ubuntu/trusty64'))\nprovider = metadata['20190514.0.0']['virtualbox']\nprint(provider.url)\nprint(provider.checksum)\n```\n\nIf you want only version with the specific provider, you can filtering as like\n```python\nfrom vagrant_metadata import fetch, forge_metadata_url\n\nmetadata = fetch(forge_metadata_url('ubuntu/trusty64'))\nprovider = metadata.keep_only_provider('virtualbox').youngest()['virtualbox']\nprint(provider.url)\nprint(provider.checksum)\n```\n\n# Build package\n\n```python\npython3 setup.py bdist_wheel\npython3 -m twine upload --skip-existing --repository testpypi dist/*\npython3 -m pip install --index-url https://test.pypi.org/simple/ python-vagrant-metadata\n```\n",
"bugtrack_url": null,
"license": "",
"summary": "Can use and parse metadata information of vagrant box",
"version": "0.0.5",
"project_urls": {
"Bug Tracker": "https://github.com/LeConTesteur/python-vagrant-metadata/issues",
"Homepage": "https://github.com/LeConTesteur/python-vagrant-metadata"
},
"split_keywords": [
"vagrant"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "c80cf3635d6d2e0a27dfaf787925a36c1911a865f063cf0284caa58cece790fe",
"md5": "7dd2836cefb2b6523d1e9f014f48d06a",
"sha256": "67abf8d5b53a6185c111d3dcaa11e39ced6b3d4e57204821652ce96362e878c9"
},
"downloads": -1,
"filename": "python_vagrant_metadata-0.0.5-py3-none-any.whl",
"has_sig": false,
"md5_digest": "7dd2836cefb2b6523d1e9f014f48d06a",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.6",
"size": 17310,
"upload_time": "2023-09-21T18:36:59",
"upload_time_iso_8601": "2023-09-21T18:36:59.495130Z",
"url": "https://files.pythonhosted.org/packages/c8/0c/f3635d6d2e0a27dfaf787925a36c1911a865f063cf0284caa58cece790fe/python_vagrant_metadata-0.0.5-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "47c923c16e69ea67c5efe423da79deb12b33a115054cf4d372c1e90f4dd59f4c",
"md5": "6a41885c8eea5d0b4c29d0dbdb260792",
"sha256": "98c4355ce7f026c5d9ddd9aa58b249b2e83ab41d2d96a85bc7be7314569426b2"
},
"downloads": -1,
"filename": "python-vagrant-metadata-0.0.5.tar.gz",
"has_sig": false,
"md5_digest": "6a41885c8eea5d0b4c29d0dbdb260792",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6",
"size": 17589,
"upload_time": "2023-09-21T18:37:01",
"upload_time_iso_8601": "2023-09-21T18:37:01.231470Z",
"url": "https://files.pythonhosted.org/packages/47/c9/23c16e69ea67c5efe423da79deb12b33a115054cf4d372c1e90f4dd59f4c/python-vagrant-metadata-0.0.5.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-09-21 18:37:01",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "LeConTesteur",
"github_project": "python-vagrant-metadata",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"tox": true,
"lcname": "python-vagrant-metadata"
}