{ "info": { "author": "postmarketOS Developers", "author_email": "info@postmarketos.org", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: GNU General Public License v3 (GPLv3)", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6" ], "description": "# pmbootstrap\n[**Introduction**](https://postmarketos.org/blog/2017/05/26/intro/) | [**Security Warning**](https://ollieparanoid.github.io/post/security-warning/) | [**Devices**](https://wiki.postmarketos.org/wiki/Devices)\n\nSophisticated chroot/build/flash tool to develop and install [postmarketOS](https://postmarketos.org).\n\nPackage build scripts live in the [`pmaports`](https://gitlab.com/postmarketOS/pmaports) repository now.\n\n## Requirements\n* 2 GB of RAM recommended for compiling\n* Linux distribution on the host system (`x86`, `x86_64`, or `aarch64`)\n * [Windows subsystem for Linux (WSL)](https://en.wikipedia.org/wiki/Windows_Subsystem_for_Linux) does **not** work! Please use [VirtualBox](https://www.virtualbox.org/) instead.\n * Kernels based on the grsec patchset [do **not** work](https://github.com/postmarketOS/pmbootstrap/issues/107) *(Alpine: use linux-vanilla instead of linux-hardened, Arch: linux-hardened [is not based on grsec](https://www.reddit.com/r/archlinux/comments/68b2jn/linuxhardened_in_community_repo_a_grsecurity/))*\n * On Alpine Linux only: `apk add coreutils procps`\n * [Linux kernel 3.17 or higher](https://postmarketos.org/oldkernel)\n* Python 3.4+\n* OpenSSL\n\n## Usage Examples\nPlease refer to the [postmarketOS wiki](https://wiki.postmarketos.org) for in-depth coverage of topics such as [porting to a new device](https://wiki.postmarketos.org/wiki/Porting_to_a_new_device) or [installation](https://wiki.postmarketos.org/wiki/Installation_guide). The help output (`pmbootstrap -h`) has detailed usage instructions for every command. Read on for some generic examples of what can be done with `pmbootstrap`.\n\n### Installing pmbootstrap\n\n\n### Basics\nInitial setup:\n```\n$ pmbootstrap init\n```\n\nRun this in a second window to see all shell commands that get executed:\n```\n$ pmbootstrap log\n```\n\n### Packages\nBuild `aports/main/hello-world`:\n```\n$ pmbootstrap build hello-world\n```\n\nCross-compile to `armhf`:\n```\n$ pmbootstrap build --arch=armhf hello-world\n```\n\nBuild with source code from local folder:\n```\n$ pmbootstrap build linux-postmarketos-mainline --src=~/code/linux\n```\n\nUpdate checksums:\n```\n$ pmbootstrap checksum hello-world\n```\n\nGenerate a template for a new package:\n```\n$ pmbootstrap newapkbuild \"https://gitlab.com/postmarketOS/osk-sdl/-/archive/0.52/osk-sdl-0.52.tar.bz2\"\n```\n\n### Chroots\nEnter the `armhf` building chroot:\n```\n$ pmbootstrap chroot -b armhf\n```\n\nRun a command inside a chroot:\n```\n$ pmbootstrap chroot -- echo test\n```\n\nSafely delete all chroots:\n```\n$ pmbootstrap zap\n```\n\n### Device Porting Assistance\nAnalyze Android [`boot.img`](https://wiki.postmarketos.org/wiki/Glossary#boot.img) files (also works with recovery OS images like TWRP):\n```\n$ pmbootstrap bootimg_analyze ~/Downloads/twrp-3.2.1-0-fp2.img\n```\n\nCheck kernel configs:\n```\n$ pmbootstrap kconfig check\n```\n\nEdit a kernel config:\n```\n$ pmbootstrap kconfig edit --arch=armhf postmarketos-mainline\n```\n\n### Root File System\nBuild the rootfs:\n```\n$ pmbootstrap install\n```\n\nBuild the rootfs with full disk encryption:\n```\n$ pmbootstrap install --fde\n```\n\nUpdate existing installation on SD card:\n```\n$ pmbootstrap install --sdcard=/dev/mmcblk0 --rsync\n```\n\nRun the image in QEMU:\n```\n$ pmbootstrap qemu --image-size=1G\n```\n\nFlash to the device:\n```\n$ pmbootstrap flasher flash_kernel\n$ pmbootstrap flasher flash_rootfs --partition=userdata\n```\n\nExport the rootfs, kernel, initramfs, `boot.img` etc.:\n```\n$ pmbootstrap export\n```\n\nExtract the initramfs\n```\n$ pmbootstrap initfs extract\n```\n\nBuild and flash Android recovery zip:\n```\n$ pmbootstrap install --android-recovery-zip\n$ pmbootstrap flasher --method=adb sideload\n```\n\n### Repository Maintenance\nList pmaports that don't have a binary package:\n```\n$ pmbootstrap repo_missing --arch=armhf --overview\n```\n\nIncrease the `pkgrel` for each aport where the binary package has outdated dependencies (e.g. after soname bumps):\n```\n$ pmbootstrap pkgrel_bump --auto\n```\n\nGenerate cross-compiler aports based on the latest version from Alpine's aports:\n```\n$ pmbootstrap aportgen binutils-armhf gcc-armhf\n```\n\nManually rebuild package index:\n```\n$ pmbootstrap index\n```\n\nDelete local binary packages without existing aport of same version:\n```\n$ pmbootstrap zap -m\n```\n\n### Debugging\nUse `-v` on any action to get verbose logging:\n```\n$ pmbootstrap -v build hello-world\n```\n\nParse a single APKBUILD and return it as JSON:\n```\n$ pmbootstrap apkbuild_parse hello-world\n```\n\nParse a package from an APKINDEX and return it as JSON:\n```\n$ pmbootstrap apkindex_parse $WORK/cache_apk_x86_64/APKINDEX.8b865e19.tar.gz hello-world\n```\n\n`ccache` statistics:\n```\n$ pmbootstrap stats --arch=armhf\n```\n\n`distccd` log:\n```\n$ pmbootstrap log_distccd\n```\n\n## Development\n### Testing\nInstall `pytest` (via your package manager or pip) and run it inside the pmbootstrap folder.\n\n## License\n[GPLv3](LICENSE)\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://www.postmarketos.org", "keywords": "postmarketos pmbootstrap", "license": "GPLv3", "maintainer": "", "maintainer_email": "", "name": "pmbootstrap", "package_url": "https://pypi.org/project/pmbootstrap/", "platform": "", "project_url": "https://pypi.org/project/pmbootstrap/", "project_urls": { "Homepage": "https://www.postmarketos.org" }, "release_url": "https://pypi.org/project/pmbootstrap/1.9.0/", "requires_dist": [ "argcomplete ; extra == 'completion'" ], "requires_python": ">=3.4", "summary": "A sophisticated chroot / build / flash tool to develop and install postmarketOS", "version": "1.9.0" }, "last_serial": 5941447, "releases": { "1.0.1": [ { "comment_text": "", "digests": { "md5": "13ce095caaecea5a123594b413703c75", "sha256": "e786c413bd39b13a2526c2199281167f4943d9aaff6aec61d60f39f60c69335c" }, "downloads": -1, "filename": "pmbootstrap-1.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "13ce095caaecea5a123594b413703c75", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.4", "size": 183086, "upload_time": "2018-10-09T05:10:56", "url": "https://files.pythonhosted.org/packages/fb/81/5f8ec56781ca7ec276cc70a75e672a861263b423971f23151911eeeec2a4/pmbootstrap-1.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "05fd2546de1320eb559cfbae3a8693c5", "sha256": "1b1ea605488c609aadc7b1b31db40bd33b2a6460b66edebfd968e59772cbc162" }, "downloads": -1, "filename": "pmbootstrap-1.0.1.tar.gz", "has_sig": false, "md5_digest": "05fd2546de1320eb559cfbae3a8693c5", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4", "size": 140361, "upload_time": "2018-10-09T05:10:59", "url": "https://files.pythonhosted.org/packages/47/a0/169144bd79c9c7581c2fe3e4e9d42f6625a190ff8d67b4138fad07a210fd/pmbootstrap-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "a57fb43ca656483a9cccaaf7bc694f2e", "sha256": "847ca571e6f06b821d822d3dc3e4067225ba04cf38d06d441ea83317007f4a8d" }, "downloads": -1, "filename": "pmbootstrap-1.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "a57fb43ca656483a9cccaaf7bc694f2e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.4", "size": 183142, "upload_time": "2018-10-12T07:17:09", "url": "https://files.pythonhosted.org/packages/20/eb/9185df1f67715316e985f1d7cfb4264b6e031a43da1c21cd71bb1a2af9af/pmbootstrap-1.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8bec6cf41b50c7f478900c323997070a", "sha256": "e3f81df299ab4af01e82497cad0f13814855e0e6321d6f3466b00dfa831666ef" }, "downloads": -1, "filename": "pmbootstrap-1.0.2.tar.gz", "has_sig": false, "md5_digest": "8bec6cf41b50c7f478900c323997070a", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4", "size": 140492, "upload_time": "2018-10-12T07:17:12", "url": "https://files.pythonhosted.org/packages/f2/df/0ed8f23226d8e573a415e0139c001a75412d4f865ac7cedc43e0b449d8ed/pmbootstrap-1.0.2.tar.gz" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "9cd49f315d75447359558c867eb2ea93", "sha256": "72559f2df5e918ed73c0f7ccef7c334f629549c48dc3f524e381f86b0b579619" }, "downloads": -1, "filename": "pmbootstrap-1.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "9cd49f315d75447359558c867eb2ea93", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.4", "size": 183352, "upload_time": "2018-11-07T07:19:09", "url": "https://files.pythonhosted.org/packages/f6/9c/1ea8c7a342480bdc8438154ea0c4b61afbdb917115851a40d06e3c58e45a/pmbootstrap-1.0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bd42d667b87a5e07d880cc811c0ca068", "sha256": "7c3bbd02d2735dd256893bb4ba2b74b79fee0bfeaf56db227d94e6242e46f981" }, "downloads": -1, "filename": "pmbootstrap-1.0.3.tar.gz", "has_sig": false, "md5_digest": "bd42d667b87a5e07d880cc811c0ca068", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4", "size": 140675, "upload_time": "2018-11-07T07:19:12", "url": "https://files.pythonhosted.org/packages/08/c4/43d6cbf10f42ad6b038e94ebcce4618fa585b70f6ed19c5b32a600ae9a6f/pmbootstrap-1.0.3.tar.gz" } ], "1.0.4": [ { "comment_text": "", "digests": { "md5": "1afe7a56c7f0fd144d67d52b3882da0f", "sha256": "99b1d3ed0aa8571b3f4518e9f39bb3eb950b9fbed56707f671ae4ca801ffa4cf" }, "downloads": -1, "filename": "pmbootstrap-1.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "1afe7a56c7f0fd144d67d52b3882da0f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.4", "size": 183603, "upload_time": "2018-12-01T01:50:09", "url": "https://files.pythonhosted.org/packages/a9/41/ebfa5759ec88489303d74ca01384c0b0b28cff153b9f915e733db0744bed/pmbootstrap-1.0.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "17501016f7ba23e5b3bd435ee0696d08", "sha256": "4588aa0227f34fe7d049818f955b4ee70b65964f00a0039e962481d0f2533a3c" }, "downloads": -1, "filename": "pmbootstrap-1.0.4.tar.gz", "has_sig": false, "md5_digest": "17501016f7ba23e5b3bd435ee0696d08", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4", "size": 141343, "upload_time": "2018-12-01T01:50:11", "url": "https://files.pythonhosted.org/packages/03/1c/a36c9f0524fc2fd7cd986938982ae366ed31010f3ccf1b820e98f1eb241d/pmbootstrap-1.0.4.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "2b3ae0b8e2b61e136ddaacc4abc6b3c4", "sha256": "94073e7376e5983cf81e27da43168590d772c3b86fdf4c3c420cb7f0afca20e5" }, "downloads": -1, "filename": "pmbootstrap-1.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "2b3ae0b8e2b61e136ddaacc4abc6b3c4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.4", "size": 190853, "upload_time": "2018-12-26T21:18:35", "url": "https://files.pythonhosted.org/packages/0a/53/b9d745ddebd749f60a0896fbe8f401635607e28b2e884e1734f9783d7a42/pmbootstrap-1.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "40103580fc6df6f298dd221b0bdfb032", "sha256": "e8b4ec75d52d45a6076b681970ab70eebbe0ba574efc34400a4ebd4cb6db8a27" }, "downloads": -1, "filename": "pmbootstrap-1.1.0.tar.gz", "has_sig": false, "md5_digest": "40103580fc6df6f298dd221b0bdfb032", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4", "size": 147456, "upload_time": "2018-12-26T21:18:38", "url": "https://files.pythonhosted.org/packages/58/fd/23550a2f27bdd05bad7f4dcdc1d76594eb648d5d0b86598c8bf4ea9dd37b/pmbootstrap-1.1.0.tar.gz" } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "2223954658540f82661621554ee02476", "sha256": "09724f1f6a091f07889dd20ffef50b4cb458485efc7970b1d1e591ccae8e4f23" }, "downloads": -1, "filename": "pmbootstrap-1.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "2223954658540f82661621554ee02476", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.4", "size": 191117, "upload_time": "2019-01-03T07:47:52", "url": "https://files.pythonhosted.org/packages/b0/b7/55af233e0ee0124484414184ef8144f687541c109aa2388cb06dec3e533b/pmbootstrap-1.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a1c1f11d8844508d8dbd0aa4223a58b3", "sha256": "6afc8ccf4a181a9901af6ff51bcb8499e5869a87f7803937f252c0c38f9576bf" }, "downloads": -1, "filename": "pmbootstrap-1.1.1.tar.gz", "has_sig": false, "md5_digest": "a1c1f11d8844508d8dbd0aa4223a58b3", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4", "size": 147640, "upload_time": "2019-01-03T07:47:55", "url": "https://files.pythonhosted.org/packages/c3/d0/1953988793fbcd03b85bcba4451ca92f1ac3c572a4d7aaabc15a37f10a25/pmbootstrap-1.1.1.tar.gz" } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "62c88e9488cb57ea78748b463eeb27b6", "sha256": "88a886ab3aa50b5733d1dbd77ea238fae4463b5be9c8d9c6f64ca80071b33c98" }, "downloads": -1, "filename": "pmbootstrap-1.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "62c88e9488cb57ea78748b463eeb27b6", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.4", "size": 191797, "upload_time": "2019-01-10T21:07:41", "url": "https://files.pythonhosted.org/packages/c7/e7/146141cacc62fc10adc033fb2e396615108129dc7740b0034e8b01db4a2a/pmbootstrap-1.2.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7cd77bf04d0f43a7443109769d5dc897", "sha256": "3dc4b9de6360c50d2a72fb89bf0e0abefdde60f020c9a87153c91b52c7816c31" }, "downloads": -1, "filename": "pmbootstrap-1.2.0.tar.gz", "has_sig": false, "md5_digest": "7cd77bf04d0f43a7443109769d5dc897", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4", "size": 148428, "upload_time": "2019-01-10T21:07:44", "url": "https://files.pythonhosted.org/packages/b8/21/fc8eb8843cbe875abf90a19f99e3366ae4a8e11e70620286db08dfc29392/pmbootstrap-1.2.0.tar.gz" } ], "1.3.0": [ { "comment_text": "", "digests": { "md5": "8977f18b0ad4c654f333120c5c4a3204", "sha256": "b1a249f6489d7ecadda3dbab771aa0a4593cc8359dc906d437f3f389f4267d19" }, "downloads": -1, "filename": "pmbootstrap-1.3.0-py3-none-any.whl", "has_sig": false, "md5_digest": "8977f18b0ad4c654f333120c5c4a3204", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.4", "size": 191963, "upload_time": "2019-01-22T07:57:39", "url": "https://files.pythonhosted.org/packages/c5/53/110b1965975fc29b89430e9c4c599bc3ad8906e4de28d5619401ca134bba/pmbootstrap-1.3.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0de34cdf386bd3827cdaed5bc18b71dc", "sha256": "b52b106bbbbd5db5596e6b44570fd2d5fef95b99f4f384c89a32bf1a04d2f9a3" }, "downloads": -1, "filename": "pmbootstrap-1.3.0.tar.gz", "has_sig": false, "md5_digest": "0de34cdf386bd3827cdaed5bc18b71dc", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4", "size": 148651, "upload_time": "2019-01-22T07:57:43", "url": "https://files.pythonhosted.org/packages/13/87/985898d60ae9f8eb29367d6ce532921681fb5c1f65ddf4d3a130a1559d98/pmbootstrap-1.3.0.tar.gz" } ], "1.4.0": [ { "comment_text": "", "digests": { "md5": "0011cd1df4d8d468048343b4ba84036b", "sha256": "9149391c15a304a38682469207a68bfbc56f9b35d046789fb3fb67ea8efaa131" }, "downloads": -1, "filename": "pmbootstrap-1.4.0-py3-none-any.whl", "has_sig": false, "md5_digest": "0011cd1df4d8d468048343b4ba84036b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.4", "size": 195472, "upload_time": "2019-02-15T15:55:12", "url": "https://files.pythonhosted.org/packages/1b/7e/730c5c6afc069f2105d2c139febda13884f03a08378ae04c95223247528d/pmbootstrap-1.4.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c7a3336ba8bff92612717782417f032d", "sha256": "9612bfb98feabb7b18276ddb96eecaedc0ba195de18e4bd4dd7d4bacfa4b28fc" }, "downloads": -1, "filename": "pmbootstrap-1.4.0.tar.gz", "has_sig": false, "md5_digest": "c7a3336ba8bff92612717782417f032d", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4", "size": 151967, "upload_time": "2019-02-15T15:55:14", "url": "https://files.pythonhosted.org/packages/2a/db/a0a9837cce6e0a026ec32a46dc81e86a7ac932aa25ab0eb7e7cab61a03b1/pmbootstrap-1.4.0.tar.gz" } ], "1.5.0": [ { "comment_text": "", "digests": { "md5": "3935f86a105fa8ece024176b107a5bab", "sha256": "aaa6f90f97b983000b8bad343e63fd98b8faa1f30267bc3b50c48da105f1539e" }, "downloads": -1, "filename": "pmbootstrap-1.5.0-py3-none-any.whl", "has_sig": false, "md5_digest": "3935f86a105fa8ece024176b107a5bab", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.4", "size": 196231, "upload_time": "2019-03-03T09:44:10", "url": "https://files.pythonhosted.org/packages/c0/4c/099101ea2bb3afd4c15961fec44bb07c9af9c3fb9f9d24de99e1fabcdb88/pmbootstrap-1.5.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "76c51bd105b777720862ec2b5eab41fc", "sha256": "f044bf60e93f91192c8743fd0082b311e6ad6462fb703f183afb481d803e4d3f" }, "downloads": -1, "filename": "pmbootstrap-1.5.0.tar.gz", "has_sig": false, "md5_digest": "76c51bd105b777720862ec2b5eab41fc", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4", "size": 152827, "upload_time": "2019-03-03T09:44:13", "url": "https://files.pythonhosted.org/packages/c8/ca/b731f4a4b61b918c0b5725cf499312bb77252f0b115587d1c474521422c1/pmbootstrap-1.5.0.tar.gz" } ], "1.5.1": [ { "comment_text": "", "digests": { "md5": "ff909643d5febf94f8dc02d609c3ef54", "sha256": "41bcebfd81bd45535ea5b36325ca6ed864540b5eb33b8bb9991550c941f74f69" }, "downloads": -1, "filename": "pmbootstrap-1.5.1-py3-none-any.whl", "has_sig": false, "md5_digest": "ff909643d5febf94f8dc02d609c3ef54", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.4", "size": 196546, "upload_time": "2019-03-10T01:44:36", "url": "https://files.pythonhosted.org/packages/3b/df/f9736b7218776885e7fb8fd1ec73594a7cd564af63d20c6290b869646433/pmbootstrap-1.5.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bbfff5993899dd016d46a885982e1a7e", "sha256": "c330f1681ff30b01305f40568d0d7dae01deb700dea8366cc425b8677aea180c" }, "downloads": -1, "filename": "pmbootstrap-1.5.1.tar.gz", "has_sig": false, "md5_digest": "bbfff5993899dd016d46a885982e1a7e", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4", "size": 153264, "upload_time": "2019-03-10T01:44:38", "url": "https://files.pythonhosted.org/packages/ed/73/32c8d35f551dfb29018ffb9980d7ef08252f343809b6fb810a0febc9bc09/pmbootstrap-1.5.1.tar.gz" } ], "1.6.0": [ { "comment_text": "", "digests": { "md5": "36f7d3fdf5de639a73565338a0f5429c", "sha256": "655370a26131bca3cd981c5eaca891ec480bc818967c746d28b087798ca0c751" }, "downloads": -1, "filename": "pmbootstrap-1.6.0-py3-none-any.whl", "has_sig": false, "md5_digest": "36f7d3fdf5de639a73565338a0f5429c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.4", "size": 199363, "upload_time": "2019-04-24T14:07:13", "url": "https://files.pythonhosted.org/packages/8a/84/86506fab46408826cb9fc27d456d06173d4305dffa4c27f20bd0c6826b86/pmbootstrap-1.6.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "055166c9e30364ccc2628cebd1736cad", "sha256": "772d376dd5160716db1fee2928121c9668657612f9988859a0eaf27ca99ebd8b" }, "downloads": -1, "filename": "pmbootstrap-1.6.0.tar.gz", "has_sig": false, "md5_digest": "055166c9e30364ccc2628cebd1736cad", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4", "size": 154802, "upload_time": "2019-04-24T14:07:16", "url": "https://files.pythonhosted.org/packages/b2/1f/4ce8cf70430e01fff9ed688d82e6f79171b3d03174abaef0b04edbe69bff/pmbootstrap-1.6.0.tar.gz" } ], "1.6.1": [ { "comment_text": "", "digests": { "md5": "32adab61ff260c5325fe583e24d21b3a", "sha256": "8bd8aab0032f3e2d42cdf355da1c7c6d893850f38cb4712a7b35fec6663c3da4" }, "downloads": -1, "filename": "pmbootstrap-1.6.1-py3-none-any.whl", "has_sig": false, "md5_digest": "32adab61ff260c5325fe583e24d21b3a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.4", "size": 199527, "upload_time": "2019-05-19T17:55:21", "url": "https://files.pythonhosted.org/packages/b3/58/9dc1e645f5c52df4f731e009c14d0dd662879e2384057f16f552a16cdd3d/pmbootstrap-1.6.1-py3-none-any.whl" } ], "1.7.0": [ { "comment_text": "", "digests": { "md5": "cbdcfac35c81e60af0ffdb8f46cf1101", "sha256": "44f2d6cc478502ca19ce4275c48a23ae44517021a8b8fc37ca5db652086c5900" }, "downloads": -1, "filename": "pmbootstrap-1.7.0-py3-none-any.whl", "has_sig": false, "md5_digest": "cbdcfac35c81e60af0ffdb8f46cf1101", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.4", "size": 200506, "upload_time": "2019-07-05T19:13:49", "url": "https://files.pythonhosted.org/packages/a9/d0/3d27eff92341856fd0e25892ea53113300d269f65943610fbf3385a3e4bf/pmbootstrap-1.7.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "852f21f202d13df7ecf0282b32964478", "sha256": "b2191e1ed75917b8f4c436f265a3f00fdadfa71d34f30967de9eb41f2fb9a900" }, "downloads": -1, "filename": "pmbootstrap-1.7.0.tar.gz", "has_sig": false, "md5_digest": "852f21f202d13df7ecf0282b32964478", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4", "size": 156047, "upload_time": "2019-07-05T19:13:51", "url": "https://files.pythonhosted.org/packages/a9/07/c7f440b0dfdb5b165f8b078d2aab0fb896c4439dd15d68e4c2ce30bd5b1c/pmbootstrap-1.7.0.tar.gz" } ], "1.8.0": [ { "comment_text": "", "digests": { "md5": "248226c45ba1dd97c2e3eeece01e321e", "sha256": "09bd12b60a8d2d69ccd01fd53da1d1b7fbe21e87a9c20be2cd98e2003e0897b5" }, "downloads": -1, "filename": "pmbootstrap-1.8.0-py3-none-any.whl", "has_sig": false, "md5_digest": "248226c45ba1dd97c2e3eeece01e321e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.4", "size": 201299, "upload_time": "2019-09-16T20:20:03", "url": "https://files.pythonhosted.org/packages/f0/99/43817059e573467388f3a83ca26c0df0ebeeb92f2088fe23dc07abc53e7f/pmbootstrap-1.8.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ec197b2d5872a838d06d6b401131bf7c", "sha256": "04b34f7ce10abf3c8c8604d9adca2683c1af5cad85b90fac6214e904bef7c1b4" }, "downloads": -1, "filename": "pmbootstrap-1.8.0.tar.gz", "has_sig": false, "md5_digest": "ec197b2d5872a838d06d6b401131bf7c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4", "size": 156940, "upload_time": "2019-09-16T20:20:05", "url": "https://files.pythonhosted.org/packages/f5/a5/0b89ee11394f96471c4bcc405978285377770c42a01d16bf0842eadbeb3e/pmbootstrap-1.8.0.tar.gz" } ], "1.8.1": [ { "comment_text": "", "digests": { "md5": "ea1fccf0168a25ef56d33af88649232e", "sha256": "4fd25e6691b373a2f3f5d4dcc37cc10f9d6d409e89b555b8bb099b90a770a664" }, "downloads": -1, "filename": "pmbootstrap-1.8.1-py3-none-any.whl", "has_sig": false, "md5_digest": "ea1fccf0168a25ef56d33af88649232e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.4", "size": 201209, "upload_time": "2019-09-18T20:07:59", "url": "https://files.pythonhosted.org/packages/f4/d4/242b5052a6aa674dd80a43c3b322481046bf9f72822277f5db1e0f4fb16c/pmbootstrap-1.8.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "902bb553a8145f407d042296b486856b", "sha256": "db290455b2a8b8992a238400fd20648bc6a976c4ad90f8771b5bd2911d91dfbf" }, "downloads": -1, "filename": "pmbootstrap-1.8.1.tar.gz", "has_sig": false, "md5_digest": "902bb553a8145f407d042296b486856b", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4", "size": 156285, "upload_time": "2019-09-18T20:08:02", "url": "https://files.pythonhosted.org/packages/c3/1e/808f5cb912453320cfb79cbef591447e76778598b6c01d2f84b3b7807087/pmbootstrap-1.8.1.tar.gz" } ], "1.8.2": [ { "comment_text": "", "digests": { "md5": "423f5e3b79021743095d1038dd268be0", "sha256": "d951db9646d5eec4fd2e667401714d1bdf218d35ee616b70f0bcf21c7663c728" }, "downloads": -1, "filename": "pmbootstrap-1.8.2-py3-none-any.whl", "has_sig": false, "md5_digest": "423f5e3b79021743095d1038dd268be0", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.4", "size": 201286, "upload_time": "2019-09-26T21:12:57", "url": "https://files.pythonhosted.org/packages/50/50/caf4be5ef942fdb62c4cc15a46d22265213be62e678bf3a5134a2df00e7c/pmbootstrap-1.8.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "23088260bc13da9c19573b78d16eaf88", "sha256": "165c30e6d6e4ea9f0851cde181fed729ad56b7090866e65b8de395884bfa81a9" }, "downloads": -1, "filename": "pmbootstrap-1.8.2.tar.gz", "has_sig": false, "md5_digest": "23088260bc13da9c19573b78d16eaf88", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4", "size": 156383, "upload_time": "2019-09-26T21:12:59", "url": "https://files.pythonhosted.org/packages/24/b6/44f8371f82decf2f9a0d190f6f4498d24815dc53526a3bb1a458157ef117/pmbootstrap-1.8.2.tar.gz" } ], "1.8.3": [ { "comment_text": "", "digests": { "md5": "9d06e2c1baf5b2b903d53455c6aa4486", "sha256": "b13d058155f269beb3a8b29151ca4897492bdb39bf5d4348061162046a054c35" }, "downloads": -1, "filename": "pmbootstrap-1.8.3-py3-none-any.whl", "has_sig": false, "md5_digest": "9d06e2c1baf5b2b903d53455c6aa4486", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.4", "size": 201293, "upload_time": "2019-09-29T22:40:13", "url": "https://files.pythonhosted.org/packages/fa/37/2a34dd30c619b2da9caf87ad43a1474cc19ba36e0b1d6947758831de91a5/pmbootstrap-1.8.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b0ff293bcdce7713763c44727b174a19", "sha256": "21199a801157dbfd13bc7b908475df3a55fc312fe027a166081056ad1a6f4b55" }, "downloads": -1, "filename": "pmbootstrap-1.8.3.tar.gz", "has_sig": false, "md5_digest": "b0ff293bcdce7713763c44727b174a19", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4", "size": 156393, "upload_time": "2019-09-29T22:40:17", "url": "https://files.pythonhosted.org/packages/9d/e8/b0ec67f0445a5a1631c7042058be2cb063ed30317426ed122b0023a0cfec/pmbootstrap-1.8.3.tar.gz" } ], "1.9.0": [ { "comment_text": "", "digests": { "md5": "827a441e4a350a187cbe2cdbf03d85d7", "sha256": "84e86abd0374526661fa70eb58dc0f78d777ddc8a7bb0038d8e01a0023d7a706" }, "downloads": -1, "filename": "pmbootstrap-1.9.0-py3-none-any.whl", "has_sig": false, "md5_digest": "827a441e4a350a187cbe2cdbf03d85d7", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.4", "size": 201047, "upload_time": "2019-10-07T21:01:18", "url": "https://files.pythonhosted.org/packages/8d/65/3d0c20d3f6e4ac8e08aa008c73d1f1fb19eca9e7126cea72e229e2180ac5/pmbootstrap-1.9.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5844929cf40a7fbdc6b9736026668e73", "sha256": "1144e8a06d92d7a39c0140429a39922b32b597c1bca6a2d693d3e0e6052d3571" }, "downloads": -1, "filename": "pmbootstrap-1.9.0.tar.gz", "has_sig": false, "md5_digest": "5844929cf40a7fbdc6b9736026668e73", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4", "size": 156077, "upload_time": "2019-10-07T21:01:21", "url": "https://files.pythonhosted.org/packages/2a/ee/dc4875a8b6d43b25c8a651f0206dcca0967763f5ba34f9d93c294c725a40/pmbootstrap-1.9.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "827a441e4a350a187cbe2cdbf03d85d7", "sha256": "84e86abd0374526661fa70eb58dc0f78d777ddc8a7bb0038d8e01a0023d7a706" }, "downloads": -1, "filename": "pmbootstrap-1.9.0-py3-none-any.whl", "has_sig": false, "md5_digest": "827a441e4a350a187cbe2cdbf03d85d7", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.4", "size": 201047, "upload_time": "2019-10-07T21:01:18", "url": "https://files.pythonhosted.org/packages/8d/65/3d0c20d3f6e4ac8e08aa008c73d1f1fb19eca9e7126cea72e229e2180ac5/pmbootstrap-1.9.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5844929cf40a7fbdc6b9736026668e73", "sha256": "1144e8a06d92d7a39c0140429a39922b32b597c1bca6a2d693d3e0e6052d3571" }, "downloads": -1, "filename": "pmbootstrap-1.9.0.tar.gz", "has_sig": false, "md5_digest": "5844929cf40a7fbdc6b9736026668e73", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4", "size": 156077, "upload_time": "2019-10-07T21:01:21", "url": "https://files.pythonhosted.org/packages/2a/ee/dc4875a8b6d43b25c8a651f0206dcca0967763f5ba34f9d93c294c725a40/pmbootstrap-1.9.0.tar.gz" } ] }