{ "info": { "author": "Simon Guigui", "author_email": "", "bugtrack_url": null, "classifiers": [ "Development Status :: 6 - Mature", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Topic :: Utilities" ], "description": "## wheel2deb: python wheel to debian package converter\n\n[![Build Status](https://travis-ci.org/parkoview/wheel2deb.svg?branch=master)](https://travis-ci.org/parkoview/wheel2deb)\n[![Coverage Status](https://coveralls.io/repos/github/parkoview/wheel2deb/badge.svg?branch=master)](https://coveralls.io/github/parkoview/wheel2deb?branch=master)\n[![Codacy Badge](https://api.codacy.com/project/badge/Grade/581a27ffb7cc4907b52e27430abdc26d)](https://www.codacy.com/app/simon-parkoview/wheel2deb?utm_source=github.com&utm_medium=referral&utm_content=parkoview/wheel2deb&utm_campaign=Badge_Grade)\n\nwheel2deb basically takes a list of wheels as input and produces a list of debian binary CPython packages (those prefixed with python- or python3-).\n\n[![asciicast](https://asciinema.org/a/249779.svg)](https://asciinema.org/a/249779)\n\n## Quick Example\n\nThe following shows how to convert numpy and pytest, along with their dependencies into a list of debian packages:\n\n```sh\n# Download (and build if needed) pytest, numpy and their requirements\npip3 wheel pytest numpy\n# Convert all wheels to debian source packages\nwheel2deb --map attrs=attr\n# Call dpkg-buildpackages for each source package\nwheel2deb build\nls -l output/*.deb\n# Install generated packages\ndpkg -i output/*.deb\n# Run pytest on numpy\npython3 -c \"import numpy; numpy.test()\"\n```\n\n## Project scope\n\n- Python 2.7 and 3\n- CPython only for now\n- support for non pure python wheels\n- support debian architectures all, armhf, amd64, i686\n- tested on jessie, stretch, buster so far, ubuntu should also work\n\n## Requirements\n\n`wheel2deb` uses python3-apt to search for debian packages, dpkg-shlibdeps to calculate shared library dependencies and apt-file to search packages providing shared library dependencies. `wheel2deb build` requires the usual tools to build a debian package:\n```sh\napt update\napt install python3-apt apt-file dpkg-dev fakeroot build-essential devscripts debhelper\napt-file update\n```\n\nIf you want to cross build packages for ARM, you will also need to install `binutils-arm-linux-gnueabihf`.\n\nConverting pure python wheels, don't actually requires apt-file and dpkg-dev.\n\nKeep in mind that you should only convert wheels that have been built for your distribution and architecture. wheel2deb will not warn you about ABI compatibility issues.\n\n## Installation\n\nwheel2deb is available from [pypi](https://pypi.org/project/wheel2deb/):\n\n`pip install wheel2deb`\n\nDocker images for jessie, stretch and buster are also available from the [docker hub](https://cloud.docker.com/u/parkoview/repository/docker/parkoview/wheel2deb):\n\n`docker run -ti -v $(pwd):/data wheel2deb:stretch`\n\n## Features\n\n- guess debian package names from wheel names and search for them in the cache\n- search packages providing shared library dependencies for wheels with native code\n- handle entrypoints and scripts (those will be installed in /usr/bin with a proper shebang)\n- try to locate licence files and to generate a debian/copyright file\n\n## Options\n\nUse `wheel2deb --help` and `wheel2deb build --help` to check all supported options\n\n| Option | Description |\n| ------------------------- | --------------------------------------------------------------------------------------------------- |\n| -v | Enable debug logs. |\n| -x | List of search paths where to look for python wheels. Defaults to current directory. Not recursive. |\n| -o | Output directory where debian source packages will be produced. Defaults to ./output |\n| -i | List of wheel names to convert. By default all found wheels are included. |\n| --python-version | cpython version on the target debian distribution. Defaults to platform version (example: 3.4). |\n| --map | list of string pairs to explicitely map python dist names to debian package names. For instance: \"--map foo:bar attrs:attr\" will tell wheel2deb to map foo to python-bar and attrs to python-attr. |\n| --depends | List of additional debian dependencies. |\n| --epoch | Debian package epoch. Defaults to 0. |\n| --revision | Debian package revision. Defaults to 1. |\n| --ignore-entry-points | Don't include the wheel entrypoints in the debian package. |\n| --ignore-upstream-version | Ignore version specifiers from wheel requirements. For instance, if foo requires bar>=3.0.0, using this option will produce a debian package simply depending on bar instead of \"bar (>= 3.0.0)\". |\n\n## Bugs/Requests\n\nPlease use the [GitHub issue tracker]() to submit bugs or request features.\n\n## License\n\nCopyright Parkoview SA 2019.\n\nDistributed under the terms of the [MIT](https://github.com/parkoview/wheel2deb/blob/master/LICENSE) license, wheel2deb is free and open source software.\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/parkoview/wheel2deb/", "keywords": "debian,package,converter", "license": "MIT license", "maintainer": "", "maintainer_email": "", "name": "wheel2deb", "package_url": "https://pypi.org/project/wheel2deb/", "platform": "linux", "project_url": "https://pypi.org/project/wheel2deb/", "project_urls": { "Homepage": "https://github.com/parkoview/wheel2deb/", "Source": "https://github.com/parkoview/wheel2deb", "Tracker": "https://github.com/parkoview/wheel2deb/issues" }, "release_url": "https://pypi.org/project/wheel2deb/0.4.0/", "requires_dist": [ "attrs (>=17)", "colorama", "jinja2", "packaging", "pkginfo", "pyyaml", "setuptools", "wheel" ], "requires_python": "!=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "summary": "wheel2deb: python wheel to debian package converter", "version": "0.4.0" }, "last_serial": 5589207, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "12995386c88bd5662e929a912aad1380", "sha256": "e684b8076d79f48c7221e7e166828ebe31de919cd2c7efcf3ec7c4bcce4f9317" }, "downloads": -1, "filename": "wheel2deb-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "12995386c88bd5662e929a912aad1380", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": "!=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 22118, "upload_time": "2019-06-06T15:40:18", "url": "https://files.pythonhosted.org/packages/0d/7a/9999351156330027d90e7d6254e31600f4845f64c221bda9bcbf16f3896d/wheel2deb-0.1.0-py3-none-any.whl" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "5e02cc626cb1c6d349765eb7dec1ecf2", "sha256": "a36b2fd6a9016fe966bc1ec7a4d62f2a8d6d6e42cfabacf8e43bca867102aaae" }, "downloads": -1, "filename": "wheel2deb-0.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "5e02cc626cb1c6d349765eb7dec1ecf2", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": "!=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 22931, "upload_time": "2019-06-14T16:02:04", "url": "https://files.pythonhosted.org/packages/6f/15/edede695222e7deea3e9d7fda55abe4a8b0a511554ef44e496585c8e01b1/wheel2deb-0.2.0-py3-none-any.whl" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "288eb56679a12e89a7b184b751cf7b96", "sha256": "f9410eebc748cb4ce93a4427db747160929ef0368c2810788adff45e0e2f13c6" }, "downloads": -1, "filename": "wheel2deb-0.3.1-py3-none-any.whl", "has_sig": false, "md5_digest": "288eb56679a12e89a7b184b751cf7b96", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": "!=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 22809, "upload_time": "2019-07-17T12:21:27", "url": "https://files.pythonhosted.org/packages/58/d0/081218ff5eae768a0a9d500c10f7f95ca3fb87ef07f545c72d5ec6ea5fec/wheel2deb-0.3.1-py3-none-any.whl" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "6b4eb61cd76ef772db24327df123bfe3", "sha256": "8c008fa51874c8ca713185ca975a1aa0d8c1ad46ef7c63bb77f18b77d40c6581" }, "downloads": -1, "filename": "wheel2deb-0.4.0-py3-none-any.whl", "has_sig": false, "md5_digest": "6b4eb61cd76ef772db24327df123bfe3", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": "!=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 23463, "upload_time": "2019-07-26T14:01:18", "url": "https://files.pythonhosted.org/packages/e3/37/1d317aa8aa37aa6c0cc5c8ebc8e00dedc88aed2f9b1b87c433e80cf1fb72/wheel2deb-0.4.0-py3-none-any.whl" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "6b4eb61cd76ef772db24327df123bfe3", "sha256": "8c008fa51874c8ca713185ca975a1aa0d8c1ad46ef7c63bb77f18b77d40c6581" }, "downloads": -1, "filename": "wheel2deb-0.4.0-py3-none-any.whl", "has_sig": false, "md5_digest": "6b4eb61cd76ef772db24327df123bfe3", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": "!=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 23463, "upload_time": "2019-07-26T14:01:18", "url": "https://files.pythonhosted.org/packages/e3/37/1d317aa8aa37aa6c0cc5c8ebc8e00dedc88aed2f9b1b87c433e80cf1fb72/wheel2deb-0.4.0-py3-none-any.whl" } ] }