Wagon
Nir Cohen @ Gigaspaces
nir0s@github
@thinkops
Wheel Format
-
PEP427 (1.0)
-
PEP491 (v1.9)
Flask-0.10.1-py2-none-any.whl
MarkupSafe-0.23-cp27-none-linux_x86_64.whl
What if you want to package with dependencies?
What is wagon?
-
Creates and installs wheel based archives including dependencies.
-
Can install "offline".
-
Provides metadata to allow making installation decisions.
pip install wagon
Create
wagon create -s flask==0.10.1
Creating archive for flask==0.10.1...
Package name: flask
Package version: 0.10.1
Downloading Wheels for flask==0.10.1...
Creating archive:
./flask-0.10.1-py27-none-linux_x86_64-Ubuntu-trusty.tar.gz...
Process complete!
You can also...
-
Create from GitHub URL
-
Create from local path
-
Exclude packages
-
Process req files
-
Create zip/tar.gz
-
Pass arbitrary pip args
Install
wagon install -s flask-0.10.1-py27-none-linux_x86_64-Ubuntu-trusty.tar.gz
INFO - Installing flask-0.10.1-py27-none-linux_x86_64-Ubuntu-trusty.tar.gz
INFO - Installing flask...
pip freeze
Flask==0.10.1
itsdangerous==0.24
Jinja2==2.8
MarkupSafe==0.23
Werkzeug==0.10.4
wheel==0.24.0
You can also...
-
Install from a URL
-
Install to a virtualenv
-
Upgrade
-
Pass arbitrary pip args.
Validate
wagon validate -s flask-0.10.1-py27-none-linux_x86_64-Ubuntu-trusty.tar.gz
INFO - Validating flask-0.10.1-py27-none-linux_x86_64-Ubuntu-trusty.tar.gz
INFO - Installing flask-0.10.1-py27-none-linux_x86_64-Ubuntu-trusty.tar.gz
INFO - Installing flask...
INFO - Validation Passed!
Metadata
wagon showmeta -s flask-0.10.1-py27-none-linux_x86_64-Ubuntu-trusty.tar.gz
{
"archive_name": "flask-0.10.1-py27-none-linux_x86_64-Ubuntu-trusty.tar.gz",
"build_server_os_properties": {
"distribution": "ubuntu",
"distribution_release": "trusty",
"distribution_version": "14.04"
},
"excluded_wheels": [],
"package_name": "flask",
"package_source": "flask==0.10.1",
"package_version": "0.10.1",
"supported_platform": "linux_x86_64",
"supported_python_versions": [
"py27"
],
"wheels": [
"Flask-0.10.1-py2-none-any.whl",
"Werkzeug-0.10.4-py2.py3-none-any.whl",
"MarkupSafe-0.23-cp27-none-linux_x86_64.whl",
"Jinja2-2.8-py2.py3-none-any.whl",
"itsdangerous-0.24-py2-none-any.whl"
]
}
Platforms
-
Currently supports Python 2.6.x and 2.7.x.
-
Supports linux/win/osx.
Naming
-
Tries to follow PEP427
tox-2.0.0-py2.py3-none-any.whl
->
tox-2.0.0-py2.py3-none-any-none-none.wgn
Linux Caveats
(stupid ABI)
Project Page
https://github.com/cloudify-cosmo/wagon
Wagon
By Nir Cohen
Wagon
- 1,563