{ "info": { "author": "Jeff Dileo", "author_email": "jeff.dileo@nccgroup.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: Python" ], "description": "# `uninstallable`: The Uninstallable Python Wheel!\n\n_If you got here from one of the following errors, the package you tried to\ninstall is not intended for the platform you tried to install it on. Good day!_\n\n```\n$ pip install --user ...\n...\nCollecting uninstallable>0; platform_system == \"...\" (from ...)\n Downloading ...\nCollecting pywin32>=1.0; platform_system == \"Linux\" (from uninstallable>0; platform_system == \"...\"->...)\n Could not find a version that satisfies the requirement pywin32>=1.0; platform_system == \"Linux\" (from uninstallable>0; platform_system == \"Linux\"->...) (from versions: )\nNo matching distribution found for pywin32>=1.0; platform_system == \"Linux\" (from uninstallable>0; platform_system == \"Linux\"->...)\n```\n\n```\n$ pip install --user ...\n...\nCollecting uninstallable>0; platform_system != \"...\" (from ...)\n Could not find a version that satisfies the requirement uninstallable>0; platform_system != \"...\" (from ...) (from versions: )\nNo matching distribution found for uninstallable>0; platform_system != \"...\" (from ...)\n```\n\n## Why?????????\n\nThe purpose of this package is to get around a limitation of the Python Wheel\nspecification. It exists to prevent the successful installation of pure Python\nWheels on platforms not compatible with one's package.\n\n## How?\n\nPyPI doesn't allow uploading Python Wheels with unrecognized platform types, so\nto force a conflict:\n\n* We build only for the `manylinux1_x86_64` platform\n* We have `setup.py` `install_requires=` a Linux-incompatible package when the\n platform is Linux\n\nThis results in either a failure to locate an applicable `uninstallable`\npackage file, or a realization that the package has a dependency that cannot be\ninstalled.\n\n## Building\n\n```bash\npython setup.py bdist_wheel -p manylinux1_x86_64\n```\n\n## Usage\n\n```python\nfrom setuptools import setup\n\nsetup(\n name='...',\n version='1.0.0',\n description='...',\n long_description=open('README.md').read(),\n long_description_content_type='text/markdown',\n author='...',\n author_email='...',\n url='...',\n license='...',\n\n python_requires='...',\n install_requires=[\n ...\n 'uninstallable > 0;platform_system!=\"Linux\"',\n ],\n ...\n```\n\n## Features\n\n* None!\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/nccgroup/uninstallable", "keywords": "uninstallable", "license": "BSD (2 Clause)", "maintainer": "", "maintainer_email": "", "name": "uninstallable", "package_url": "https://pypi.org/project/uninstallable/", "platform": "", "project_url": "https://pypi.org/project/uninstallable/", "project_urls": { "Homepage": "https://github.com/nccgroup/uninstallable" }, "release_url": "https://pypi.org/project/uninstallable/0.9.4/", "requires_dist": [ "pywin32 (==224) ; platform_system == \"Linux\"" ], "requires_python": "", "summary": "A purposefully uninstallable package.", "version": "0.9.4" }, "last_serial": 4826348, "releases": { "0.9.3": [ { "comment_text": "", "digests": { "md5": "af3eeb62a14ed9308dd399eea006f292", "sha256": "9191b62e9a0af07dfacf3e3ef40ba0de904f37bc6f87e901e509679d3b95709f" }, "downloads": -1, "filename": "uninstallable-0.9.3-py2.py3-none-manylinux1_x86_64.whl", "has_sig": false, "md5_digest": "af3eeb62a14ed9308dd399eea006f292", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 4954, "upload_time": "2019-02-01T07:26:19", "url": "https://files.pythonhosted.org/packages/65/70/d9fa6117601d51936d3b611ada33387752cd2dc2f8302b1676e69739c1d5/uninstallable-0.9.3-py2.py3-none-manylinux1_x86_64.whl" } ], "0.9.4": [ { "comment_text": "", "digests": { "md5": "54e40e8b1ac58bff71a6b8042f5d20a4", "sha256": "002ff29a35e65bf0102213145bb372aa930cbd7de4d594e12ce9e95f061948d5" }, "downloads": -1, "filename": "uninstallable-0.9.4-py2.py3-none-manylinux1_x86_64.whl", "has_sig": false, "md5_digest": "54e40e8b1ac58bff71a6b8042f5d20a4", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 3170, "upload_time": "2019-02-15T17:40:46", "url": "https://files.pythonhosted.org/packages/6c/1b/95ff1827e7fffb34ee1b14edd6783c9d367598338888169f01b7fdc20b0e/uninstallable-0.9.4-py2.py3-none-manylinux1_x86_64.whl" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "54e40e8b1ac58bff71a6b8042f5d20a4", "sha256": "002ff29a35e65bf0102213145bb372aa930cbd7de4d594e12ce9e95f061948d5" }, "downloads": -1, "filename": "uninstallable-0.9.4-py2.py3-none-manylinux1_x86_64.whl", "has_sig": false, "md5_digest": "54e40e8b1ac58bff71a6b8042f5d20a4", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 3170, "upload_time": "2019-02-15T17:40:46", "url": "https://files.pythonhosted.org/packages/6c/1b/95ff1827e7fffb34ee1b14edd6783c9d367598338888169f01b7fdc20b0e/uninstallable-0.9.4-py2.py3-none-manylinux1_x86_64.whl" } ] }